2008-10-22 20 views
16

El sitio web comenzó su vida originalmente bajo IIS 6 y el sitio funcionó muy bien allí. Ahora, después de mudarme a un nuevo servidor ejecutando W2K8S, todo excepto la entrega de correo desde el sitio web ahora funciona de maravilla bajo IIS 7.Configuración de SMTP bajo IIS 7 en Windows Server 2008

Investigado brevemente en la Web para ver si alguien tenía una buena resolución, pero no sirvió ... Ni siquiera un rayo de esperanza en el propio sitio de soporte de Microsoft.

Aquí están los pasos dados hasta ahora en el nuevo cuadro de W2K8S:

  • añadido la función para SMTP bajo el Administrador del servidor
  • activados de correo electrónico SMTP para el propio sitio en IIS 7 Manager para entregar correo electrónico al servidor local del servidor SMTP, sin éxito
  • Habilitado el correo electrónico SMTP para el sitio raíz en el Administrador de IIS 7 (no estoy seguro si debe estar activado para habilitar los sitios) para entregar el correo electrónico al servidor local del servidor SMTP, infructuoso

Después de fallar en esas configuraciones básicas, quería asegurarme de poder hablar desde/hacia el servidor en el puerto 25. Y puedo con éxito telnet desde/hacia el servidor en cuestión a un correo electrónico de prueba en el puerto 25 obtener un HELO, etc. Así que no creo que sea un problema de configuración de firewall.

La prueba de configuración de IIS 7 se realizó con autenticación anónima y de Windows. De todos modos, no hubo suerte.

Archivo de configuración Web revisado manualmente y refleja la entrada correcta para que el servidor use el host local.

leer el manual y sin suerte allí tampoco ...: -/

+0

Pasé por la configuración de la herramienta de administración de IIS 6 para configurar el acceso SMTP y ahora funciona, así que supongo que solo necesitamos encontrar el material equivalente en la herramienta de administración de IIS 7 ... Microsoft, tengo que 'amarlos'. No. – user30432

+2

¿Esto no pertenece a serverfault? –

+1

Ah ok, se lo solicitó hace 9 meses ... tiene sentido –

Respuesta

2

Me enfrenté al mismo problema.

me encontré con este enlace http://www.frontpagewebmaster.com/m-215289/tm.htm

y yo era capaz de resolver el problema. Ir a la última publicación de este enlace.

En mi caso resuelvo el problema otorgando derechos al usuario "NETWORK SERVICE" a la carpeta "Pickup".

la esperanza que esto podría ayudar ....

+0

Además de esto, es posible que deba cambiar la identidad de su grupo de aplicaciones a NetworkService (a través de configuraciones avanzadas) – robmzd

+3

Este enlace está roto – Phil

0

¿Ha comprobado para ver si el servicio SMTP está aceptando electrónico para el relé de localhost? Para hacer esto, haga un telnet desde la máquina en cuestión al servidor SMTP local y use los comandos SMTP para enviar un mensaje de prueba. El servicio SMTP es muy exigente con el formato de comandos, por lo que deberá tener cuidado al ingresar los comandos (es decir, no use el retroceso para corregir los errores tipográficos).

0

¿Es esto, por casualidad, una antigua aplicación ASP "clásica" que se basa en CDONTS para enviar correo?

Si es así, ¿podría ser útil alguna de these links?

Editado: He respondido antes de notar la nota en la publicación original. Indiferencia...

0

Me encontré con esta publicación cuando investigando la ejecución de SMTP en mi aplicación ASP.Net estamos migrando de IIS6 a IIS7. Lo que encontré fue que no teníamos que configurar el servidor SMTP, simplemente configurar el correo electrónico SMTP era suficiente, ¡con el beneficio adicional de NO tener las preocupaciones de seguridad de retransmisión de SMTP a través del servidor web!

así que si no necesita que su servidor web realmente haga el enrutamiento SMTP, no tiene que configurarlo en IIS7.

1

OK, a la publicación que decía "otorgar al USUARIO DE RED los derechos de escritura de la carpeta de recogida" finalmente funciona. Lo que hice fue:

  1. Es necesario utilizar un "host inteligente" menos que esté ejecutando el servidor del intercambio. Estoy usando una cuenta de Gmail, Gmail permite el reenvío SMTP.

  2. Puede usar la autenticación de Windows para seguridad en el servidor SMTP y la configuración de configuración IIS7.

  3. primer paso, establezca el método de entrega = "red" en su página web, y obtenga su host inteligente configurado independientemente del servidor SMTP.

    SmtpClient client = new SmtpClient("smtp.gmail.com", 587); 
    client.DeliveryMethod = SmtpDeliveryMethod.Network; 
    client.UseDefaultCredentials = false; // use your smart host login client.Credentials = new NetworkCredential("[email protected]", "password"); 
    client.EnableSsl = true; 
    

    Esto le enviará el correo electrónico directamente y omitirá su servidor SMTP.

  4. Segundo paso, una vez que tenga eso funcionando, escriba una aplicación de muestra de Windows para usar su servidor SMTP independientemente de su página web y haga que funcione.

    SmtpClient client = new SmtpClient("your server ip", 25); 
    client.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis; 
    client.EnableSsl = false; // you can't use ssl with a pickup folder 
    client.UseDefaultCredentials = true; // use windows credentials 
    

    Esto omitirá su página web y se asegurará de que tenga su servidor SMTP configurado correctamente.

  5. Finalmente, haga funcionar su página web, configurando el uso compartido en la carpeta de recogida para permitir el acceso de escritura al NETWORK_SERVICE. Transfiera la información de inicio de sesión desde el paso 3 a su configuración de SMTP, configure la autenticación para seguridad integrada y use el código en el paso 4 para su página web.

1

Tuve exactamente el mismo problema que el descrito en esta pregunta anterior. Finalmente encontré una solución para eso. En mi caso, el sistema operativo es W2008 R2 con IIS 7.5, pero creo que esto no importa.

El problema subyacente es que el servicio SMTP en W2008 R2 parece ser una parte heredada de IIS. Se instala con las herramientas de administración de IIS 6.0, al lado del servidor IIS 7.X. Esto provoca dos problemas derivados:

IIS 7.X no sabe nada sobre el servicio SMTP. Si configura SMTP en ASP.NET para utilizar PickupDirectoryFromIis, esto genera una excepción.lo tanto, no puede usar esta configuración SMTP:

<smtp deliveryMethod="PickupDirectoryFromIis" /> 

Pero es posible configurar SMTP con SpecifiedPickupDirectory, Puede utilizar esta configuración:

<smtp deliveryMethod="SpecifiedPickupDirectory"> 
    <specifiedPickupDirectory pickupDirectoryLocation="C:\inetpub\mailroot\Pickup" /> 
</smtp> 

Si configura el directorio de recogida de esta manera, puede encontrarse con un segundo tipo de problema: IIS6 e IIS7.X tienen diferentes sistemas de seguridad. IIS 7.X presenta seguridad integrada con identidades de grupo de aplicaciones. IIS 6.0 y su servicio SMTP no lo saben. Por lo tanto, debe otorgar permisos de escritura para IIS_IUSRS a la carpeta de recogida. En mi configuración, la carpeta de recogida es C: \ inetpub \ mailroot \ pickup.

1

Me di cuenta de que el evento ID 4006 se refería a la IP del controlador de dominio en lugar de la IP del servidor de correo. Utilicé la herramienta de administración iis 6 para configurar un smarthost que apunta al servidor de correo y ¡listo! el problema fue resuelto

Cuestiones relacionadas