Administrar el directorio de recogida

 

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

Última modificación del tema: 2007-02-22

De forma predeterminada, el directorio de recogida existe en todos los equipos de Microsoft Exchange Server 2007 que tienen la función del servidor Transporte de concentradores instalada. Los archivos de mensajes de correo electrónico con el formato correcto que copia al directorio de recogida se envían para su entrega. El directorio de recogida lo utilizan los administradores para probar el flujo de correo o también lo utilizan las aplicaciones que deban crear y enviar sus propios mensajes.

Se puede utilizar el cmdlet Set-TransportServer para todas las tareas de configuración del directorio de recogida. Este cmdlet se utiliza para realizar los siguientes cambios en la configuración del directorio de recogida:

  • Habilitar o deshabilitar el directorio de recogida.

  • Especificar la ubicación del directorio de recogida.

  • Especificar el tamaño máximo de encabezado para un archivo de mensajes que acepta el directorio de recogida.

  • Especificar número máximo de destinatarios para un archivo de mensajes que acepta el directorio de recogida.

  • Especificar una velocidad máxima para el procesamiento de archivos de mensaje en mensajes por minuto.

Cómo procesa los mensajes el directorio de recogida

Un archivo de mensaje .eml con formato correcto que se copia al directorio de recogida se procesa para su envío en los siguientes pasos:

  1. El directorio de recogida comprueba si existen nuevos archivos de mensaje cada 5 segundos. No es posible modificar este intervalo. Puede ajustar la velocidad del procesamiento de archivos de mensajes utilizando el parámetro PickupDirectoryMaxMessagesPerMinute del cmdlet Set-TransportServer. El valor predeterminado es 100 mensajes por minuto. Los archivos que se pueden abrir se dejan en el directorio de recogida y se evalúan de nuevo en el siguiente sondeo.

  2. 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, se comprueban. El tamaño máximo predeterminado del encabezado es 64 KB y el número máximo de destinatarios es 100. Puede modificar estos límites con el cmdlet Set-TransportServer.

  3. El nombre de archivo cambia de <filename>.eml a <filename>.tmp. Si el archivo <filename>.tmp ya existe, el nombre de archivo se cambia a <filename><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 eliminación tras cierre al archivo .tmp. El archivo .tmp parece permanecer en el directorio de recogida, pero nadie más puede abrirlo.

  5. Después de poner en cola un mensaje correctamente, se emite un comando de cierre 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 sucesos. Si el servicio de transporte de Microsoft Exchange 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 transmisión de mensajes duplicada.

Anatomía de los archivos de mensaje de correo electrónico

Un mensaje de correo electrónico SMTP estándar se compone del sobre del mensaje y el contenido del mensaje. El sobre del mensaje contiene la información necesaria para transmitir y entregar el mensaje. El contenido del mensaje contiene los campos de encabezado del mensaje que colectivamente se llaman el encabezado del mensaje y el cuerpo del mensaje. El sobre del mensaje está descrito en RFC 2821, y el encabezado del mensaje está descrito en RFC 2822.

Cuando un remitente redacta un mensaje de correo electrónico y lo envía para entregarlo, el mensaje contiene la información básica necesaria para cumplir con estándares SMTP, como un remitente, un destinatario, la fecha y la hora en que se escribió el mensaje, una línea de tema opcional y un cuerpo de mensaje opcional. El mensaje en sí contiene esta información, de forma predeterminada, 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 de 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, el 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.

La mejor analogía para explicar la relación entre el sobre del mensaje y el encabezado del mensaje es el envío de correo ordinario en una gran empresa. Se escribe una carta formal con la dirección de la empresa y la dirección del destinatario en la parte superior de la carta. Se entrega la carta al personal encargado del correo para su procesamiento. El personal encargado del correo crea un sobre utilizando la información del destinatario de la carta, la cierra en un sobre y lo deposita en el buzón. El servicio postal entrega el sobre a la empresa del destinatario basándose en la dirección del sobre. El personal encargado del correo de la empresa del destinatario recibe el sobre, determina el destinatario a partir del sobre, lo abre y deja la carta en la bandeja de correo personal del destinatario. Cuando el destinatario recupera la carta de su buzón personal, sabe, a partir de la información del saludo, quién ha escrito la carta y a quién va dirigida.

Requisitos para archivos de mensajes del 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 el formato de mensaje SMTP básico. Se admite contenido y campos de encabezado del mensaje de Extensiones multipropósito de correo Internet (MIME).

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

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

  • Sólo puede existir una dirección de correo electrónico en el campo Sender. No se permiten varias direcciones de correo electrónico. El campo Remitente es opcional si sólo existe una dirección de correo electrónico en el campo From:.

  • Se permiten varias direcciones de correo electrónico en el campo From:, pero también debe existir una única dirección de correo electrónico en el campo Sender. La dirección del campo Sender se utiliza como origen del mensaje en el sobre del mensaje.

  • Debe existir al menos una dirección de correo electrónico en los campos To:, Cc: o Bcc:.

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

A continuación, se incluye un ejemplo de 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 variedad de contenido de mensajes que incluye idiomas que no se pueden representar en texto ASCII de 7 bits, texto, HTML y otro contenido multimedia. La descripción de MIME y sus requisitos está fuera del alcance de este tema. A continuación, se incluye un ejemplo de un mensaje MIME simple que utiliza 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 en el Encabezado del mensaje realizados en los archivos de mensaje del directorio de recogida

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

  • Received:

  • Resent-*:

  • Bcc:   Las direcciones de correo electrónico que se encuentran en los campos de encabezado del mensaje opcionales Bcc: se procesan correctamente. Los destinatarios del campo Bcc: se convierten en destinatarios de sobre de mensaje invisibles y se quitan del encabezado del mensaje para proteger su identidad. Si un mensaje sólo contiene destinatarios en el campo Bcc:, el valor de destinatario desconocido se agrega al campo To: del encabezado del mensaje.

El directorio de recogida agrega su propio campo de encabezado Received: al mensaje como parte del proceso de envío. El campo de encabezado Received: 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 falta el campo Message-Id o está vacío, el directorio de recogida agrega un campo Message-Id usando el formato <GUID>@<defaultdomain>.

  • Date:   Si falta el campo Date o tiene un formato incorrecto, el directorio de recogida agrega la fecha y la hora del mensaje procesando el directorio de recogida.

Errores de procesamiento de mensajes del directorio de recogida

Es posible que un archivo de mensaje copiado al directorio de recogida 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 mensaje con el formato correcto y un remitente válido que el directorio de recogida no puede enviar genera un informe de no entrega (NDR). Las infracciones de restricción de mensaje del directorio de recogida o un contenido con un formato incorrecto también pueden provocar que el directorio de recogida genere un NDR. Cuando se genera un NDR durante el procesamiento de mensajes del directorio de recogida, el archivo de mensaje original se adjunta al mensaje de NDR y el archivo de mensaje se elimina del directorio de recogida.

    Nota

    Un mensaje con un formato correcto que envíe el directorio de recogida puede experimentar un error de entrega y devolverse al remitente con un NDR. Este tipo de error puede deberse a un error de transmisión sin relación con el directorio de recogida, como un error de servidor de mensajería o un error de enrutamiento en la ruta de entrega del mensaje.

  • Correo erróneo   Un mensaje clasificado como correo erróneo tiene graves problemas que impiden que el directorio de recogida envíe el mensaje para su entrega. La otra condición que provoca correo erróneo es un mensaje con un formato correcto pero con destinatarios no válidos. En este caso, no se puede enviar un NDR al emisor porque éste no es válido.

    Los archivos de mensaje clasificados como correo erróneo se dejan en el directorio de recogida y su nombre cambia de <filename>.eml a <filename>.bad. Si el archivo <filename>.bad ya existe, el nombre de archivo se cambia a <filename><datetime>.bad. Si existe correo erróneo en el directorio de recogida, se genera un error de registro de eventos, pero los mismos mensajes de correo erróneo no generan errores de registro de sucesos.

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.

Problemas de seguridad del directorio de recogida

Exchange Server 2003 utiliza un único directorio de recogida para crear y enviar archivos de mensaje de texto. Exchange 2007 divide esta funcionalidad en directorios de recogida y reproducción distintos. El directorio de recogida se ha diseñado para que los usuarios o aplicaciones creen manualmente nuevos archivos de mensajes. El directorio de reproducción se ha diseñado para reenviar mensajes de correo electrónico de Exchange exportados y para recibir mensajes de servidores de puerta de enlace externos.

La lista siguiente describe problemas de seguridad comunes en el directorio de recogida y el de reproducción:

  • Las comprobaciones de seguridad configuradas en un conector de recepción, como comprobaciones contra correo electrónico no deseado, antivirus, 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 reproducción en peligro puede actuar como retransmisión abierta. Esto permite que los mensajes se reenvíen o "retransmitan" con un servidor distinto para ocultar el origen real del mensaje.

La separación del directorio de recogida y el de reproducción significa que puede aplicar distintos niveles de seguridad a cada directorio. Es necesario aplicar una mayor seguridad al directorio de reproducción por sus riesgos de seguridad adicionales asociados. Es posible otorgar acceso al directorio de recogida a los usuarios o aplicaciones que deban generar y reenviar mensajes, pero no deben tener acceso al directorio de reproducción.

Tanto el directorio de recogida como el directorio de repetición están habilitados de manera predeterminada en todos los servidores de transporte perimetral y en los servidores de transporte perimetral. Si el directorio de recogida o el directorio de reproducción no son necesarios en un servidor de transporte perimetral o en un servidor de transporte perimetral en su organización, puede deshabilitar el directorio de recogida o el directorio de reproducción en dicho servidor. Para obtener más información al respecto, vea los siguientes temas (en inglés):

Permisos para el directorio de recogida

Los siguientes permisos son necesarios para el directorio de recogida:

  • Administrador: Control total

  • Sistema: Control total

  • Servicio de red: Leer, escribir y eliminar subcarpetas y archivos

De forma predeterminada, el servicio de transporte de Microsoft Exchange utiliza credenciales de seguridad de la cuenta de usuario del servicio de red para administrar la ubicación y los permisos del directorio de recogida. 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 del directorio de recogida utilizando el parámetro PickupDirectoryPath del cmdlet Set-TransportServer. El cambio correcto de ubicación del directorio de recogida depende de los derechos que se otorguen a la cuenta de servicio de red en la nueva ubicación del directorio de recogida y de si el nuevo directorio de recogida ya existe. Si el nuevo directorio de recogida todavía no existe y la cuenta de servicio de red tiene los derechos necesarios para crear carpetas y aplicar permisos en la nueva ubicación, se creará el nuevo directorio de recogida y se le asignarán los permisos correctos. Si el nuevo directorio de recogida ya existe los permisos de carpeta existentes no están comprobados. Al mover el directorio de recogida con el parámetro PickupDirectoryPath con el cmdlet Set-TransportServer, es una buena idea comprobar que el nuevo directorio de recogida existe y tiene aplicados los permisos correctos. Si el cambio al directorio de recogida no es correcto, puede crear un directorio de recogida nuevo y aplicar los permisos correctos antes de usar el parámetro PickupDirectoryPath con el cmdlet Set-TransportServer.

Para obtener más información

Para obtener más información al respecto, vea los siguientes temas (en inglés):