Lo que reemplaza al servidor IIS SMTP en Windows Server 2012


30

He leído las notas aquí http://technet.microsoft.com/en-us/library/hh831568.aspx con respecto a las características en desuso y eliminadas en Windows 2012 y dice que SMTP está en desuso. Supongo que esto se refiere al servidor IIS SMTP. El consejo es usar System.Net.Smtp en su lugar, pero supongo que se trata de un error de imprenta porque no puedo encontrar ninguna referencia en otro lugar a algo llamado System.Net.Smtp.

Si realmente querían decir System.Net.Mail, eso es solo una API y no veo cómo una API reemplaza un proceso de servidor. Necesito un servicio que acepte conexiones en el puerto 25 y enrute el correo electrónico al destino como solía hacer IIS SMTP.

¿Alguien puede aclarar la situación aquí, por favor? Si hubieran dicho que fue reemplazado por Exchange, los maldeciría, pero al menos eso sería una declaración significativa para hacer, mientras que la actual definitivamente no lo es.

Respuestas:


19

Creo que la declaración a la que hace referencia Microsoft es simplemente terrible y completamente confusa, y no creo que quien la haya escrito tenga ni idea de cómo funciona el servidor SMTP. No explica por qué está en desuso o si algo está mal con él. Quizás haya problemas de seguridad o desbordamientos del búfer, pero si no lo está exponiendo en un puerto público, no dudaría en usarlo.

Esto es lo que hago:

  • En IIS configuré 'Correo electrónico SMTP' para que el dominio apunte 10.0.0.1. Hago esto en la carpeta principal para cualquier sitio implementado o de lo contrario se borrará cuando vuelva a implementar. Si lo desea, puede ponerlo directamente en web.config pero es menos flexible de esa manera.
  • En el servidor SMTP (a través de la consola de administración IIS6) configuré un servidor SMTP en 10.0.0.1. Obviamente, como dije antes, esto no está expuesto en Internet público.
  • Puedo configurar este servidor para retransmitir a través de un host inteligente a través de smtp.gmail.comosmtp.live.com
  • En mi aplicación .NET, uso la API de correo para enviar un mensaje usando un new SmtpClient(). Esto recoge la configuración de IIS y envía el correo a mi servidor SMTP en10.0.0.1
  • Cuando envío un correo, vuelve instantáneamente porque solo se está enviando a localhost

  • Ahora, este es el beneficio importante de usar un servidor SMTP local que no se puede subestimar y para el cual 'System.Net.Smtp' en sí mismo no puede sustituir :

    • El servidor SMTP intentará retransmitir el correo a través de su servidor inteligente y, si no puede enviarlo de inmediato, volverá a intentarlo más tarde.
    • Es importante darse cuenta de que a veces incluso smtp.gmail.comno responde o tal vez su red está inactiva. (Sorprendentemente común cuando intenté enviar correo directamente)
    • Sin un servidor SMTP intermedio para almacenar los mensajes, no puede simplemente 'enviar y olvidar' desde .NET y tendría que descubrir algún tipo de mecanismo de reintento que es completamente innecesario con un servidor SMTP que lo hace todo por usted
    • Creo que si tiene un límite de retransmisión SMTP (en su ISP / GMail), el servidor SMTP seguirá volviendo a intentarlo y enviará los mensajes al día siguiente: otra gran ventaja si tiene un tráfico inconsistente día a día o llega a su límite sin dándose cuenta

Adelante y úsalo. Microsoft no ha proporcionado un reemplazo, y es gratis, ¿por qué no? 'Desaprobado' no significa nada en mi opinión si no hay reemplazo.

Descargo de responsabilidad: todavía estoy en Server 2008 pero supongo que todo esto aún se aplica.


44
Sí, lo mismo todavía se aplica en Windows Server 2012. ¡Siempre me sorprende encontrar tan pocas personas que se dan cuenta de la ventaja de usar un servidor SMTP local para poner en cola los mensajes!
Richard

1
Además de las colas, el servidor SMTP le permite iniciar sesión La configuración de SMTP en IIS 8.5 no ofrece ningún registro, que yo sepa. Agregamos el servidor SMTP a través de IIS 6 y le decimos a IIS 8.5 que se conecte al host local solo para obtener los archivos de registro W3C.
Bacon Bits

14

La función SMTP de la función del servidor web ha quedado en desuso pero no se ha eliminado. Puede instalarlo y usarlo, pero se recomienda usar otro servidor SMTP (externo).

SMTP y las herramientas de administración asociadas están en desuso. Aunque la funcionalidad aún está disponible en Windows Server 2012, debe comenzar a usar System.Net.Smtp. Con esta API, no podrá insertar un mensaje en un archivo para su recogida; en su lugar, configure las aplicaciones web para conectarse en el puerto 25 a otro servidor utilizando SMTP.

Entonces, en el futuro, instalaría y utilizaría un servidor SMTP separado (del cual hay muchos disponibles) para proporcionar servicios SMTP a las aplicaciones web que se ejecutan en Windows ServerX.


4

¡Esa descripción en el artículo que vinculaste es terrible! Pero esto es lo que intenta decirte:

Activar IIS SMTP en versiones anteriores de Windows hizo dos cosas:

  1. Comenzó un servidor IIS SMTP.
  2. Se agregaron bibliotecas de programación (es decir, objetos COM, etc.) para enviar mensajes.

Si usó esas bibliotecas sin ninguna configuración, se enviarían al servidor SMTP IIS local. Los programadores son inherentemente perezosos, por lo que eso funcionó con la menor cantidad de esfuerzo posible. Y muchos no proporcionaron una forma de enviar correos electrónicos a través de un servidor SMTP diferente.

Lo que debería decir el artículo es que el servidor SMTP IIS ya no existe, pero las bibliotecas SMTP aún se proporcionan y la aplicación debe configurarse para usar un servidor SMTP diferente.


2
El servidor SMTP es una característica de la función del servidor web en Windows Server 2012 y se puede instalar. Ha quedado en desuso pero no se ha eliminado.
joeqwerty

Supongo que todavía aparece en 'Consola de administración IIS6' ¿verdad?
Simon

2
@ Simon Sí, la misma consola de administración de 2002 de IIS 6 todavía se usa para configurar SMTP en Windows Server 2012. :) La función de administración de IIS 6 depende de la función SMTP.
bzlm

1
Ignora el insulto perezoso ignorante. Para obtener detalles sobre por qué un servidor SMTP local es una buena idea (y estándar en la mayoría de los otros sistemas operativos: cliente y servidor), consulte esta respuesta .
bzlm

¿Qué tal Windows Server 10 o como se llame? ¿El mismo trato?
Simon
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.