Directorio de recogida y directorio de reproducción

Se aplica a: Exchange Server 2013

De manera predeterminada, los directorios de recogida y de reproducción existen en todos los servidores Buzón de correo de Microsoft Exchange Server 2013 o en el servidor de transporte perimetral. Los archivos de mensajes de correo electrónico con el formato correcto que copia al directorio de recogida o de reproducción se envían para su entrega. Los administradores usan el directorio de recogida para probar el flujo de correo y las aplicaciones lo usan para crear y enviar sus propios mensajes. El directorio de reproducción recibe mensajes de servidores de puerta de enlace externos y también se lo puede utilizar para reenviar los mensajes que los administradores exportan desde las colas de servidores de Exchange.

Anatomía de un archivo de mensaje de correo electrónico

Un mensaje de correo electrónico SMTP estándar está compuesto por el sobre del mensaje y el contenido del mensaje. El sobre del mensaje contiene información necesaria para la transmisión y la entrega del mensaje. El contenido del mensaje contiene el cuerpo del mensaje y campos de encabezado de mensaje, que se denominan de forma colectiva encabezado del mensaje. El sobre del mensaje se describe en RFC 2821 y el encabezado del mensaje se describe en RFC 2822.

Cuando un emisor redacta un mensaje de correo electrónico y lo envía para su entrega, el mensaje contiene la información básica necesaria para el cumplimiento de los estándares SMTP, como el remitente, un destinatario, la fecha y la hora de redacción del mensaje, una línea de asunto opcional y un cuerpo del mensaje también opcional. Esta información está contenida en el propio mensaje y, por definición, está contenida en el encabezado del mensaje.

El servidor de mensajería del remitente genera un sobre para el mensaje utilizando la información del remitente y el destinatario del encabezado del mensaje, y transmite el mensaje a Internet para entregarlo al servidor de mensajería del destinatario. Los destinatarios nunca ven el sobre del mensaje porque lo genera el proceso de transmisión del mensaje y no forma parte del mensaje.

Cada servidor implicado en la transmisión del mensaje puede insertar campos de encabezado del mensaje relacionados con la función del servidor al entregar el mensaje u otros campos de encabezado del mensaje específicos de la aplicación en el mensaje. Cuando el destinatario abre el mensaje con un cliente de correo electrónico, dicho cliente de correo electrónico muestra la información más relevante del encabezado del mensaje, como el remitente, los destinatarios y el tema, junto con el cuerpo del mensaje.

Cómo procesan los mensajes los directorios de recogida y de reproducción

En Exchange 2013, la ubicación predeterminada del directorio pickup es %ExchangeInstallPath%TransportRoles\Pickup. La ubicación predeterminada del directorio replay es %ExchangeInstallPath%TransportRoles\Replay. Un archivo de mensaje .eml con formato correcto que se copia en el directorio de recogida o de reproducción se procesa para su envío en los siguientes pasos:

  1. Los directorios de recogida y de reproducción comprueban si hay nuevos archivos de mensaje cada cinco segundos. Este intervalo de sondeo no puede modificarse. Puede ajustar la tasa de procesamiento de archivos de mensajes mediante el parámetro PickupDirectoryMaxMessagesPerMinute en el cmdlet Set-TransportService . Este parámetro afecta al directorio de recogida y el directorio de reproducción. El valor predeterminado es 100 mensajes por minuto. Los archivos que no se pueden abrir se dejan en el directorio de recogida y se evalúan de nuevo en el siguiente sondeo.

  2. Se comprueban los límites establecidos en los archivos de mensajes en el directorio de recogida, como el tamaño máximo de los encabezados y el número máximo de destinatarios. El tamaño máximo predeterminado del encabezado es 64 KB y el número máximo de destinatarios es 100. Estos límites se pueden cambiar mediante el cmdlet Set-TransportService. Esta configuración afecta sólo al directorio de recogida.

  3. Se cambia el nombre del archivo de< filename.eml> a <filename.tmp>. Si el <archivo filename.tmp> ya existe, se cambia el nombre del archivo como <nombre de archivo><datetime.tmp>. Si no se consigue cambiar el nombre del archivo, se genera un error de registro de eventos y el proceso de recogida continúa con el archivo siguiente.

  4. Una vez convertido correctamente el archivo .tmp en un mensaje de correo electrónico, se envía un comando de delete on close (eliminar al cerrar) al archivo .tmp. El archivo .tmp parece permanecer en el directorio de recogida, pero no se puede abrir.

  5. Después de poner en cola un mensaje correctamente, se emite un comando close y el archivo .tmp se elimina del directorio de recogida. Si se produce un error en la eliminación, se genera un error de registro de eventos. Si el servicio de transporte de Microsoft se reinicia mientras hay archivos .tmp en el directorio de recogida, todos los archivos .tmp se convierten a archivos .eml y se procesan de nuevo. Esto podría causar una duplicación de la transmisión de mensajes.

Requisitos de archivos de mensaje de directorio de recogida

Un archivo de mensaje que se copie en el directorio de recogida debe cumplir los requisitos siguientes para que se entregue correctamente:

  • El archivo de mensaje debe ser un archivo de texto que cumpla con el formato de mensaje SMTP básico. Se admiten contenidos y campos de encabezado de mensaje MIME.

  • El archivo de mensaje debe tener la extensión de nombre de archivo .eml.

  • Debe haber al menos una dirección de correo electrónico en los Sender campos de encabezado de mensaje o From en el encabezado del mensaje. Si existe una única dirección de correo electrónico en los Sender campos y From , la dirección de correo electrónico del From campo se usa como origen del mensaje en el sobre del mensaje.

  • Solo puede existir una dirección de correo electrónico en el Sender campo. No se permiten varias direcciones de correo electrónico. El Sender campo es opcional si solo existe una dirección de correo electrónico en el From campo.

  • Se permiten varias direcciones de correo electrónico en el From campo, pero también debe existir una sola dirección de correo electrónico en el Sender campo. A continuación, la dirección del Sender campo se usa como origen del mensaje en el sobre del mensaje.

  • Debe haber al menos una dirección de correo electrónico en los Tocampos , Cco Bcc .

  • Debe existir una línea en blanco entre el encabezado y el cuerpo del mensaje.

En este ejemplo, se muestra un mensaje de texto que utiliza un formato aceptable para el directorio de recogida.

To: mary@contoso.com
From: bob@fabrikam.com
Subject: Message subject

This is the body of the message.

El contenido MIME también se admite en archivos de mensaje del directorio de recogida. MIME define una amplia gama de contenido de mensajes, que incluye lenguajes que no pueden representarse en texto ASCII de 7 bits, HTML y otros contenidos multimedia. La descripción de MIME y sus requisitos están fuera del alcance de este tema. En este ejemplo, se muestra un mensaje de MIME simple que usa un formato aceptable para el directorio de recogida.

To: mary@contoso.com
From: bob@fabrikam.com
Subject: Message subject
MIME-Version: 1.0
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

<HTML><BODY>
<TABLE>
<TR><TD>cell 1</TD><TD>cell 2</TD></TR>
<TR><TD>cell 3</TD><TD>cell 4</TD></TR>
</TABLE>

</BODY></HTML>

Modificaciones del encabezado del mensaje del directorio de recogida

El directorio de recogida quita los siguientes campos de encabezado del mensaje:

  • Received

  • Resent-*

  • Bcc

    Nota:

    Las direcciones de correo electrónico que se encuentran en los campos de encabezado de mensaje opcionales Bcc del encabezado del mensaje se procesan correctamente. Una vez que los Bcc destinatarios se promueven a destinatarios de sobres de mensajes invisibles, se quitan del encabezado del mensaje para proteger su identidad. Si un mensaje solo Bcc contiene destinatarios, el valor de Destinatarios no divulgados se agrega al To campo del encabezado del mensaje.

El directorio pickup agrega su propio Received campo de encabezado a un mensaje como parte del proceso de envío de mensajes. El Received campo de encabezado se aplica en el formato siguiente.

Received: from localhost by Pickup with Microsoft SMTP Server id <ExchangeServerVersion><datetime>

El directorio de recogida modifica los siguientes campos de encabezado del mensaje si faltan o tienen un formato incorrecto:

  • Message-Id: si el Message-Id campo falta o está vacío, el directorio pickup agrega un campo Message-Id con el formato <GUID>@<defaultdomain>.

  • Fecha: si falta el Date campo o tiene un formato incorrecto, el directorio Pickup agrega la fecha y hora del procesamiento de mensajes por parte del directorio pickup.

Requisitos del archivo de mensaje del directorio de reproducción

El directorio de reproducción se emplea para volver a enviar mensajes exportados de Exchange y recibir mensajes de servidores de puerta de enlace externos. Esos mensajes ya están formateados para el directorio de reproducción. Casi no es necesario que un administrador o que otras aplicaciones redacten y envíen nuevos archivos de mensajes utilizando el directorio de reproducción. Debe utilizarse el directorio de recogida para crear y enviar nuevos archivos de mensaje.

Los mensajes del directorio de reproducción hacen un uso extensivo de campos de encabezado X. Los encabezados X son campos de encabezado de mensaje no oficiales definidos por el usuario que se encuentran en el encabezado del mensaje. Los encabezados X no se mencionan específicamente en RFC 2822, pero el uso de un campo de encabezado de mensaje no definido que empieza con "X-" se ha convertido en un método aceptado para agregar campos de encabezado de mensaje no oficiales a un mensaje. Los encabezados X específicos de Exchange que se utilizan en los archivos de mensaje del directorio de reproducción pueden establecer información de entrega que normalmente se encuentra en el sobre del mensaje. Esta función es necesaria para preservar información del mensaje original cuando utiliza el directorio de reproducción para procesar mensajes exportados de otro servidor de Exchange.

Un archivo de mensaje que se copie en el directorio de reproducción debe cumplir los requisitos siguientes para que se entregue correctamente:

  • El archivo de mensaje debe ser un archivo de texto que cumpla con el formato de mensaje SMTP básico. Se admiten contenidos y campos de encabezado de mensaje MIME.

  • El archivo de mensaje debe tener la extensión de nombre de archivo .eml.

  • Los encabezados X deben tener lugar antes de todos los campos de encabezado normales.

  • Debe haber una línea en blanco entre los campos de encabezado y el cuerpo del mensaje.

Los encabezados X descritos en la siguiente lista son necesarios para los mensajes del directorio de reproducción:

  • X-Sender: este encabezado X reemplaza el requisito de campo de encabezado de From mensaje en un mensaje SMTP típico. Debe existir un X-Sender campo que contenga una dirección de correo electrónico. El directorio Replay omite el From campo de encabezado del mensaje si está presente, aunque el cliente de correo electrónico del destinatario muestra el valor del campo de encabezado del From mensaje como remitente del mensaje. Normalmente, existen otros parámetros en el X-Sender campo, como se muestra en el ejemplo siguiente.

    X-Sender: <bob@fabrikam.com> BODY=7bit RET=HDRS ENVID=12345ABCD auth=<someAuth>
    

    Nota:

    Estos parámetros son valores del sobre del mensaje generados normalmente por el servidor emisor. Es posible que vea parámetros similares en archivos de mensaje exportados.

    RET especifica si se devuelve todo el mensaje o solo los encabezados en caso de no poderse entregar el mensaje. RET puede tener un valor de HDRS o FULL. ENVID si es un identificador de sobre de mensaje. BODY especifica la codificación de texto del mensaje. auth especifica un mecanismo de autenticación al servidor de mensajes como se describe en RFC 2554.

  • Receptor X: este encabezado X reemplaza el requisito de campo de encabezado de To mensaje en un mensaje SMTP típico. Debe existir al menos un X-Receiver campo que contenga una dirección de correo electrónico. Se permiten varios X-Receiver campos para varios destinatarios. El directorio Replay omite los campos de To encabezado del mensaje si están presentes, aunque el cliente de correo electrónico del destinatario muestra los valores de los To campos de encabezado del mensaje como destinatarios del mensaje. Pueden existir otros parámetros opcionales en los X-Receiver campos, como se muestra en el ejemplo siguiente.

    X-Receiver: <mary@contoso.com> NOTIFY=NEVER ORcpt=mary@contoso.com
    

    Nota:

    Estos parámetros son valores del sobre del mensaje generados normalmente por el servidor emisor. Es posible que vea parámetros similares en archivos de mensaje exportados. Estos parámetros se relacionan con los mensajes de notificación de estado de entrega (DSN) tal como se indica en RFC 1891.

    NOTIFY puede tener un valor de NEVER, DELAYo FAILURE. ORcpt mantiene el destinatario original del mensaje.

Los encabezados X descritos en la siguiente lista son opcionales para los archivos de mensaje del directorio de reproducción:

  • X-CreatedBy: se usa para la funcionalidad del firewall de encabezados. Si existe este encabezado X, no debe estar en blanco. Si el X-CreatedBy campo no existe, se agrega con un valor de Unspecified. Normalmente, el valor de este campo es MSExchange15, aunque también puede contener el tipo de espacio de direcciones que no son SMTP que se establece en un conector de envío, por ejemplo Notes (Notas).

  • X-EndOfInjectedXHeaders: tamaño en bytes de todos los encabezados X presentes. Este encabezado X se puede utilizar como un marcador para indicar el último campo de encabezado X antes de que empiecen los campos de encabezado normales.

  • X-ExtendedMessageProps: propiedades de mensaje extendidas para el mensaje.

  • X-HeloDomain: cadena de dominio HELO/EHLO presentada durante la conversación inicial del protocolo SMTP.

  • X-Source: lo usa el Visor de colas en la columna MessageSourceName . Si no se especifica el valor de este encabezado X, se usa el valor de Replay (Reproducción). Otros valores posibles para este encabezado X son Smtp Receive Connector (Conector de recepción Smtp) y Smtp Send Connector (Conector de envío Smtp).

  • X-SourceIPAddress: dirección IP del servidor de envío. Este campo es 0.0.0.0 si no se especifica ninguna dirección IP.

En este ejemplo, se muestra un mensaje de texto que utiliza un formato aceptable para el directorio de reproducción.

X-Receiver: <mary@contoso.com> NOTIFY=NEVER ORcpt=mary@contoso.com
X-Sender: <bob@fabrikam.com> BODY=7bit ENVID=12345AB auth=<someAuth>
Subject: Optional message subject

This is the body of the message.

El contenido MIME también es compatible en los archivos de mensajes del directorio de reproducción. MIME define una amplia gama de contenido de mensajes, que incluye lenguajes que no pueden representarse en texto ASCII de 7 bits, HTML y otros contenidos multimedia. La descripción de MIME y sus requisitos están fuera del alcance de este tema. En este ejemplo, se muestra un mensaje de MIME simple que usa un formato aceptable para el directorio de reproducción.

X-Receiver: <mary@contoso.com> NOTIFY=NEVER ORcpt=mary@contoso.com
X-Sender: <bob@fabrikam.com> BODY=7bit ENVID=12345ABCD auth=<someAuth>
To: mary@contoso.com
From: bob@fabrikam.com
Subject: Optional message subject
MIME-Version: 1.0
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

<HTML><BODY>
<TABLE>
<TR><TD>cell 1</TD><TD>cell 2</TD></TR>
<TR><TD>cell 3</TD><TD>cell 4</TD></TR>
</TABLE>

</BODY></HTML>

Modificaciones del encabezado del mensaje del directorio de reproducción

El directorio Replay elimina el campo de encabezado del Bcc mensaje del archivo de mensaje.

El directorio Replay agrega su propio Received campo de encabezado de mensaje a un mensaje como parte del proceso de envío de mensajes. El campo de encabezado de mensaje Recibido se aplica en el formato siguiente.

Received: from <ReceivingServerName> by Replay with <ExchangeServerVersion><DateTime>

El directorio de reproducción modifica los siguientes campos de encabezado de mensaje en el encabezado del mensaje:

  • Id. de mensaje: si falta este campo de encabezado de mensaje o está vacío, el directorio Replay agrega un campo de encabezado de mensaje message-ID con el formato <GUID>@<defaultdomain>.

  • Fecha: si falta este campo de encabezado de mensaje o tiene un formato incorrecto, el directorio Replay agrega el campo Encabezado de mensaje de fecha mediante la fecha y hora del procesamiento de mensajes por parte del directorio replay.

Fallas en el procesamiento de los mensajes de los directorios de recogida y de reproducción

Es posible que un archivo de mensaje copiado en los directorios de recogida o reproducción no se sitúe correctamente en la cola para su entrega. Pueden producirse las siguientes categorías de error de envío de mensaje:

  • Errores de entrega: un archivo de mensajes con formato correcto junto con un remitente válido que no se puede enviar correctamente para la entrega genera un informe de no entrega (NDR). El contenido incorrecto o las violaciones de la restricción de los mensajes del directorio de recogida también podrían causar un NDR. Cuando se genera un NDR durante el procesamiento de mensajes, el archivo de mensaje original se adjunta al mensaje de NDR y el archivo de mensaje se elimina del directorio de recogida o del directorio de reproducción.

    Nota:

    Un mensaje con un formato correcto enviado a la canalización de transporte puede experimentar más adelante un error de entrega y ser devuelto al remitente con un NDR. Este tipo de error puede deberse a un problema de transmisión que nada tiene que ver con los directorios de recogida o de reproducción, por ejemplo un error de servidor de mensajería o un error de enrutamiento en la ruta de entrega del mensaje.

  • Correo electrónico incorrecto: un mensaje clasificado como correo malintencionado tiene problemas graves que impiden que los directorios de recogida o reproducción envíen el mensaje para su entrega. La otra condición que provoca el correo incorrecto es cuando el mensaje tiene el formato correcto, pero los destinatarios no son válidos y no se puede enviar un mensaje NDR al remitente porque el remitente no es válido.

    Los archivos de mensaje determinados como correo malintencionado se dejan en los directorios pickup o Replay y se cambia el nombre de <filename.eml> a <filename.bad>. Si el <archivo filename.bad> ya existe, se cambia el nombre del archivo a <nombre de archivo><datetime.bad>. Si existe correo erróneo en los directorios de recogida o de reproducción, se genera un error de registro de eventos, pero los mismos mensajes de correo con errores no generan errores de registro de eventos.

    Nota:

    Siempre cree y guarde los archivos de mensaje en una ubicación distinta antes de copiarlos al directorio de recogida para su entrega. El directorio de recogida comprueba si existen mensajes nuevos cada 5 segundos. Por lo tanto, si intenta crear y guardar los archivos de mensaje en el mismo directorio de recogida, es posible que éste intente procesar los archivos de mensaje antes de que los acabe.

Consideraciones de seguridad para los directorios de recogida y de reproducción

En la siguiente lista se describen problemas de seguridad comunes a los directorios de recogida y de reproducción:

  • Las comprobaciones de seguridad configuradas en un conector de recepción, como comprobaciones contra correo electrónico no deseado, antimalware, filtrado de remitentes o acciones de filtrado de destinatarios no se realizan en mensajes que se envían a través del directorio de recogida o de reproducción.

  • Un directorio de recogida o de reproducción comprometido puede actuar como una retransmisión abierta. Eso permite que los mensajes se reenvíen o retransmitan con un servidor distinto para ocultar el origen real del mensaje.

La siguiente lista describe preocupaciones de seguridad adicionales que afectan al directorio de reproducción:

  • Los encabezados X utilizados por el directorio de reproducción permiten la creación manual del sobre del mensaje. La información de los X-Sender campos y X-Receiver puede ser completamente diferente de los To campos de encabezado de mensaje o From mostrados por los clientes de correo electrónico. Esta usurpación de la identidad del emisor y del dominio suele denominarse suplantación de identidad. Un correo suplantado es un mensaje de correo electrónico en el que la dirección del remitente se ha modificado para parecer que ha partido de un remitente que no es el que ha enviado originalmente el mensaje.

  • Si el X-CreatedBy campo tiene el valor de MSExchange15, el destino se considera de confianza y no se aplica el firewall de encabezados. El Firewall de encabezado es una manera que tiene Exchange de preservar los encabezados X en mensajes que se transmiten entre servidores de Exchange de confianza, o de eliminar posibles encabezados X reveladores de los mensajes transmitidos a destinos que no son de confianza y que se encuentran fuera de la organización Exchange. Estos encabezados X pueden utilizarse para compartir información de Exchange como el nivel de confianza de correo no deseado (SCL), la firma de mensajes o el cifrado entre servidores de Exchange autorizados. Desvelar esta información a fuentes no autorizadas podría suponer un riesgo para la seguridad. Para obtener más información acerca de la seguridad de encabezado, consulte el artículo Descripción del firewall de encabezado.

Debe aplicarse un mayor nivel de seguridad en el directorio de reproducción debido a los riesgos de seguridad adicionales asociados. Es posible otorgar acceso al directorio de recogida a los usuarios o aplicaciones que deban generar y enviar mensajes, pero no deben tener acceso al directorio de reproducción.

Tanto el directorio de recogida como el directorio de reproducción están habilitados de manera predeterminada en todos los servidores Buzón de correo y de transporte perimetral. Si el directorio pickup o el directorio Replay no son necesarios en un servidor de buzón de correo específico o en un servidor de transporte perimetral de su organización, puede deshabilitar el directorio pickup o el directorio Replay en ese servidor estableciendo la ruta de acceso del directorio pickup o la ruta de acceso del directorio replay en el valor $null. Para obtener más información, vea Configurar el directorio de recogida y el directorio de reproducción.

Permisos para los directorios de recogida y de reproducción

Los siguientes permisos son necesarios para los directorios de recogida y de reproducción:

  • Administrador: Control total

  • Sistema: Control total

  • Servicio de red: Lectura, Escritura y Eliminar subcarpetas y archivos

De forma predeterminada, el servicio de transporte de Microsoft Exchange usa credenciales de seguridad de la cuenta de usuario del servicio de red para administrar la ubicación y los permisos de los directorios de recogida y de reproducción. La cuenta del servicio de red requiere estos permisos en el directorio de recogida para poder abrir archivos .eml, cambiar su nombre a .tmp, y eliminarlos o asignarles la extensión .bad si el mensaje se clasifica como correo erróneo.

Puede mover la ubicación de estos directorios mediante los parámetros PickupDirectoryPath y ReplayDirectoryPath en el cmdlet Set-TransportService . El cambio correcto de ubicación del directorio de recogida depende de los derechos que se otorguen a la cuenta del servicio de red en la nueva ubicación del directorio de recogida y de si los nuevos directorios ya existen. Si el directorio no existe, y si la cuenta del servicio de red tiene los derechos correspondientes para crear carpetas y aplicar permisos en la nueva ubicación, se crea el directorio y se le aplican los permisos correctos. Si ya existe el nuevo directorio, no se comprueban los permisos de la carpeta existente. Siempre que mueva las ubicaciones de directorio mediante el parámetro PickupDirectoryPath o ReplayDirectoryPath con el cmdlet Set-TransportService , compruebe siempre que el nuevo directorio existe y que el nuevo directorio tiene los permisos correctos aplicados.