Cómo utilizar Telnet para probar la comunicación SMTP

 

Se aplica a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

Última modificación del tema: 2006-11-14

En este tema se explica cómo utilizar Telnet para probar la comunicación SMTP (protocolo simple de transferencia de correo) entre servidores de mensajería. De forma predeterminada, SMTP escucha en el puerto 25. Si utiliza Telnet en el puerto 25, puede indicar los comandos SMTP que se utilizan para conectarse a un servidor SMTP y enviar un mensaje exactamente del mismo modo que si la sesión de Telnet fuera un servidor de mensajería SMTP. Puede ver el éxito o error de cada paso del proceso de conexión y envío de mensajes.

En la lista siguiente se describen los escenarios donde se recomienda utilizar Telnet para probar la comunicación SMTP a o desde los servidores de transporte que existen en la organización de Microsoft Exchange Server:

  • Conéctese al servidor de transporte perimetral de la organización desde un host ubicado fuera de la red perimetral y envíe un mensaje de prueba.

  • Conéctese a un servidor de mensajería remoto desde el servidor de transporte perimetral de la organización y envíe un mensaje de prueba.

Antes de empezar

De forma predeterminada, las transferencias de mensajes que tienen lugar entre los servidores de transporte de concentradores están cifradas y autenticadas. Sólo puede usar Telnet en el puerto 25 para enviar mensajes a un servidor de transporte de concentradores interno que tenga un conector de recepción configurado para permitir el acceso anónimo o la autenticación básica para recibir mensajes. Se requiere el acceso anónimo para servidores expuestos a Internet. Cuando envía un mensaje a un conector de recepción que acepta autenticación básica, debe disponer de una utilidad para convertir cadenas de texto utilizadas en el nombre de usuario y la contraseña en formato Base64. Como el nombre de usuario y la contraseña se distinguen fácilmente cuando se utiliza la autenticación básica, no se recomienda este tipo de autenticación sin cifrado.

Los servidores de mensajería SMTP expuestos a Internet de muchas organizaciones están configurados para validar la dirección IP de origen, el nombre de dominio del sistema de nombres de dominio (DNS) correspondiente y la dirección IP de búsqueda inversa de cualquier host de Internet que intenta enviar un mensaje al servidor. Si conecta un equipo de prueba a Internet e intenta enviar un mensaje de prueba a un servidor de mensajería remoto mediante Telnet en el puerto 25, es posible que su mensaje se rechace. Para cumplir los requisitos de seguridad que puede haber impuesto el servidor de mensajería remoto, puede conectarse a este servidor desde el servidor de transporte perimetral. Los dominios aceptados que se han configurado en el servidor de transporte perimetral tienen los registros de intercambio de correo (MX), registros de direcciones (A) y registros de búsqueda inversa de DNS que identifican el servidor de transporte perimetral como un origen de correo electrónico legítimo y que se puede localizar para los dominios aceptados en Internet.

Los procedimientos de este tema muestran cómo usar el cliente Telnet de Microsoft que se incluye con Microsoft Windows Server 2003 y Windows XP. Las versiones anteriores de Windows o clientes Telnet de terceros pueden requerir una sintaxis diferente. Los comandos del cliente Telnet de Windows no distinguen entre mayúsculas y minúsculas. Para mayor claridad, se ponen en mayúsculas los verbos del comando SMTP.

No es posible utilizar la tecla de retroceso una vez se haya conectado al servidor SMTP de destino en la sesión de Telnet. Si comete un error al escribir un comando SMTP, debe presionar la tecla ENTRAR y volver a escribir el comando. Los comandos SMTP no reconocidos o errores de sintaxis tienen como resultado un mensaje de error similar al siguiente:

500 5.3.3 Unrecognized command

Uso de la herramienta de línea de comandos Nslookup para buscar la dirección IP de un servidor SMTP

Para conectarse a un servidor SMTP de destino mediante Telnet en el puerto 25, debe disponer del nombre de dominio completo (FQDN) o la dirección IP del servidor SMTP. El modo más sencillo de buscar esta información es mediante la herramienta de línea de comandos Nslookup, que permite buscar el registro MX del dominio de destino.

Para usar de la herramienta Nslookup con el fin de buscar la dirección IP de un servidor SMTP

  1. En el símbolo del sistema, escriba nslookup y, a continuación, presione ENTRAR. Este comando abre la sesión de Nslookup.

  2. Escriba set type=mx y, a continuación, presione ENTRAR.

  3. Escriba set timeout=20 y, a continuación, presione ENTRAR. De forma predeterminada, los servidores DNS de Windows tienen un límite de tiempo de espera de DNS recurrente de 15 segundos.

  4. Escriba el nombre del dominio cuyo registro MX desea buscar. Por ejemplo, para buscar el registro MX del dominio fabrikam.com, escriba fabrikam.com. y después, presione ENTRAR.

    Nota

    El punto al final ( . ) indica un FQDN. El uso del punto impide la adición accidental de cualquier sufijo de DNS predeterminado configurado para la red al nombre de dominio.

    El resultado del comando será similar al siguiente:

    fabrikam.com mx preference=10, mail exchanger = mail1.fabrikam.com
    fabrikam.com mx preference=20, mail exchanger = mail2.fabrikam.com
    mail1.fabrikam.com internet address = 192.168.1.10
    mail2 fabrikam.com internet address = 192.168.1.20
    

    Puede utilizar cualquier nombre de host o dirección IP asociados a los registros MX como el servidor SMTP de destino. Un valor de preferencia inferior indica un servidor SMTP preferido. Puede utilizar varios registros MX y diferentes valores de preferencia para el equilibrio de carga y la tolerancia a errores.

  5. Cuando esté preparado para finalizar la sesión de Nslookup, escriba exit y, a continuación, presione ENTRAR.

Nota

Las restricciones de proxy de Internet o firewall impuestas en la red interna de su organización pueden impedir el uso de la herramienta Nslookup para realizar consultas en servidores DNS públicos de Internet.
Los registros MX no se requieren estrictamente para el flujo interno de mensajes en una organización de Exchange. Si tiene que buscar el FQDN de cualquier servidor de transporte de concentradores o servidor de transporte perimetral suscrito en la organización, puede utilizar el siguiente comando en el Shell de administración de Exchange: Get-ExchangeServer | where {$.isHubTransportServer -eq $true -or $.isEdgeServer -eq $true} | Format-List Fqdn,ServerRole
Para obtener más información, consulte Get-ExchangeServer y Canalización.

Uso de Telnet en el puerto 25 para probar la comunicación SMTP

El procedimiento de esta sección muestra cómo utilizar Telnet en el puerto 25 para probar la comunicación SMTP. El procedimiento utiliza los valores que se describen en la lista siguiente:

  • Servidor SMTP de destino   mail1.fabrikam.com

  • Dominio de origen   contoso.com

  • Dirección de correo electrónico del remitente   chris@contoso.com

  • Dirección de correo electrónico del destinatario   kate@fabrikam.com

  • Asunto del mensaje   Prueba de Contoso

  • Cuerpo del mensaje   Éste es un mensaje de prueba

Nota

Debe utilizar siempre una dirección de correo electrónico válida, de manera que el destinatario del mensaje no reciba ningún mensaje de informe de no entrega (NDR) generado por el servidor SMTP de destino.

Para usar Telnet en el puerto 25 con el fin de probar la comunicación SMTP

  1. En el símbolo del sistema, escriba telnet y, a continuación, presione ENTRAR. Este comando abre la sesión de Telnet.

  2. Escriba set localecho y, a continuación, presione ENTRAR. Este comando opcional le permite ver los caracteres conforme los escribe. Es posible que sea necesaria esta configuración en algunos servidores SMTP.

  3. Escriba set logfile <nombreDeArchivo>. Este comando opcional permite registrar la sesión de Telnet en el archivo de registro especificado. Si sólo especifica un nombre de archivo, la ubicación del archivo de registro es el directorio de trabajo actual. Si especifica una ruta de acceso y un nombre de archivo, la ruta debe encontrarse en el equipo local. Tanto la ruta como el nombre de archivo que especifique deben indicarse en formato Microsoft DOS 8.3. La ruta de acceso que especifique debe existir. Si especifica un archivo de registro que no existe, éste se creará.

  4. Escriba open mail1.fabrikam.com 25 y, a continuación, presione ENTRAR.

  5. Escriba EHLO contoso.com y, a continuación, presione ENTRAR.

  6. Escriba MAIL FROM:chris@contoso.com y, a continuación, presione ENTRAR.

  7. Escriba RCPT TO:kate@fabrikam.com NOTIFY=success,failure y, a continuación, presione ENTRAR. El comando NOTIFY opcional define los mensajes particulares de notificación de estado de entrega (DSN) que el servidor SMTP de destino debe proporcionar al remitente. Los mensajes de DSN se definen en RFC 1891. En este caso, se le solicita un mensaje de DSN para la entrega de mensaje correcta o errónea.

  8. Escriba DATA y, a continuación, presione ENTRAR. Recibirá una respuesta similar a la siguiente:

    354 Start mail input; end with <CLRF>.<CLRF>
    
  9. EscribaAsunto: Prueba de Contoso y, a continuación, presione ENTRAR.

  10. Presione ENTRAR. RFC 2822 requiere una línea en blanco entre el campo de encabezado de Subject: y el cuerpo del mensaje.

  11. Escriba Éste es un mensaje de prueba y, a continuación, presione ENTRAR.

  12. Presione ENTRAR, escriba un punto ( . ) y, a continuación, presione ENTRAR. Recibirá una respuesta similar a la siguiente:

    250 2.6.0 <GUID> Queued mail for delivery
    
  13. Para desconectarse del servidor SMTP de destino, escribaQUIT y, a continuación, presione ENTRAR. Recibirá una respuesta similar a la siguiente:

    221 2.0.0 Service closing transmission channel
    
  14. Para cerrar la sesión de Telnet, escribaquit y, a continuación, presione ENTRAR.

Interpretación de los resultados de una sesión de Telnet con un servidor SMTP

En esta sección se proporcionan detalles de las respuestas que pueden proporcionarse a los comandos indicados en el ejemplo anterior.

Nota

Los códigos de repuesta SMTP de 3 dígitos definidos en RFC 2821 son los mismos para todos los servidores de mensajería SMTP. Las descripciones de texto pueden diferir ligeramente en algunos servidores de mensajería SMTP. En este ejemplo, en el equipo de destino se ejecuta Exchange Server 2007.

Open mail1.fabrikam.com 25

Respuesta correcta   220 mail1.fabrikam.com Microsoft ESMTP MAIL Service ready at <day-date-time>

Respuesta de error   Connecting to mail1.fabrikam.com...Could not open connection to the host, on port 25: Connect failed

Posibles motivos del error

  • El servicio SMTP de destino no está disponible.

  • Existen restricciones en el firewall de destino.

  • Existen restricciones en el firewall de origen.

  • Se especificó una dirección IP o un FQDN incorrecto para el servidor SMTP de destino.

  • Se especificó un número de puerto incorrecto.

EHLO contoso.com

Respuesta correcta   250 mail1.fabrikam.com Hello [<sourceIPaddress>]

Respuesta de error   501 5.5.4 Invalid domain name

Posibles motivos del error   Existen caracteres no válidos en el nombre de dominio. Asimismo, también pueden existir restricciones de conexión en el servidor SMTP de destino.

Nota

EHLO es el verbo de Protocolo simple extendido de transferencia de mensajes (ESMTP) definido en RFC 2821. Los servidores ESMTP pueden anunciar sus capacidades durante la conexión inicial. Estas capacidades incluyen el tamaño de mensaje máximo aceptado y los métodos de autenticación admitidos. HELO es el verbo SMTP más antiguo definido en RFC 821. La mayoría de los servidores de mensajería SMTP admiten ESMTP y EHLO.

MAIL FROM:chris@contoso.com

Respuesta correcta   250 2.1.0 Sender OK

Respuesta de error   550 5.1.7 Invalid address

Posibles motivos del error   Hay un error de sintaxis en la dirección de correo electrónico del remitente.

Respuesta de error   530 5.7.1 Client was not authenticated

Posibles motivos del error   El servidor de destino no acepta envíos de mensajes anónimos. Recibe este error si intenta utilizar Telnet para enviar un mensaje directamente a un servidor de transporte de concentradores.

RCPT TO:kate@fabrikam.com NOTIFY=success,failure

Respuesta correcta   250 2.1.5 Recipient OK

Respuesta de error   550 5.1.1 User unknown

Posibles motivos del error   El destinatario especificado existe en la organización.

Para obtener más información

Para obtener más información, consulte los siguientes temas: