servidor - Configuración de SMTP en IIS 7 en Windows Server 2008
test smtp iis (8)
El sitio web comenzó su vida originalmente bajo IIS 6 y el sitio funcionó muy bien allí. Ahora, después de reubicarse en un nuevo servidor que ejecuta W2K8S, todo, excepto la entrega de correo desde el sitio web, ahora funciona de maravilla bajo IIS 7.
Investigado brevemente en la Web para ver si alguien tenía una buena resolución, pero no sirvió para nada ... Ni siquiera un rayo de esperanza en el sitio de soporte de Microsoft.
Estos son los pasos que se dieron hasta ahora en la nueva caja W2K8S:
- Se agregó la función para SMTP en el Administrador del servidor
- Habilitado el correo electrónico SMTP para el sitio en el Administrador de IIS 7 para entregar el 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 de si debe estar habilitado para habilitar los sitios) para entregar el correo electrónico al servidor local del servidor SMTP, sin éxito
Después de fallar esas configuraciones básicas, quería asegurarme de poder hablar desde / hacia el servidor en el puerto 25. Y puedo telnet exitosamente 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, sin suerte de ninguna manera.
Comprueba manualmente el archivo de configuración web y refleja la entrada correcta para que el servidor use el host local.
Lee el manual y tampoco hay suerte ...: - /
No estoy seguro de si esta herramienta de diagnóstico puede proporcionar más información,
http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1308
Esta herramienta es para x86.
¿Ha comprobado si el servicio SMTP está aceptando correo para retransmisión desde 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).
¿Es esto, por casualidad, una antigua aplicación ASP "clásica" que se basa en CDONTS para enviar correo?
Si es así, ¿quizás uno de estos enlaces sería útil?
Editado: respondí antes de notar la nota en la publicación original. Indiferencia...
Me encontré con esta publicación cuando estoy investigando cómo ejecutar SMTP en mi aplicación ASP.Net, y estoy 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.
De acuerdo, a la publicación que decía "dale al usuario de red los derechos de escritura en la carpeta de recogida" finalmente funciona. Lo que hice fue:
Necesita usar un "host inteligente" a menos que esté ejecutando Exchange Server. Estoy usando una cuenta de Gmail, Gmail permite el reenvío SMTP.
Puede usar la autenticación de Windows para seguridad en el servidor SMTP y la configuración de configuración IIS7.
Primer paso, configure el método de entrega = "red" en su página web y configure su host inteligente 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 enviará el correo electrónico directamente y omitirá su servidor SMTP.
Segundo paso, una vez que tenga ese funcionamiento, 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.
Finalmente, haga funcionar su página web estableciendo el uso compartido en su carpeta de recogida para permitir el acceso de escritura a
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.
Tenía exactamente el mismo problema que el descrito en esta vieja pregunta. 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 causa 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. Por lo tanto, no puede usar esta configuración SMTP :
<smtp deliveryMethod="PickupDirectoryFromIis" />
Pero es posible configurar SMTP con SpecifiedPickupDirectory. Puede usar esta configuración :
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="C:/inetpub/mailroot/Pickup" />
</smtp>
Si configura el directorio de recolección 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.
Noté 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 apuntando al servidor de correo y ¡listo! el problema fue resuelto
Me enfrenté al mismo problema.
Encontré este enlace http://www.frontpagewebmaster.com/m-215289/tm.htm
y pude 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".
Espero que esto ayude ...