Extensiones del protocolo SMTP para Exchange Server 2007

 

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

Última modificación del tema: 2009-09-17

El motor del Protocolo simple de transferencia de correo (SMTP) es un distribuidor principal de eventos COM. El motor básico del protocolo SMTP es responsable de todas las comunicaciones SMTP estándar y administra la mayoría de las extensiones de servicio SMTP estándar. En concreto, el motor básico de SMTP administra el estándar de Protocolo simple de transferencia de correo extendido (ESMTP) definido en Solicitud de comentarios (RFC) 821 y RFC 1869. Los eventos de protocolo se pueden utilizar para modificar el protocolo SMTP y añadir nuevos comandos ESMTP o incluso cambiar la acción de comandos existentes. Exchange Server 2007 utiliza estos eventos de protocolo para implementar comandos SMTP extendido específicos de Exchange y comunicarse con otros servidores de Exchange en la organización de manera más eficaz que con SMTP estándar.

Se puede comprobar si los comandos SMTP extendido están cargados en Exchange Server 2007 mediante Telnet para conectarse al puerto TCP del servidor SMTP virtual. Cuando se envía el comando EHLO para iniciar una conexión ESMTP, la respuesta del servidor indica las funciones que admite el servidor SMTP virtual. Los comandos estándar se muestran cuando se envía un comando HELP.

En la tabla siguiente se explican las funciones SMTP que admite el servicio SMTP extendido de Exchange.

Funciones SMTP admitidas en Exchange Server 2007

Respuesta del servidor SMTP Comentarios

8BITMIME

Indica que el servidor virtual SMTP admite mensajes de Extensiones multipropósito de correo Internet (MIME) de 8 bits.

AUTH, AUTH GSSAPI NTLM LOGIN y AUTH=LOGIN

Indica que el servidor virtual SMTP local admite la extensión de servicio de autenticación SMTP. La información adicional después de la palabra clave AUTH identifica los mecanismos de autenticación admitidos.

BDAT, CHUNKING

Alternativa al comando DATA, que toma dos argumentos. Cuando un servidor virtual SMTP responde al comando EHLO con la respuesta CHUNKING, el servidor SMTP indica que admite el comando BDAT y aceptará los mensajes en fragmentos.

El primer argumento indica la longitud del paquete de datos binarios, de manera que el host SMTP no tiene que buscar continuamente el final de los datos. El servidor de recepción cuenta los bytes del mensaje y cuando el tamaño del mensaje alcanza el valor enviado por el comando BDAT, el servidor da por sentado que ha recibido todos los datos del mensaje. El segundo argumento indica si el paquete de datos es el último de la transmisión. El segundo argumento es opcional.

BINARYMIME

Indica que el servidor virtual SMTP acepta los mensajes que contienen material binario sin codificación del transporte. Estos mensajes deben utilizar un parámetro BODY que incluya el valor BINARYMIME junto con el comando MAIL. Cuando el servidor SMTP acepta un comando MAIL con un parámetro BODY de BINARYMIME, el servidor acepta conservar todos los bits en cada octeto que se pasa mediante el comando BDAT. La extensión BINARYMIME SMTP solamente se puede usar con CHUNKING.

DATA

Lo envía un host remoto para iniciar la transferencia del contenido de los mensajes.

DSN

Comando ESMTP que habilita notificaciones de estado de la entrega tal como se define en Solicitud de comentarios (RFC) 1891.

EHLO

Lo envía un cliente para indicar el inicio de una sesión ESMTP. El servidor puede identificar su compatibilidad con comandos ESMTP en su respuesta a EHLO.

HELO

Lo envía un cliente para identificarse, normalmente un nombre de dominio, y para indicar el inicio de una sesión SMTP estándar.

HELP

Devuelve una lista de comandos SMTP que admite el servidor virtual SMTP en sesiones SMTP estándar (frente a las sesiones ESMTP).

MAIL

Identifica el inicio de una transferencia de mensajes mediante la identificación del remitente del mensaje; utilizado en el formato MAIL FROM.

PIPELINING

Ofrece la posibilidad de enviar una secuencia de comandos sin necesidad de esperar una respuesta tras cada comando.

QUIT

Indica el fin de una sesión SMTP estándar o extendido.

RCPT

Identifica los destinatarios del mensaje; utilizados en el formato RCPT TO.

RSET

Anula la transacción de mensajes completa y restablece el búfer.

SIZE

Ofrece un mecanismo mediante el cual el servidor virtual SMTP puede indicar el tamaño máximo de mensajes admitido. Los servidores compatibles deben proporcionar extensiones de tamaño para indicar el tamaño máximo de mensajes aceptado. Los host remotos no deben enviar mensajes con tamaño superior al que indica el servidor.

STARTTLS

Indica que el servidor SMTP admite SMTP seguro por medio de Seguridad de la capa de transporte (TLS). La extensión de servicio SMTP para SMTP seguro por medio de TLS se define en RFC 2487.

VRFY

Comprueba la disponibilidad de un buzón para la entrega de mensajes. Por ejemplo, VRFY TED comprueba que un buzón para Ted reside en el servidor local. De forma predeterminada, este comando está disponible en Exchange 2007, pero no comprueba los usuarios. El servidor informará al host remoto que, aunque el usuario no se puede comprobar, se aceptarán los mensajes. La respuesta del servidor tiene el siguiente formato: 252 2.1.5 No se puede comprobar el usuario pero se aceptará el mensaje para Ted@wingtiptoys.com 

XEXCH50

Ofrece la posibilidad de enviar propiedades ampliadas de sobre de transporte de mensaje en Formato de codificación de base de datos de mensajes (MDBEF) durante una comunicación de servidor a servidor de Exchange 2007.

X-EXPS GSSAPI NTLM LOGIN, X-EXPS=LOGIN

X-EXPS es un comando propiedad de Exchange. Es similar a AUTH debido a que indica los métodos que pueden utilizar los servidores que ejecutan Exchange 2007, Exchange 2003 y Exchange 2000 para la autenticación:

GSSAPI   Método que significa Interfaz de programación de la aplicación de servicios de seguridad genéricos, permite autenticación mediante Kerberos.

NTLM   Método que significa Windows NT y Administrador LAN que permite autenticación mediante el protocolo Desafío/Respuesta de Windows NT.

LOGIN   Método que significa AUTH LOGIN, una autenticación de texto sin cifrar que utiliza un nombre de usuario y contraseña con codificación base 64.

X-LINK2STATE

Agrega compatibilidad con propagación del estado de vínculo al servicio SMTP. Para obtener información detallada sobre el algoritmo de estado del vínculo utilizado para propagar la información de estado del vínculo dentro y entre los grupos de enrutamiento, consulte Arquitectura de enrutamiento de mensajes.

Nota

Todos los comandos SMTP específicos de Exchange comienzan por una "X-" (sin comillas). Si estos comandos no se muestran en la respuesta EHLO del servidor virtual SMTP, el servidor ejecuta la versión basada en Windows Server del servicio SMTP. Si es así, debe volver a instalar Exchange Server 2007 y los Service Pack.

Categorías de eventos de protocolo

El motor de protocolo SMTP activa eventos de protocolo para controlar la comunicación de host a host. Existen tres tipos principales de eventos que pueden producirse en este tipo de comunicación mediante SMTP:

  • El servicio SMTP recibe un comando SMTP.

    Estos eventos se producen cuando un host o cliente SMTP remoto se conecta al servicio SMTP local y establece una sesión enviando el comando HELO o EHLO. Los eventos de esta categoría son eventos OnInboundCommand de protocolo SMTP en conexiones entrantes.

  • El servicio SMTP recibe una respuesta SMTP

    Estos eventos tienen lugar cuando el servicio SMTP local recibe respuestas de un host o cliente SMTP remoto a los comandos SMTP salientes. Los eventos de esta categoría son eventos OnServerResponse de protocolo SMTP en conexiones salientes.

  • El servicio SMTP envía un comando SMTP

    Estos eventos tienen lugar cuando el servicio SMTP local conecta con un host SMTP remoto y establece una sesión para transferir mensajes. Los eventos de esta categoría son eventos OnSessionBegin, OnMessageStart, OnPerRecipient, OnBeforeData y OnSessionEnd de protocolo SMTP en conexiones salientes.

En la tabla siguiente se resume la finalidad de cada evento de protocolo SMTP.

Eventos de protocolo en el servicio SMTP

Evento Comentarios

OnInboundCommand

Tiene lugar cuando el servicio de protocolo SMTP recibe un comando SMTP que ofrece a un receptor de eventos la oportunidad de responder.

OnServerResponse

Tiene lugar cuando el servicio SMTP recibe una respuesta SMTP a un comando SMTP anteriormente enviado.

OnSessionBegin

Se produce antes de que se transmita el comando EHLO.

OnMessageStart

Se produce antes de que se transmita el comando MAIL FROM.

OnPerRecipient

Se produce antes de que se transmita el comando RCPT TO.

OnBeforeData

Se produce antes de que se transmita el comando de protocolo DATA.

OnSessionEnd

Se produce antes de que se transmita el comando QUIT.

Extensiones del protocolo SMTP específicas de Exchange

El programa de instalación de Exchange Server 2007 registra las extensiones del protocolo SMTP específicas de Exchange para las siguientes funciones de protocolo SMTP.

XEXCH50

XEXCH50 es una extensión ESMTP de Exchange que se utiliza para retransmitir determinadas propiedades de los mensajes, como el sobre y los destinatarios. El comando XEXCH50 es un comando breve. Un comando XEXCH50 que ha recibido un tipo de respuesta satisfactoria va seguido de un objeto binario grande de tamaño variable. (El tamaño corresponde al primer argumento del comando XEXCH50.)

Esta función se implementa mediante nueve receptores de eventos para conseguir una comunicación total entre dos servidores que ejecutan Exchange. En la tabla siguiente se asignan los eventos de protocolo a sus receptores de eventos XEXCH50. Todos los receptores de eventos XEXCH50 están implementados en Peexch50.dll, que reside en el directorio Archivos de programa\Exchsrvr\bin.

Extensiones de protocolo para el comando XEXCH50

Receptor de eventos Evento de protocolo Comentarios

XEXCH50 del protocolo SMTP de Exchange antes del receptor de datos

OnBeforeData

Notifica al receptor de XEXCH50 que el comando de protocolo DATA está a punto de transmitirse. El receptor XEXCH50 tiene ahora la oportunidad de solicitar el servicio SMTP en lugar de enviar un comando XEXCH50 para iniciar una comunicación XEXCH50.

Receptor de EHLO entrante XEXCH50 del protocolo SMTP de Exchange

OnInboundCommand

Notifica al receptor XEXCH50 que se ha recibido un comando EHLO.

Receptor de XEXCH50 entrante del protocolo SMTP de Exchange

OnInboundCommand

Implementa el comando XEXCH50 para iniciar una conversación XEXCH50.

Receptor de correo entrante XEXCH50 del protocolo SMTP de Exchange

OnInboundCommand

Implementa el comando MAIL en una conversación XEXCH50.

Receptor de correo entrante XEXCH50 del protocolo SMTP de Exchange

OnInboundCommand

Permite al servidor virtual SMTP local recibir información del destinatario en una comunicación XEXCH50 entrante.

XEXCH50 del protocolo SMTP de Exchange por receptor de eventos del destinatario

OnPerRecipient

Permite al servidor virtual SMTP enviar información del destinatario en una comunicación XEXCH50 saliente.

Receptor de respuestas EHLO de XEXCH50 del protocolo SMTP de Exchange

OnServerResponse

Permite al servidor virtual SMTP local recibir una respuesta tras el envío de un comando EHLO al host remoto. La respuesta del host remoto puede indicar compatibilidad con comunicaciones XEXCH50. Exchange incluye XEXCH50 en la lista de comandos compatibles que se devuelven al host de conexión.

Receptor de respuestas XEXCH50 del protocolo SMTP de Exchange

OnServerResponse

Permite al servidor virtual SMTP local recibir una respuesta a un comando XEXCH50 saliente anteriormente ejecutado. Si, por ejemplo, el servicio SMTP local ejecuta un comando XEXCH50 sin autenticación previa, el servidor remoto responde: 504 Primero es necesario autenticar.

Receptor de respuestas RCPT de XEXCH50 del protocolo SMTP de Exchange

OnServerResponse

Permite al servidor virtual SMTP local recibir información de estado del servidor de Exchange remoto de cada destinatario que se indica mediante un comando RCPT. Puede que el formato de dirección de un destinatario sea incorrecto o que el servidor no pueda retransmitir. Si la información del destinatario es correcta, el servidor virtual SMTP remoto refleja la dirección de nuevo en el servicio SMTP local con información de estado como: 250 2.1.5 administrator@tailspintoys.com.

X-LINK2STATE

Los comandos y las respuestas X-LINK2STATE son extensiones específicas de SMTP. Este comando es propiedad de Exchange y está diseñado para intercambiar información de la topología de enrutamiento entre servidores SMTP de Exchange. El tamaño máximo posible de cualquier comando y respuesta X-LINK2STATE es 1.024 bytes. Este tamaño es con frecuencia el tamaño real de los comandos y las respuestas X-LINK2STATE.

Esta función se implementa mediante cinco receptores de eventos. No obstante, se utiliza un receptor de eventos para dos eventos independientes, tal como se indica en la tabla siguiente. Todos los receptores de eventos X-LINK2STATE están implementados en Xlsasink.dll ubicado en el directorio \Archivos de programa\Exchsrvr\bin.

Extensiones de protocolo para el comando X-LINK2STATE

Receptor de eventos Evento de protocolo Comentarios

Receptor de controlador de comando EHLO entrante para XLSA

OnInboundCommand

Notifica a los receptores de eventos X-LINK2STATE que se ha recibido un comando EHLO entrante.

Receptor de controlador de comando X-LSA entrante

OnInboundCommand

Notifica a los receptores de eventos X-LINK2STATE que se ha recibido un comando LINK2STATE entrante.

Receptor de X-LSA

OnMessageStart, OnSessionEnd

Indica el inicio (comando MAIL) y el fin (comando QUIT) de una comunicación X-LINK2STATE saliente. Debido a que el servidor virtual SMTP remoto es el destinatario final del paquete Orginfo que se va a transmitir, no es necesario especificar destinatarios en un comando RCPT saliente. Este receptor de eventos transmite la información de estado del vínculo.

Receptor de controlador de respuesta X-LSA

OnServerResponse

Responde a un comando X-LINK2STATE entrante con información acerca de cómo transmitir la información de estado del vínculo. Un ejemplo de respuesta es: 200 LAST CHUNK={00000029} MULTI (5) ({00000010} DONE_RESPONSE), que indica el último fragmento de datos enviado por este servidor virtual SMTP.

Receptor de controlador de respuesta EHLO para X-LSA

OnServerResponse

Responde a un comando EHLO entrante mostrando el comando X-LINK2STATE en la respuesta del servidor.

X-EXPS

X-EXPS es un verbo propiedad de Exchange, aunque es similar a AUTH. No existe límite de tamaño máximo para los fragmentos de datos o el número de fragmentos de datos intercambiado. La sintaxis de los comandos de datos y las respuestas dependen del paquete AUTH seleccionado como, por ejemplo, LOGIN, NTLM, GSSAPI u otros. Para obtener más información, consulte AUTH RFC. 

Aunque EXPS significa Protocolo de seguridad de Exchange, el único protocolo al que hace referencia es SMTP. Algunos verbos que se utilizan en Exchange 2000 Server y en Exchange Server 2003 son propiedad de estos productos y se incluyen con verbos ESMTP. Se conocen como verbos ESMTP X.

Estas características se implementan mediante cinco receptores de eventos, tal como se muestra en la tabla siguiente. Todas las extensiones de protocolo de seguridad están implementadas en Exps.dll ubicado en el directorio \Archivos de programa\Exchsrvr\bin.

Extensiones del protocolo de seguridad X-EXPS

Receptor de eventos Evento de protocolo Comentarios

Receptor EXPS-EOD del protocolo de seguridad SMTP de Exchange

OnInboundCommand

Indica el fin de la transferencia de datos ( _EOD).

Receptor EXPS-Aux del protocolo de seguridad SMTP de Exchange

OnInboundCommand

Indica un comando AUTH entrante.

Receptor EHLO del protocolo de seguridad SMTP de Exchange

OnInboundCommand, OnServerResponse

Indica un comando EHLO entrante y responde a EHLO mostrando el comando X-EXPS en la respuesta del servidor.

Receptor de correo del protocolo de seguridad SMTP de Exchange

OnInboundCommand, OnServerResponse, OnMessageStart

Indica el inicio de la transferencia de datos. Este receptor de eventos está implementado para todos los escenarios del comando MAIL relevantes. Procesa eventos que indican un comando MAIL entrante, responde a un comando MAIL entrante y ejecuta un comando MAIL saliente.

Receptor EXPS del protocolo de seguridad SMTP de Exchange

OnInboundCommand, OnServerResponse, OnSessionStart

Indica el inicio de una sesión X-EPS. Este receptor de eventos está implementado para todos los escenarios del comando X-EXPS relevantes. Procesa eventos que indican un comando X-EXPS entrante, responde a un comando X-EXPS entrante y puede ejecutar un comando X-EXPS saliente.

Control de SPAM

Esta característica se implementa mediante tres receptores de eventos que procesan la información del remitente y del destinatario en conexiones SMTP entrantes, tal como se muestra en la tabla siguiente. Los receptores de eventos de control de correo electrónico no deseado están implementados en Turflist.dll, ubicado en el directorio \Archivos de programa\Exchsrvr\bin.

Extensiones SMTP de control de correo electrónico no deseado

Receptor de eventos Evento de protocolo Comentarios

Receptor del controlador de comandos RCPT entrantes

OnInboundCommand

Indica un comando RCPT entrante con una dirección de destinatario que debe comprobarse.

Receptor de controlador de comando MAIL entrante para TURF

OnInboundCommand

Indica un comando MAIL entrante con una dirección de remitente que debe comprobarse.

Receptor de controlador de comando EOD entrante

OnInboundCommand

Indica un comando _EOD entrante.

X-ANONYMOUSTLS

Este parámetro es nuevo en Exchange 2007. Permite la selección de un certificado anónimo de Seguridad de la capa de transporte (TLS) o la selección de un certificado anónimo de Seguridad de la capa de transporte (TLS). Exchange consulta el servicio de directorio de Active Directory para recuperar la huella digital del certificado en el servidor. El atributo msExchServerInternalTLSCert del objeto de servidor almacena la huella digital del certificado. Si no puede leerse el atributo msExchServerInternalTLSCert o si el valor es nulo, Exchange no anuncia X-ANONYMOUSTLS en la sesión SMTP y no se carga ningún certificado.

XLONGADDR

Este parámetro es nuevo en Exchange 2007. Habilita el conector de recepción para que acepte direcciones largas de correo electrónico X.400. Las direcciones de correo electrónico X.400 se encapsulan en direcciones de correo electrónico de SMTP mediante el uso del método de encapsulación Internet Mail Connector Encapsulated Address (IMCEA).

Cuando el valor de este parámetro es $False, la longitud máxima de una dirección de correo electrónico de SMTP completa es de 571 caracteres.

Cuando el valor de este parámetro es $True, se realizan los cambios siguientes:

  • La palabra clave XLONGADDR se anuncia en la respuesta EHLO del conector de recepción.

  • La longitud de línea aceptada de una sesión de SMTP se incrementa a 8.000 caracteres.

  • MAIL FROM: acepta direcciones largas válidas y RCPT TO: comandos SMTP.

Por lo tanto, las direcciones de correo electrónico X.400 pueden contener hasta 1.860 caracteres tras la encapsulación IMCEA.

El intervalo de entrada válido para este parámetro es $True o $False. El valor predeterminado es $False. Sólo podrá modificar este parámetro en los conectores de recepción que estén configurados en servidores de transporte de concentradores.

XRDST

Este parámetro es nuevo en Exchange 2007. Esta extensión de protocolo se utiliza para comunicar un destino de enrutamiento asociado a un mensaje en el servidor remoto. Si un servidor remoto no anuncia XRDST y si el mensaje que se va a enviar requiere compatibilidad con XRDST, se registra el identificador 2021 del evento MSExchangeTransport en el registro de eventos. El nombre simbólico de este evento es tuple_SmtpSendUnableToTransmitRDst. Este evento indica que el mensaje no se puede enviar.

EXPS EXCHANGEAUTH GSSAPI NTLM

Este parámetro es nuevo en Exchange 2007. Se trata de una extensión de servicios de un conector de recepción predeterminado que se anuncia después de X-ANONYMOUSTLS.

X-EXCHANGEAUTH SHA256

Este parámetro es nuevo en Exchange 2007. Se trata de una extensión de servicios de un conector de recepción predeterminado que se anuncia después de X-ANONYMOUSTLS.