Escrito por: GeekWin?
Texto original en:
http://geekwin.metropoliglobal.com/modules.php?name=Sections&op=viewarticle&artid=269
Funcionamiento de SMTP
El Protocolo simple
de transferencia de correo es uno de los Protocolos de Internet (IP)
centrales diseñados para transferir correo electrónico de manera
confiable y eficiente.
La idea que subyace
a SMTP es bastante sencilla. Un usuario o una aplicación (en este
caso, Duwamish Online) redacta un mensaje que contiene la dirección
de correo electrónico del destinatario (por ejemplo, "juandato@empresa.com")
junto con el asunto y el contenido del mensaje.
La entrega del
mensaje se inicia al transferir el mensaje a un servidor SMTP
dedicado. Basándose en el nombre de dominio de la dirección de
correo electrónico del destinatario (por ejemplo, "empresa.com"), el
servidor SMTP inicia la comunicación con un servidor de Sistema de
nombres de dominio (DNS), que busca y devuelve el nombre de host del
servidor SMTP de destino (por ejemplo, "mail.empresa.com") para ese
dominio.
Por último, el
servidor SMTP de origen se comunica directamente con el servidor
SMTP de destino a través del puerto 25 del Protocolo de control de
transporte/Protocolo de Internet (TCP/IP). Si el nombre de usuario
de la dirección de correo electrónico del destinatario coincide con
una de las cuentas de usuario autorizadas en el servidor de destino,
el mensaje original se transferirá a dicho servidor, esperando que
el destinatario recoja el mensaje mediante un programa cliente.
En caso de que el
servidor SMTP de origen no pueda comunicarse directamente con el
servidor de destino, el protocolo SMTP dispone de mecanismos para
transferir mensajes a través de uno o varios servidores SMTP
intermedios de retransmisión. Un servidor de retransmisión recibirá
el mensaje original e intentará entregarlo al servidor de destino o
redirigirlo a otro servidor de retransmisión. Este proceso se
repetirá hasta que se entregue el mensaje o hasta que transcurra un
periodo de tiempo de espera designado.
Configurar SMTP en Windows 2000
Empezando con las
versiones anteriores de Microsoft Windows NT®, el servicio SMTP se
ha implementado como uno de los incluidos en Servicios de Internet
Information Server.
A continuación se
muestran los procedimientos utilizados para configurar el servicio
SMTP.
Instalar el servicio SMTP
Para instalar el
servicio SMTP
- En el menú Inicio,
seleccione Configuración y, a continuación, haga clic en
Panel de control. Haga doble clic en Agregar o quitar
programas, haga clic en Agregar o quitar componentes de
Windows y, después, haga clic en el botón Componentes.
- En el Asistente para componentes
de Windows, seleccione Servicios de Internet Information Server
(IIS) y haga clic en Detalles. Seleccione el componente
Servicio SMTP y haga clic en Aceptar.
Nota Se
necesitan otros componentes de IIS para poder utilizar el servicio
SMTP. Son los componentes Complemento, Servidor Web del World Wide
Web y Archivos comunes de Servicios de Internet Information Server.
Estos componentes se seleccionan e instalan automáticamente junto
con el componente Servicio SMTP.
Configurar el servicio SMTP
Si el servicio SMTP
se instala en un equipo host con una conexión de red con Internet, y
el servidor de seguridad que mira hacia Internet no está bloqueando
el tráfico SMTP del puerto 25, la configuración predeterminada del
servicio SMTP debe estar preparada para entregar cualquier mensaje
saliente de correo electrónico. Sin embargo, sigue habiendo un par
de opciones de seguridad que puede utilizar para el servidor SMTP.
Puede cambiar la mayoría de estas opciones mediante la consola
Administrador de servicios Internet.
Para iniciar la
consola de administración de IIS
- En el menú Inicio,
seleccione Programas y Herramientas administrativas.
- Haga clic en Administrador de
servicios Internet para iniciar la consola de administración.
Para configurar
el registro del servidor
- En el panel izquierdo del cuadro
de diálogo Servicios de Internet Information Server,
expanda el árbol de directorios. Haga clic con el botón secundario
del mouse (ratón) en el Servidor virtual SMTP
predeterminado y seleccione Propiedades.
- En el cuadro de diálogo
Propiedades, haga clic en la ficha General. Active la
casilla de verificación Habilitar registro para el
servidor. Esta propiedad no está habilitada de manera
predeterminada.
- Seleccione el formato preferido
del archivo de registro. El valor predeterminado es Formato de
archivo de registro extendido W3C.
- Haga clic en el botón
Propiedades situado junto al menú desplegable de formato del
archivo de registro.
- Ajuste la programación de tiempo
y el nombre del archivo para la conversión del archivo de
registro, si es necesario.
- Haga clic en la ficha
Propiedades extendidas.
- Seleccione los elementos que le
interesen y haga clic en Aceptar.
Nota Para
limitar el tamaño del archivo de registro, no debe seleccionar
demasiados elementos. A continuación se sugieren algunos elementos
que podrían ser útiles: Fecha, Hora, Dirección IP del cliente,
Nombre del usuario, Nombre del servicio, Método, Bytes enviados y
Bytes recibidos.
Para configurar
el control de acceso
- En el cuadro de diálogo
Propiedades, haga clic en la ficha Avanzadas. Haga clic
en el botón Retransmisión para controlar qué equipo o
equipos pueden retransmitir los mensajes de correo electrónico al
servidor SMTP.
- En el cuadro de diálogo
Restricciones de retransmisión, haga clic en Agregar.
- En el cuadro de diálogo
Equipo, escriba la dirección IP del equipo que puede
retransmitir correo electrónico a través del servidor SMTP. Haga
clic en Aceptar para aplicar los cambios.
Nota Si se
envía un mensaje saliente al servidor SMTP desde la misma máquina,
la configuración predeterminada del permiso Retransmisión será
adecuada. Sin embargo, si el mensaje se envía desde otra máquina,
tendrá que agregar la dirección IP o el nombre de dominio de la otra
máquina a la lista de permisos para que funcione la retransmisión.
Especificar el host inteligente
para la retransmisión
Si su servidor SMTP
está detrás de un servidor de seguridad que bloquea el tráfico SMTP
directo (a través del puerto 25), tendrá que averiguar si en la red
hay un host inteligente que pueda retransmitir todos los mensajes
SMTP hacia Internet.
Básicamente, un
host inteligente puede ser otro servidor SMTP con permisos para
retransmitir los mensajes salientes de correo electrónico, desde
otros servidores SMTP internos, directamente hacia Internet. Por
tanto, un host inteligente debe ser capaz de conectarse
simultáneamente tanto a la red interna como a Internet para poder
funcionar como puerta de enlace de correo electrónico.
Una vez
identificado un host inteligente de la red puede configurar el
servidor SMTP.
Para configurar
el servidor SMTP
- En el cuadro de diálogo
Propiedades, haga clic en la ficha Entrega y, después,
haga clic en el botón Opciones avanzadas para abrir el
cuadro de diálogo Entrega avanzada.
- En el campo Host inteligente,
escriba el nombre de dominio completo (FQDN) del host inteligente.
O bien, puede escribir la dirección IP del host inteligente, con
[ y ], como "[10.10.10.1]", alrededor de la
dirección IP. Los caracteres [] ayudarán a acelerar el
proceso de búsqueda DNS.
- Haga clic en Aceptar para
completar los cambios.
Comprobar el servicio SMTP
Hay dos formas de
comprobar si el servicio SMTP está funcionando correctamente.
Probar con un cliente de correo
electrónico
En primer lugar,
puede elegir el uso de un programa cliente estándar de correo
electrónico de Internet, como Microsoft Outlook® Express, para
realizar una comprobación rápida. Busque el lugar donde puede
especificar el servidor de correo electrónico saliente (SMTP) y
cámbielo por el nombre de dominio del nuevo servidor SMTP. Envíe un
mensaje de prueba a su dirección habitual de correo y compruebe que
se ha entregado.
Probar con el directorio de
recogida
O bien, puede
redactar un sencillo archivo de texto de correo electrónico
basándose en las especificaciones de SMTP (RFC 822). A continuación
se muestra el contenido de un archivo de texto de ejemplo escrito en
el Bloc de notas:
De: miNombre@miDominio.com
Para: alguien@unDominio.com
Asunto: prueba
Éste es el cuerpo del mensaje de prueba.
Copie o mueva el
archivo de texto al directorio de recogida donde se instaló SMTP.
(La ruta de acceso predeterminada debe ser "raíz:\Inetpub\mailroot\Pickup".)
El servicio SMTP comprueba periódicamente el directorio Pickup e
intenta entregar todos los mensajes que encuentre en dicho
directorio. Compruebe si puede recibir el mensaje de prueba desde el
buzón de destino.
Para obtener más
información acerca de la especificación RFC 822 para un mensaje con
el formato adecuado, consulte The RFC 822 Message Format en
http://msdn.microsoft.com/library/psdk/cdosys/_cdosys_the_rfc_822_message_format.htm
.
Probar con CDO
Otra forma de
comprobar el servicio SMTP consiste en escribir una sencilla
secuencia de comandos de Microsoft Visual Basic® Scripting Edition (VBScript)
utilizando Collaboration Data Objects (CDO) para Windows 2000.
CDO para Windows
2000 (también conocido como CDO 2.0 o Cdosys.dll) es un conjunto de
componentes de colaboración diseñados para simplificar la creación o
la manipulación de mensajes de Internet. En lugar de escribir su
propio código para las comunicaciones SMTP, los programadores pueden
utilizar CDO para enviar y recibir mensajes mediante protocolos SMTP
y mediante el directorio Pickup local. Para obtener más información
al respecto, consulte los artículos relacionados About CDO for
Windows 2000 en
http://msdn.microsoft.com/library/psdk/cdosys/_cdosys_about_cdo_for_windows_2000.htm
A continuación se
muestra un ejemplo de VBScript de cómo puede utilizarse CDO para
entregar un mensaje mediante el servicio SMTP:
set msg =
WScript.CreateObject("CDO.Message")
msg.From = "miNombre@miDominio.com"
msg.To = "alguien@unDominio.com"
msg.Subject = "prueba"
msg.TextBody = "Éste es el cuerpo del mensaje de prueba."
msg.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver")
= "smtpserver.miDominio.com"
msg.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing")
= 2
msg.Configuration.Fields.Update
msg.Send
Las cinco primeras
líneas del ejemplo de código anterior crean el objeto CDO y
especifican la información básica del mensaje.
Las dos líneas
siguientes utilizan el objeto Configuration de CDO para
configurar valores de campo para diversas opciones de configuración.
Cada campo consta de dos partes: un prefijo de espacio de nombres
(como "http://schemas.microsoft.com/cdo/configuration/") y un nombre
local (como "smtpserver").
Este mecanismo se
basa en la recomendación Espacios de nombres en XML (
http://www.w3c.org/TR/REC-xml-names/ ) de World Wide Web
Consortium (W3C), y se utiliza principalmente para ofrecer
uniformidad y compatibilidad con otras versiones relacionadas de
componentes de CDO.
El campo "smtpserver"
especifica el nombre de dominio (o la dirección IP) del servidor
SMTP, mientras que el campo "sendusing" define si se enviará el
mensaje utilizando el directorio de almacenamiento del servicio SMTP
local o directamente a un servidor SMTP a través de la red. El
último campo tiene establecido el valor 2, lo que significa enviar
el mensaje al servidor SMTP designado a través de la red.
Finalmente, las dos
últimas líneas de código actualizan las opciones de configuración e
inician la entrega del mensaje.
Este método de
utilizar componentes de CDO podría ser excesivo para comprobar el
servicio SMTP. Sin embargo, la secuencia de comandos es útil para
otras tareas administrativas del sistema. Por ejemplo, puede
utilizarse la secuencia de comandos dentro del programa Registros y
alertas de rendimiento para la notificación por correo electrónico
cuando determinados contadores del sistema van más allá de los
umbrales que tienen asignados.
Identificar la entrega errónea
Si un mensaje de
correo electrónico no se puede entregar por cualquier motivo (por
ejemplo, porque el nombre de usuario o la dirección de correo no son
correctos), se redirigirá al directorio Badmail. De manera
predeterminada, la ubicación del directorio Badmail debe ser "raíz:\Inetpub\mailroot\Badmail".
Examine el contenido del correo rechazado y busque mensajes de error
específicos. Corrija los errores, si es posible, y vuelva a enviar
el mensaje mediante uno de los métodos de entrega recién explicados.
Además de en el
directorio Badmail, un mensaje de correo electrónico también puede
almacenarse en el directorio Queue durante un periodo de tiempo
designado. (Es posible especificar este valor si ajusta los
Intervalos de reintento salientes en la ficha Entrega del
cuadro de diálogo Propiedades de Servidor virtual SMTP
predeterminado.) Si un mensaje no se puede entregar
inmediatamente porque la conexión de red está ocupada o inactiva, el
mensaje se almacenará en este directorio Queue y se enviará de nuevo
a los intervalos designados. Si SMTP termina tras varios intentos
fallidos de entrega, se moverá el mensaje al directorio Badmail.
Conclusión
El servicio SMTP
suministrado por Servicios de Internet Information Server de Windows
2000 es un componente sencillo y eficaz para entregar mensajes de
correo electrónico salientes de manera rentable. Evita que los
administradores de sistemas tengan que configurar un sistema de
mensajería complejo para la transmisión confiable de mensajes de
correo de Internet. Cuando se utiliza con CDO para Windows 2000, los
programadores pueden implementar comunicaciones SMTP sin necesidad
de escribir mucho código.
|