GuilleSQL :: Microsoft SQL Server, SSIS, y más !!

Instalar y Configurar los servicios SMTP y POP3 de Windows Server 2003 e IIS6 y el Relay SMTP


Un par de servicios de gran utilidad en Windows Server 2003, son los servicios SMTP y POP3, que permiten construir una infraestructura de correo electrónico (básica y algo limitada) de una forma económica, y fácil a la par que sencilla (haciendo equipo con DNS y Directorio Activo), ideal para entornos de laboratorio, donde en muchos casos estamos ajustados de recursos hardware para montar una infraestructura de correo electrónico basada en Exchange Server. ¿Cómo instalar y poner en marchar los servicios SMTP y POP3 de Windows Server 2003? ¿Cómo configurar el Relay SMTP en IIS6?

Al final me he animado a escribir este artículo, ya que en muchos proyectos me ha sido necesario poder disponer de una infraestructura de correo electrónico sencilla (POP3 y SMTP), para realizar pruebas básicas de envío y recepción de correo electrónico en un entorno de laboratorio. Al final, el envío y recepción de correo resulta vital en Aplicaciones Web (o incluso otros tipos de aplicaciones), instalaciones de SharePoint, en SQL Server para automatizar envíos de correo electrónico (ej: finalización de cargas en un Data Warehouse, Alertas, etc.), y en muchos casos más, y la instalación de una infraestructura de correo electrónico basada en Exchange Server es más costosa, lo cual, hace que quede fuera de lugar en la construcción de un entorno de Laboratorio (salvo que sea un Laboratorio para una Migración de Exchange, o algo así, claro ;-).

El Servicio POP3 deberemos montarlo junto con el Servicio SMTP en la misma máquina (como hermanos, unidos de la mano ;-), es decir, ambos Servicios (SMTP y POP3) deben correr en la misma máquina. Al margen de esto, si lo deseamos podemos utilizar Servidores SMTP adicionales, de tal modo, que dichos Servicios SMTP podríamos utilizarlos para el envío del correo electrónico saliente, y el Servicio SMTP montado en el Servidor POP3 sólo para la recepción de correo en los buzones del Servicio POP3, es decir:

  • Servidor POP3. Debe ejecuta POP3 y SMTP. El Servicio SMTP se utiliza sólo para la recepción local de correo electrónico.
  • Servidor SMTP adicional (que podríamos tener varios). Sólo ejecuta SMTP, para el envío del correo electrónico saliente de nuestra organización, y para reenviar el correo local al Servidor POP3.

Visto esto, vamos a empezar con el procedimiento de instalación, en este caso, realizado sobre una infraestructura de servidores Windows Server 2003 Enterprise R2 SP2, virtualizados sobre Virtual Server 2005 R2 SP1.

Instalación de los servicios SMTP y POP3 en Windows Server 2003

El procedimiento de instalación es muy sencillo. A continuación se describe el proceso de instalación de los servicios SMTP y POP3 simultáneamente, para su instalación conjunta sobre la misma máquina. En caso de desear instalar sólo el servicio SMTP, tan sólo se deberán seguir los pasos relacionados a este servicio, ignorando el resto.

Sin más, empezamos con la instalación.

Lo primero abrir la herramienta de Agregar o Quitar Programas del Panel de Control, disponible desde Start -> Control Panel -> Add or Remove Programs. Una vez aquí, click en Add/Remove Windows Programs.

Seleccionar el componente Application Server, y seguidamente click en Details.

Click Internet Information Services (IIS) y seguidamente click Details.

Seleccionar el subcomponente SMTP Service y click OK.

Seguidamente, click OK otra vez. Seleccionar el componente E-mail Services, y click Next.

En el diálogo Completing the Windows Components Wizard, click Finish.

Realizados estos pasos, habremos conseguido instalar en la máquina los Servicios SMTP y POP3. En consecuencia, deberemos continuar con la configuración de los mismos, que como mínimo implicará la creación de un dominio de correo electrónico en el Servicio POP3, para seguidamente crear los buzones de correo POP3, y el correspondiente registro MX en DNS. Todo esto se describe en más detalle a continuación.

Herramientas para Administrar los servicios SMTP y POP3 de Windows Server 2003

Antes de continuar, es importante presentar las herramientas administrativas básicas que podemos utilizar para la Administración de nuestra infraestructura básica de correo.

  • Herramienta Administrativa Internet Information Services (IIS) Manager. Lo utilizaremos para administrar el Servicio SMTP de forma gráfica.
  • Herramienta Administrativa POP3 Service. Lo utilizaremos para administrar el Servicio POP3 de forma gráfica.
  • Winpop.exe. Administración del Servicio POP3 por línea de comandos.
  • Web Interface for Remote Administration. Lo utilizaremos para administrar de forma gráfica en formato Web, los servicios SMTP, POP3, FTP, WWW, etc., además de ofrecer diversas utilidades varias (administrar usuarios y grupos locales, reiniciar el servidor, visualizar los Logs del sistema - Event Viewer, etc.).
  • Herramienta Administrativa DNS. Lo utilizaremos para la creación y administración de registros DNS, especialmente de los registros MX de intercambio de correo (Mail eXchanger), así como los registros Alias (CNAME) y HOST necesarios.
  • Herramienta Administrativa Active Directory Users and Computers (ADUC). Lo utilizaremos para realizar el alta de usuarios, a lo cuales, posteriormente les crearemos un buzón de correo electrónico en el Servicio POP3.

Enumeradas las anteriores herramientas, continuamos.

Configurar el Servicio POP3

El Servicio POP3 se limitará a hospedar los Buzones de los Usuarios, por lo tanto, sus principales funciones serán la recepción de mensajes de correo electrónico, el almacenamiento de buzones y la resolución de peticiones de los usuarios (descarga de mensajes de correo, etc.).

Tras la instalación del Servicio POP3, es recomendable revisar la configuración del mismo, es decir, las Propiedades del servicio POP3 que podremos comprobar desde la herramienta administrativa POP3 Service. No hay mucho que tocar, alguna opción de autenticación, el puerto TCP de escucha (por defecto, el puerto TCP-110 del POP3 de toda la vida), alguna opción de registro, y poco más.

Tras esta primera comprobación rutinaria, deberemos crear nuestro dominio de correo electrónico. Para ello, deberemos hacer click en la opción New Domain, para seguidamente introducir el nombre DNS del dominio para el cual queremos configurar el Servicio POP3 (y en consecuencia, sus buzones). En mi caso, se trata del dominio mobile.local, un dominio de Directorio Activo sobre el cual tengo montado el laboratorio de pruebas con el que suelo trabajar con el portátil en clientes.

Pues ya está, fácil y sencillo (justo lo que yo quería). Ahora, tan sólo queda empezar a crear los buzones de correo electrónico que necesitemos. En mi caso, el primer buzón de correo electrónico que necesito crear es el correspondiente al usuario administrador@mobile.local. Para ello, en el panel izquierdo, seleccionar el dominio de correo electrónico sobre el que se desean crear los buzones de correo, y seguidamente, click en la opción Add Mailbox. En el campo Mailbox Name, especificaremos el nombre de la cuenta de usuario para la cual deseamos crear el buzón de correo, deseleccionando la opción Create associated user for this mailbox, ya que dicho usuario ya existe en Directorio Activo.

Con esto, ya tenemos nuestro POP3 configurado y funcionando.

Configuración del Servicio SMTP

A continuación se muestra como configurar el Servicio SMTP de Windows Server 2003 para poner en marcha nuestra infraestructura de correo electrónico. Para realizar estas labores de configuración de SMTP, vamos a utilizar la herramienta administrativa Internet Information Services (IIS) Manager.

Antes de continuar, comentar que vamos a diferenciar principalmente entre los siguientes dos escenarios:

  • El Servidor SMTP está montado en la misma máquina que el Servidor POP3, y se desea configurar para la recepción de correos electrónicos entrantes. Este es el escenario más sencillo de configurar, como veremos, pues por defecto, el Servicio SMTP ya sabrá como realizar la entrega de correo electrónico entrante a los buzones POP3 locales.

    No será necesario realizar ninguna tarea adicional para conseguir la recepción de correo electrónico entrante en los buzones del Servicio POP3 local, excepto añadir el correspondiente registro MX en DNS (esta tarea la veremos más adelante) si deseamos que nos puedan enviar correo desde otros servidores SMTP (recordar, que habitualmente, cualquier servidor SMTP suele consultar en DNS los registros MX de los dominios correspondientes a los correos electrónicos que necesita enviar o re-enviar). Si no necesitamos que nos reenvíen correos electrónicos desde otros servidores SMTP, entonces ni siquiera es necesario agregar el registro MX (Mail eXchanger) en DNS.

  • El Servidor SMTP está montado en una máquina diferente al Servidor POP3, y queremos reenviar (relay) los correos al servidor POP3. En este caso, será necesario especificar al Servicio SMTP que debe enviar el correo electrónico a otro Servidor, y cómo debe hacerlo. Tenemos principalmente dos formas de realizar esta configuración (relay de SMTP):
    • Configurar el Servidor Virtual SMTP para hacer Relay. Por defecto, no es posible utilizar el Servicio SMTP para realizar Relay en IIS6, debiendo configurarlo para que pueda hacer Relay. Esto es un tema de seguridad, de hecho, para permitir realizar Relay deberemos configurar la autenticación (los usuarios anónimos no podrán realizar Relay, por seguridad ante spammers) o bien especificar qué máquina o máquinas clientes pueden realizar Relay (por IP, Subred, o sufijo DNS a través de la resolución inversa DNS).

      La principal ventaja de esta configuración, es que el Servicio SMTP será capaz reenviar correo electrónico a cualquier dominio, para lo cual, el servidor SMTP debe ser capaz de resolver en DNS los registros MX del dominio destino, o bien, tener configurado un Smart Host (es decir, un servidor SMTP al que se enviará todo el correo electrónico).

    • Configurar Dominios Remotos para hacer Relay. Este método permite especificar al Servicio SMTP la configuración de Relay para un dominio en particular, pudiendo realizar el Relay en función de los registros MX de DNS, o bien, especificando explícitamente el servidor SMTP/POP3 al que se desea enviar los correos electrónicos del Dominio Remoto configurado. Esta configuración tiene preferencia sobre la configuración del Servidor Virtual SMTP.

A continuación se describe la configuración de Relay SMTP en IIS6, teniendo en cuenta, que este es un artículo introductorio, es decir, aquí no se pretende dar una lección exhaustiva de sistemas de mensajería ni configuraciones avanzadas de SMTP en IIS6, sólo dar unas pautas para ser capaz de poner en marcha y configurar SMTP en IIS6, entiendo qué es lo que estamos haciendo.

Configurar el Servidor Virtual SMTP para hacer Relay

El Servicio SMTP de IIS6, por defecto está configurado para no dejar realizar Relay de correo. Esto es debido, a que el SMTP de IIS6 por defecto está configurado sólo con el acceso anónimo al SMTP, y además, está configurado para que sólo puedan realizar Relay de correo los usuarios autenticados (osea nadie, puesto que sólo está habilitado el acceso anónimo) o las máquinas especificadas (y evidentemente, por defecto no hay ninguna máquina especificada, es decir, las tendremos que especificar nosotros).

Para poder alterar esta configuración, en la herramienta administrativa IIS Manager, deberemos abrir el diálogo de Propiedades del Servidor Virtual SMTP deseado, y mostrar la pestaña Access, que se muestra en la siguiente pantalla capturada:

Por lo tanto, para poder realizar Relay de correo con el Servicio SMTP de IIS6, tendremos que:

  • Habilitar algún método de autenticación (Básica o Windows Integrada), deshabilitando el acceso anónimo. Esto se puede hacer desde el botón Authentication. Es importante, tener en cuenta que esto es así, porque por defecto está habilitada la opción Allow all computers which successfully authenticate to relay, regardless of the list above de la restricciones de Relay (desde el botón Relay de la pestaña Access). Con dicha opción marcada, si habilitamos algún método de autenticación, los usuarios autenticados podrán utilizar el servidor SMTP para hacer Relay de correo electrónico, con la excepción del usuario administrator. Esto me sorprendió, ya que las pruebas que estuve haciendo no me funcionaban, y finalmente descubrí que era debido a que estaba utilizando el usuario administrador. Por el contrario, utilizando otro usuario para conectar con el Servicio SMTP, aunque dicho usuario sea administrador del dominio de Directorio Activo, es posible autenticarse en el Servidor SMTP y realizar el envío de correo sin ningún problema. A continuación se muestra un ejemplo de la configuración de autenticación del Servicio SMTP.
  • Especificar qué máquinas pueden hacer Relay (Restricciones de Relay). La otra forma de permitir la realización de Relay en el SMTP del IIS6, es especificar qué máquinas pueden hacer Relay, configuración que realizaremos a través del botón Relay de la pestaña Access de las propiedades del Servidor Virtual SMTP. Es importante, tener en cuenta que por defecto, sólo pueden realizar Relay de correo los equipos especificados (está marcada la opción Only the list bellow), y los usuarios autenticados (está marcada la opción Allow all computers which successfully authenticate to relay, regardless of the list above).

    En consecuencia, podemos agregar o quitar equipos de la lista (botones Add y Remove) teniendo en cuenta que es posible especificar los equipos como una dirección, una subred (dirección IP y máscara de red), o un nombre de dominio (requiere realizar una resolución inversa en DNS). Recordemos, que mientras mantengamos activa la opción Allow all computers which successfully authenticate to relay, regardless of the list above, aunque no agreguemos ningún equipo para permitirle acceso, los usuarios autenticados (si activamos algún método de autenticación) podrán realizar Relay.

    Del mismo modo, podemos permitir que cualquier equipo pueda hacer Relay, activando la opción All except the list bellow, lo cual convertirá nuestro servidor SMTP en un servidor SMTP anónimo, algo muy arriesgado con la actualidad en lo que a ataques de SPAM se refiere.

    Para continuar, se incluye una pantalla capturada del diálogo de configuración de restricciones de relay (Relay Restrictions).

Como consecuencia de todo esto, parece recomendable habilitar algún método de autenticación en Servidor Virtual SMTP, deshabilitando el acceso anónimo, y que los usuarios se autentiquen para el envío de correo saliente. De este modo, el envío de correo saliente se realizará a través de DNS, resolviendo los registros MX (Mail eXchanger) para identificar el servidor al que enviar el correo saliente (en función del dominio de correo del destinatario), excepto que el dominio de correo del destinatario esté configurado en el Servicio SMTP como un Dominio Remoto (esto lo vemos más adelante).

Sin embargo, en vez de realizar el envío de correo electrónico resolviendo los registros MX en DNS, es posible configurar el Servidor Virtual SMTP para reenviar todo el correo electrónico saliente a un Servidor SMTP determinado, al que denominaremos Smart Host. Esta configuración la podemos realizar desde la pestaña Delivery de las propiedades del Servidor Virtual SMTP en el IIS Manager.

En la pestaña Delivery, deberemos acceder a la configuración Advanced Delivery, a través del botón Advanced, en donde podremos especificar el servidor que deseamos utilizar como Smart Host (si no deseamos utilizar ningún servidor como Smart Host, dejar esta casilla en blanco). Recordar, que es posible activar la opción Attempt direct delivery befote sending to smart host, de tal modo que se intente primero la entrega directa de correo saliente a través de DNS (resolviendo los registros MX de los dominios de correo de los destinatarios), y si no es posible, se utilice el servidor Smart Host. A continuación se muestra una pantalla capturada del diálogo de configuración de Advanced Delivery.

Y con estas nociones básicas, paro de enrollarme más en esta sección, y seguimos con el resto.

Configurar el Reenvío de correo SMTP con Dominios Remotos de IIS6

A continución se describe la configuración de Dominios Remotos en el SMTP de IIS6, una configuración que permite especificar en un Servidor SMTP la forma en la que realizar la entrega de correo electrónico para un dominio en particular.

Para ello, será necesario definir o crear en dicho Servicio SMTP el dominio de correo deseado, para lo cual, será necesario hacer click con el botón derecho sobre el nodo Domains del panel izquierdo del IIS Manager, y seguidamente click en la opción New -> Domain del menú contextual.

En el asistente New SMTP Domain Wizard, será necesario especificar el tipo de dominio de correo (Remote o Alias). Seleccionaremos Remote, y después click en Next para continuar.

Seguidamente, se no solicitará el nombre del dominio de correo que desea crear. En mi caso, se trata de un dominio interno denominado mobile.local, sobre el cual tengo montado Directorio Activo, y que utilizo en mi portátil habitualmente como entorno de laboratorio en clientes. En consecuencia, escribiré mobile.local, y seguidamente click Finish.

Con esto, habremos creado un nuevo dominio de correo en nuestro Servidor SMTP, pero aún nos queda configurar dicho dominio de correo para reenviar el correo entrante hacia nuestro Servidor POP3. Para ello, hacer click con el botón derecho sobre el dominio de correo recién creado, y seguidamente click en la opción Properties del menú contextual.

En el diálogo de propiedades de nuestro dominio del correo, deberemos seleccionar la opción Allow incoming mail to be relamed to this domain. Del mismo modo, deberemos configurar la forma de enlutar el correo electrónico, pudiendo elegir entre dos opciones:

  • Use DNS to route to this domain.
  • Forward all mail to smart host.

En nuestro caso, dejaremos configurada la opción Forward all mail to smart host, especificando el servidor POP3 como smart host (nota: se utiliza el alias DNS pop3.mobile.local que apunta al servidor POP3). Click Ok para continuar.

Con las instrucciones descritas, estamos en situación de poder montar un servidor POP3 (que también actuará como servidor SMTP), y si quisiéramos, también servidores adicionales SMTP para el envío de correo saliente. Con todo esto, ya sólo queda crear en DNS los registros necesarios, especialmente el registro MX (Mail Exchanger).

Configuración de Registros DNS: Alias y Registros MX

A continuación, vamos a crear varios registros en DNS, en particular:

  • Un registro CNAME (Alias) para el servidor POP3, de nombre pop3. Apunta al registro HOST del servidor POP3.
  • Un registro CNAME (Alias) para el servidor SMTP, de nombre smtp. Apunta al registro HOST del servidor POP3, salvo que deseemos que apunte a otro servidor SMTP (siempre y cuando, éste sepa realizar correctamente la entrega de correo al POP3).
  • Un registro CNAME (Alias) para cada servidor SMTP utilizado para relay, de nombre smtp-relay.
  • Un registro MX (Mail Exchanger) para el servicio POP3. Debe apuntar a cualquier servidor SMTP que sepa realizar correctamente la entrega de correo al POP3. En mi caso, voy a hacer que apunte al propio servidor POP3.

Para crear un registro CNAME, utilizaremos la herramienta administrativa DNS. En mi caso, tengo configurados todos los Controladores de Dominio como servidores DNS, y todas las Zonas de DNS las tengo integradas en Directorio Activo. En consecuencia, me vale cualquier Controlador de Dominio (bueno, sólo tengo uno ;-) para conectarme por Terminal Server (RDP) y abrir la Herramienta Administrativa DNS. Desde dicha herramienta, click con el botón derecho sobre el dominio deseado, y seguidamente, click sobre la opción New Alias (CNAME) del menú contextual.

En el diálogo New Resource Record, especificar el nombre del alias en la caja de texto Alias name (ej: pop3, smtp, smtp-relay, etc.) y seguidamente especificar el nombre al que debe apuntar en la caja de texto Fully qualified domain name (FQDN) for target host (ej: vmoss01mob.mobile.local, viis01mob.mobile.local, etc.).

A continuación se muestra una pantalla capturada del diálogo New Resource Record. El procedimiento a seguir es el mismo para todos los registros Alias (CNAME) necesarios.

Finalmente, vamos a crear el registro MX (Mail Exchanger) en DNS. Para ello, desde la herramienta administrativa DNS, click con el botón derecho sobre el dominio deseado, y seguidamente, click sobre la opción New Mail Exchanger (MX) del menú contextual. Deberemos especificar el nombre completo del servidor de correo deseado en el campo , así como la Prioridad en el campo Mail server priority. Téngase en cuenta, que los registro con un valor de Prioridad más bajo, tienen preferencia sobre los registros con un valor de Prioridad más alto.

Sería posible (y recomendable) crear un registro MX (Mail Exchanger) en DNS para cada servidor SMTP que sea capaz de realizar la entrega de correo al servicio POP3, de tal modo que si un servidor SMTP se cae, sea posible realizar la recepción de correo entrante desde otro servidor SMTP.


[Fecha del Artículo (UTC): 28/05/2009]
[Autor: GuilleSQL]


Comentarios

PHILLIP - 20/05/2014 (UTC)
Excelente articulo, gracias por la info!!!



Escribir un Comentario

Para poder escribir un comentario, debe Iniciar Sesión con un usuario.

Si no dispone de un usuario, puede Registrarse y hacerse miembro.

Si dispone de un usuario, pero no recuerda sus credenciales de acceso, puede Restablecer su Contraseña.

Miembros de
Miembros de GITCA (Global IT Community Association)

Menu de Usuario
  Iniciar Sesión
  Registrarse
  Restablecer Contraseña
  Ventajas de Registrarse

Acerca de
  Contigo desde Oct 2007
  771 usuarios registrados
  86146 pageloads/mes
  Ranking Alexa 498160

Social Networks
Sigue a Portal GuilleSQL en Linkedin !!
Sigue a Portal GuilleSQL en Twitter !!



Archivo

Junio de 2017 (3)
Mayo de 2017 (1)
Marzo de 2017 (3)
Enero de 2017 (4)
Junio de 2016 (1)
Mayo de 2016 (2)
Abril de 2016 (2)
Septiembre de 2015 (2)
Agosto de 2015 (2)
Junio de 2015 (10)
Mayo de 2015 (4)
Abril de 2015 (8)
Marzo de 2015 (11)
Octubre de 2014 (3)
Septiembre de 2014 (7)
Agosto de 2014 (5)
Julio de 2014 (2)
Mayo de 2014 (4)
Abril de 2014 (4)
Marzo de 2014 (4)
Febrero de 2014 (1)
Enero de 2014 (5)
Diciembre de 2013 (8)
Noviembre de 2013 (2)
Octubre de 2013 (7)
Septiembre de 2013 (6)
Agosto de 2013 (1)
Julio de 2013 (6)
Junio de 2013 (11)
Mayo de 2013 (7)
Abril de 2013 (6)
Febrero de 2013 (5)
Enero de 2013 (7)
Diciembre de 2012 (12)
Noviembre de 2012 (13)
Octubre de 2012 (5)
Septiembre de 2012 (3)
Agosto de 2012 (6)
Julio de 2012 (4)
Junio de 2012 (1)
Mayo de 2012 (2)
Abril de 2012 (7)
Marzo de 2012 (16)
Febrero de 2012 (9)
Enero de 2012 (5)
Diciembre de 2011 (10)
Noviembre de 2011 (10)
Octubre de 2011 (4)
Septiembre de 2011 (5)
Agosto de 2011 (2)
Julio de 2011 (2)
Junio de 2011 (4)
Mayo de 2011 (2)
Abril de 2011 (6)
Marzo de 2011 (4)
Febrero de 2011 (10)
Enero de 2011 (5)
Diciembre de 2010 (6)
Noviembre de 2010 (4)
Octubre de 2010 (8)
Septiembre de 2010 (4)
Agosto de 2010 (1)
Julio de 2010 (3)
Mayo de 2010 (5)
Abril de 2010 (6)
Marzo de 2010 (8)
Febrero de 2010 (3)
Enero de 2010 (1)
Diciembre de 2009 (9)
Noviembre de 2009 (14)
Octubre de 2009 (2)
Septiembre de 2009 (8)
Agosto de 2009 (2)
Julio de 2009 (10)
Junio de 2009 (9)
Mayo de 2009 (10)
Abril de 2009 (9)
Marzo de 2009 (3)
Febrero de 2009 (2)
Enero de 2009 (3)
Noviembre de 2008 (2)
Octubre de 2008 (2)
Septiembre de 2008 (2)
Agosto de 2008 (5)
Julio de 2008 (5)
Junio de 2008 (1)
Mayo de 2008 (3)
Abril de 2008 (2)
Marzo de 2008 (2)
Febrero de 2008 (2)
Enero de 2008 (5)
Noviembre de 2007 (2)
Octubre de 2007 (2)






Esta información se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho.
This information is provided "AS IS" with no warranties, and confers no rights.

Copyright © 2007 GuilleSQL, todos los derechos reservados.
GuilleSQL.com y GuilleSQL.net son también parte de Portal GuilleSQL.

Visitas recibidas (Page Loads) en GuilleSQL (fuente: StatCounter):

screen resolution stats
Visitas