Tutorial de Sendmail - Administración de la cola de Sendmail

26 - Administración de la cola de Sendmail

[editar]
Tutorial creado por Diego Bravo Estrada. Extraido de: http://www.mononeurona.org/index.php?idp=392
27 de Octubre de 2005

Conceptos


Los mensajes que procesa Sendmail muchas veces no pueden ser enviados a su destino en forma inmediata. Por ejemplo, la línea que conecta nuestra organización a Internet puede estar detenida, o el mail server remoto puede haberse tornado inaccesible.

En estos casos Sendmail "encolará" el mensaje a fin de intentar hacer posteriores reintentos a intervalos predefinidos. Cumplido cierto tiempo, Sendmail desistirá de reintentar y el envío se considera fallido (el usuario que envía recibe una notificación.)

En RedHat 8 la cola de Sendmail se localiza en el directorio /var/spool/mqueue. Cada mensaje se compone de dos archivos (con prefijo "qf" y "df") que corresponden, respectivamente, al "archivo de control" y el "archivo de datos". El archivo de control contiene información respecto al envío del mensaje, particularmente el header. El "archivo de datos" contiene el cuerpo del mensaje.

El directorio de cola se configura en el archivo "cf" del siguiente modo:

|| O QueueDirectory=/var/spool/mqueue ||
En el método M4 se usará (sólo si se desea modificar el default): || define(`QUEUE_DIR',`/var/spool/mqueue') ||

Temporización del queue run


El "queue run" corresponde a un intento repetitivo que hace Sendmail para enviar los mensajes que por algún motivo quedaron encolados. El intervalo entre queue run's es configurable en las opciones de línea de comando de Sendmail. Por ejemplo, "sendmail -bd -q3h" significa que Sendmail se ejecutará en background y que el procesamiento de la cola (queue run) se hará cada tres horas (3h.) Este lapso se configura en RedHat en el archivo que se muestra.

|| # cat /etc/sysconfig/sendmail DAEMON=yes QUEUE=1h ||
En otros sistemas, el lector deberá indagar por los scripts de inicio del servicio Sendmail para configurar el lapso de queue run.

Forzar el procesamiento de la cola


Si deseamos forzar el procesamiento de la cola completa (por ejemplo, si de pronto nuestra conexión a Internet se ha restablecido tras un corte), en cualquier momento esto se puede hacer con el comando:

|| # sendmail -q ||
Sin embargo, a fin de intentar el envío de sólo un mensaje en particular (o un conjunto de éstos), se puede usar lo siguiente: || # sendmail -qIsubstr ||
Donde "substr" es un substring del queue ID del mensaje a enviar (o de los mensajes.) Por ejemplo, si tenemos los siguientes mensajes encolados: || # sendmail -bp /var/spool/mqueue (4 requests)
Q-ID
--Size--
Q-Time

Sender/Recipient
h8RKt4UX001163 16 Sat Sep 27 15:55 <root@edithpiaf.noskhon.com.pe> (Deferred: Name server: kika.noskhon.com.pe.: host name looku) <diego@kika.noskhon.com.pe> h8RKt4UZ001163 10 Sat Sep 27 15:55 <root@edithpiaf.noskhon.com.pe> (Deferred: Name server: kika.noskhon.com.pe.: host name looku) <diego@kika.noskhon.com.pe> h8PNiopq002785 298 Thu Sep 25 18:44 root (Warning: could not send message for past 4 hours) diego@kika.noskhon.com.pe h8PNh4RM002734 298 Thu Sep 25 18:43 root (Warning: could not send message for past 4 hours) diego@kika.noskhon.com.pe Total requests: 4 || Y queremos enviar los dos primeros de la lista (que tienen bastante tiempo en la cola), podemos especificar su Q-ID completo o un substring del mismo. Por ejemplo, puesto que sus Q-ID son "h8RKt4UX001163" y "h8RKt4UZ001163", podremos emplear el substring "1163" así: || # sendmail -qI1163 [root@edithpiaf root]# sendmail -bp /var/spool/mqueue (2 requests)
Q-ID
--Size--
Q-Time

Sender/Recipient
h8PNiopq002785 298 Thu Sep 25 18:44 root (Warning: could not send message for past 4 hours) diego@kika.noskhon.com.pe h8PNh4RM002734 298 Thu Sep 25 18:43 root (Warning: could not send message for past 4 hours) diego@kika.noskhon.com.pe Total requests: 2 ||
Nota: Como se indicó anteriormente, en las versiones recientes Sendmail viene dividido en "dos partes", una de las cuales se encarga del procesamiento de los mensajes enviados desde la línea de comando del servidor (sm-client) y otra de los mensajes recibidos desde la red. Ambas tienen su propia cola. A fin de ver la cola del "sm-client" es menester usar:

|| # sendmail -Ac -bp ||
[editar]

5 opiniones

ESTA MAL

TIENES QUE AREGLARLA
Esta muy bueno.

Felicito a la persona que publico este tema. Pero necesito saber si sabe como cambiar el camino del sendmail , que en vez de seer en var sea en otro directorio. A toda persona que responderme se lo agradezco

saludos miniyoko23@gmail.com.
Partes de un correo.

Mostrar la pagina de partes de un correo.
Nueva versión.

En www. Gatogringo. Com se puede hallar una versión actualiuzada.
Ingeniero en sistemas.

Muy bueno para quienes no hemos usado la plataforma linux y queremos hacer nuestros primeros pasos en él.

Tutoriales relacionados con 'Tutorial de Sendmail'

Si tuviera que buscar un adjetivo para calificar a Sendmail, pensaría en "excesivo". Excesivo puesto... Más »
Este documento pretende ser una guía rápida de configuración y puesta en funcionamiento de procedimientos... Más »
Este documento es una breve descripción de cómo modificar el fichero de configuración de sendmail... Más »
Esta documentación muestra la forma de montar un sistema de correo con las siguientes características:... Más »
Tutorial Completo para Aprender el sistema operativo Linux Desde lo básico hasta un nivel... Más »

Autor y licencia de 'Tutorial de Sendmail'


Tutorial de Diego Bravo Estrada. Extraido de: http://www.mononeurona.org/index.php?idp=392 CopyLeft
Este trabajo está licenciado bajo la Creative Commons License. 1999-2005 © :: MonoNeurona.org ::
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.