Usar Telnet para probar la comunicación SMTP en servidores de Exchange

[Este tema es documentación previa y, por lo tanto, está sujeto a cambios en versiones futuras. Los temas en blanco se incluyen como marcadores. Si tiene comentarios, nos encantaría escucharlos. Envíenos un correo electrónico a ExchangeHelpFeedback@microsoft.com].  

Se aplica a:Exchange Server 2016

Obtenga información sobre cómo usar Telnet para probar la conectividad SMTP y el flujo de correo en servidores de Exchange.

Puede usar Telnet para probar la comunicación SMTP (protocolo simple de transferencia de correo) entre servidores de mensajería. SMTP es el protocolo que se usa para enviar mensajes de correo electrónico desde un servidor de mensajería a otro. Usar Telnet puede ser útil si está teniendo problemas al enviar o recibir mensajes porque puede enviar manualmente comandos SMTP a un servidor de mensajería. Como resultado, el servidor responderá con las respuestas que se devolverían en una conexión típica. Estos resultados pueden ayudarle a veces a descubrir por qué no puede enviar ni recibir mensajes.

Puede usar Telnet para probar la comunicación SMTP para:

  • Probar el flujo de correo desde Internet en la organización de Exchange.

  • Probar el flujo de correo desde Exchange a otro servidor de mensajería en Internet.

tipSugerencia:
¿Sabía que, en lugar de usar Telnet para probar la conectividad SMTP, puede usar el Analizador de conectividad remota de Microsoft en https://testconnectivity.microsoft.com/? Con el Analizador de conectividad remota, puede decidir la prueba de conectividad que quiere realizar, en este caso Correo SMTP entrante y seguir las instrucciones que se muestran. Le guiaré a través de la información que necesita para especificar, ejecutar la prueba y, después, obtener los resultados. Pruébelo.

  • Tiempo estimado para finalizar: 15 minutos

  • Los permisos de Exchange no se aplican a los procedimientos de este tema. Estos procedimientos se realizan en el sistema operativo del servidor de Exchange o de un equipo cliente.

  • En este tema se muestra cómo usar el cliente de Telnet, que se incluye con Windows. Los clientes de Telnet de terceros puede que necesiten sintaxis que sea diferente de lo que se muestra en este tema.

  • Los pasos de este tema le mostrarán cómo conectarse a un servidor accesible desde Internet que permite las conexiones anónimas con el puerto TCP 25. Si está intentando conectarse a este servidor desde Internet, necesita asegurarse de que el servidor de Exchange es accesible desde Internet en el puerto TCP 25. De manera similar, si está intentando llegar a un servidor en Internet desde el servidor de Exchange, necesita asegurarse de que el servidor de Exchange puede abrir una conexión a Internet en el puerto TCP 25.

  • Puede observar algunos conectores de recepción que usan el puerto TCP 2525. Estos son conectores de recepción internos y no se usan para aceptar conexiones SMTP anónimas.

  • Si está probando una conexión en un servidor de mensajería remoto, debe ejecutar los pasos de este tema en su servidor de Exchange. Los servidores de mensajería remotos a menudo se configuran para garantizar que la dirección IP de donde proviene la conexión SMTP coincide con el dominio de la dirección de correo electrónico del remitente.

  • Para obtener información acerca de los métodos abreviados de teclado aplicables a los procedimientos de este tema, consulte Métodos abreviados de teclado en el Centro de administración de Exchange.

tipSugerencia:
¿Ha experimentado algún problema? Solicite ayuda en los foros de Exchange. Visite los foros en Exchange Server, Exchange Online, o Exchange Online Protection.

En la mayoría de las versiones de Windows, necesitará instalar el cliente de Telnet antes de que pueda usarlo. Para instalarlo, vea Instalación del cliente Telnet.

Para conectarse a un servidor SMTP mediante Telnet en el puerto 25, necesita usar el nombre de dominio completo (FQDN) (por ejemplo, mail.contoso.com) o la dirección IP del servidor SMTP. Si no conoce el FQDN o la dirección IP, puede usar la herramienta de línea de comandos Nslookup, que permite buscar el registro MX del dominio de destino.

noteNota:
Las directivas de red pueden impedirle que use la herramienta Nslookup para consultar servidores DNS públicos en Internet. Como alternativa, puede usar uno de los sitios web de búsqueda de registros MX o de búsqueda de DNS disponibles de manera gratuita en Internet.
  1. En un símbolo del sistema, escriba nslookup y presione Entrar. Este comando abre la sesión de Nslookup.

  2. Escriba set type=mx y, después, presione Entrar.

  3. Escriba el nombre del dominio cuyo registro MX quiere buscar. Por ejemplo, para buscar el registro MX del dominio fabrikam.com, escriba fabrikam.com. y, después, presione Entrar.

    noteNota:
    Cuando usa un punto final ( . ), impide que cualquier sufijo DNS predeterminado se agregue de manera accidental al nombre de dominio.

    El resultado del comando tiene este aspecto:

    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 usar cualquier nombre de host o dirección IP asociados a los registros MX como el servidor SMTP de destino. Un valor de preferencia inferior (preferencia = 10 frente a 20) indica un servidor SMTP preferido. Varios registros MX y diferentes valores de preferencia se usan para el equilibrio de carga y la tolerancia a errores.

  4. Cuando esté preparado para finalizar la sesión de Nslookup, escriba exit y, después, presione Entrar.

En este ejemplo, vamos a usar los valores siguientes. Cuando ejecute los comandos en el servidor, reemplace estos valores por los del servidor SMTP de la organización, dominio, etc.

  • 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

tipSugerencia:
  • Los comandos del cliente Telnet no distinguen entre mayúsculas y minúsculas. Para mayor claridad, se ponen en mayúsculas los verbos del comando SMTP de este ejemplo.

  • No es posible usar la tecla de retroceso en la sesión de Telnet una vez se haya conectado al servidor SMTP de destino. Si comete un error al escribir un comando SMTP, necesita 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

  1. En la ventana del símbolo del sistema, escriba telnet y, después, presione Entrar.

    Este comando abre la sesión de Telnet.

  2. Escriba set localecho y, después, presione Entrar.

    Este comando opcional le permite ver los caracteres conforme los escribe y puede ser necesario en algunos servidores SMTP.

  3. Escriba set logfile<filename> y, después, presione Entrar.

    Este comando opcional permite registrar y especifica el archivo de registro en la sesión de Telnet. Si solo especifica un nombre de archivo, el archivo de registro está ubicado en la carpeta actual. Si especifica una ruta de acceso y un nombre de archivo, la ruta necesita estar en el equipo local, y puede que necesite especificar la ruta y el nombre de archivo en el formato DOS 8.3 de Windows (nombre corto sin espacios). La ruta necesita existir, pero el archivo de registro se crea automáticamente.

  4. Escriba OPEN mail1.fabrikam.com 25 y, después, presione Entrar.

  5. Escriba EHLO contoso.com y, después, presione Entrar.

  6. Escriba MAIL FROM:jorge@contoso.com y, después, presione Entrar.

  7. Escriba RCPT TO:kate@fabrikam.com NOTIFY=success,failure y, después, presione Entrar.

    El comando NOTIFY opcional especifica los mensajes de notificación del estado de entrega (DSN) determinados (también conocidos como mensajes de devolución, informes de no entrega o NDR) que el SMTP necesita proporcionar. En este caso, está solicitando un mensaje de DSN para la entrega de mensajes correcta o errónea.

  8. Escriba DATA y, después, presione Entrar.

  9. Escriba Asunto: Prueba de Contoso y, después, presione Entrar.

  10. Vuelva a presionar Entrar.

    Se requiere una línea en blanco entre el campo Subject: y el cuerpo del mensaje.

  11. Escriba Este es un mensaje de prueba y, después, presione Entrar.

  12. Escriba un punto (.) y, después, presione Entrar.

  13. Para desconectarse del servidor SMTP, escriba QUIT y, después, presione Entrar.

  14. Para cerrar la sesión de Telnet, escriba quit y, después, presione Entrar.

Aquí se muestra el aspecto de una sesión correcta usando los pasos anteriores:

C:\Windows\System32> telnet

Microsoft Telnet> set localecho
Microsoft Telnet> set logfile c:\TelnetTest.txt
Microsoft Telnet> OPEN mail1.fabrikam.com 25

220 mail1.fabrikam.com Microsoft ESMTP MAIL Service ready at Fri, 5 Aug 2016 16:24:41 -0700
EHLO contoso.com
250-mail1.fabrikam.com Hello [172.16.0.5]
250-SIZE 37748736
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-X-ANONYMOUSTLS
250-AUTH NTLM
250-X-EXPS GSSAPI NTLM
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250 XRDST
MAIL FROM: chris@contoso.com
250 2.1.0 Sender OK
RCPT TO: kate@fabrikam.com NOTIFY=success,failure
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
Subject: test
This is a test message.
.
250 2.6.0 <c89b4fcc-3ad1-4758-a1ab-1e820065d622@mail1.fabrikam.com> [InternalId=5111011082268, Hostname=mail1.fabrikam.com] Queued mail for delivery
QUIT
221 2.0.0 Service closing transmission channel

En esta sección, se proporciona información sobre las respuestas correctas y con errores en los comandos que se han usado en el ejemplo anterior.

noteNota:
Los códigos de repuesta SMTP de tres dígitos definidos en RFC 5321 son los mismos para todos los servidores de mensajería SMTP, pero las descripciones de texto en las respuestas pueden ser ligeramente diferentes.

Los servidores SMTP responden a los comandos con una variedad de códigos de respuesta numéricos en el formato de x.y.z donde:

  • X indica si el comando era correcto, incorrecto o incompleto.

  • Y indica el tipo de respuesta que se ha enviado.

  • Z proporciona información adicional sobre el comando

Cuando el servidor que ha abierto la conexión recibe una respuesta, puede indicar si el servidor remoto ha aceptado el comando y si está listo para el siguiente, o si se ha producido un error.

El primer dígito (X) es especialmente importante de entender porque indica el éxito o el error del comando que se ha enviado. Aquí se muestra sus posibles valores y sus significados.

 

Código de respuesta Significado

2.y.z

El comando que se ha enviado se ha completado correctamente en el servidor remoto. El servidor remoto está listo para el siguiente comando.

3.y.z

El comando se ha aceptado pero el servidor remoto necesita más información antes de que la operación pueda completarse. El servidor de envío necesita enviar un nuevo comando con la información necesaria.

4.y.z

El comando no se ha aceptado por el servidor remoto por un motivo que puede ser temporal. El servidor de envío debe intentar conectarse de nuevo más tarde para ver si el servidor remoto puede aceptar correctamente el comando. El servidor de envío seguirá reintentando la conexión hasta que se complete una conexión correcta (indicado por el código 2.y.z) o se produzca un error permanente (indicado mediante un código 5.y.z).

Un ejemplo de un error temporal es el espacio de almacenamiento bajo en el servidor remoto. Una vez que haya más espacio disponible, el servidor remoto debe ser capaz de aceptar el comando correctamente.

5.y.z

El comando no se ha aceptado por el servidor remoto por un motivo que no es recuperable. El servidor de envío no reintentará la conexión y enviará un informe de no entrega al usuario que ha enviado el mensaje.

Un ejemplo de un error irrecuperable es un mensaje que se envía a una dirección de correo electrónico que no existe.

La tabla anterior se basa en información proporcionada por RFC 5321 (Protocolo simple de transferencia de correo), sección 4.2.1. Información adicional, incluidas descripciones del segundo (Y) y el tercer (Z) dígito de los códigos de respuesta SMTP se incluyen en esta sección, y en las secciones 4.2.2 y 4.2.3.

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.

  • Restricciones en el firewall de destino.

  • Restricciones en el firewall de origen.

  • Dirección IP o FQDN incorrecto para el servidor SMTP de destino.

  • Número de puerto incorrecto.

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

Respuesta de error   501 5.5.4 Invalid domain name

Posibles motivos del error

  • Caracteres no válidos en el nombre de dominio.

  • Restricciones de conexión en el servidor SMTP de destino.

noteNota:
EHLO es el verbo de Protocolo simple extendido de transferencia de mensajes (ESMTP) definido en RFC 5321. 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. Si el servidor que no es Exchange al que está intentando conectarse no admite EHLO, puede usar HELO en su lugar.

Respuesta correcta   250 2.1.0 Sender OK

Respuesta de error   550 5.1.7 Invalid address

Posibles motivos del error   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 usar Telnet para enviar un mensaje directamente a un servidor de buzón que no tiene un conector de recepción que está configurado para aceptar conexiones anónimas.

Respuesta correcta   250 2.1.5 Recipient OK

Respuesta de error   550 5.1.1 User unknown

Posibles motivos del error   El destinatario especificado no existe.

 
Mostrar: