19.4. Modos de Env�o de Correo

Como ya se ha dicho anteriormente, Exim es capaz de enviar los mensajes de inmediato o guardarlos en una cola para procesarlos m�s tarde. Todo el correo entrante se guarda en el directorioinput bajo /var/spool/exim. Cuando el encolado no se encuentra activo, se inicia un proceso de env�o para cada mensaje en cuanto llega. De otro modo, se queda en la cola hasta que un proceso queue-runner lo recoge. El encolado puede ajustarse como incondicional mediante queue_only en el fichero de configuraci�n, o puede estar condicionado por la carga del sistema minuto a minuto mediante:
    queue_only_load = 4
que hace que los mensajes se encolen si la carga del sistema excede 4.
[1]

Si su anfitri�n no est� conectado permanentemente a Internet, quiz� quiera activar el encolado para direcciones remotas, permitiendo al mismo tiempo que Exim realice los env�os locales de inmediato. Puede hacer esto poniendo:
    queue_remote_domains = *
en el fichero de configuraci�n.

Si activa cualquier tipo de encolado tiene que asegurarse de que las colas se comprueba de manera regular, probablemente cada 10 � 15 minutos. A�n sin opciones expl�citas de encolado, las colas necesitan comprobarse por si se hubieran pospuesto mensajes a causa de fallos temporales de env�o. Si ejecuta Exim como demonio tendr� que a�adir la opci�n –q15m en la l�nea de �rdenes para procesar la cola cada 15 minutos. Tambi�n puede invocar a exim –q desde cron a estos intervalos.

Puede mostrar la cola de correo invocando a Exim con la opci�n –bp. De manera equivalente, puede enlazar mailq con Exim e invocar mailq :
    $ mailq
     2h   52K 12EwGE-0005jD-00 <[email protected]>
            D [email protected]
              [email protected]  

Esto muestra un �nico mensaje desde [email protected] para dos receptores en la cola de mensajes. Se ha enviado con �xito a [email protected] pero a�n no se ha enviado a [email protected] aunque ha estado en la cola dos horas. El tama�o del mensaje es de 52K y la identificaci�n que usa Exim para este mensaje es 12EwGE-0005jD-00. Puede averiguar por qu� a�n no se ha completado el env�o mirando en el fichero de registro individual del mensaje, que se guarda en el directorio msglog dentro del directorio de la cola de Exim. La opci�n–Mvl es una manera sencilla de hacer esto:
    $ exim –Mvl 12EwGE-0005jD-00
    2000-01-30 17:28:13 example.net [192.168.8.2]: Connection timed out
    2000-01-30 17:28:13 [email protected]: remote_smtp transport deferred: 
      Connection timed out
Los ficheros de registro individuales mantienen una copia de las entradas del registro para cada mensaje por lo que puede inspeccionarlas f�cilmente. Puede extraer esa misma informaci�n del fichero de registro principal mediante la utilidad exigrep:
    $ exigrep 12EwGE-0005jD-00 /var/log/exim/exim_mainlog
Eso puede llevarle bastante tiempo, especialmente en un sistema ocupado en el que los ficheros de registro pueden hacerse bastante grandes. La utilidad exigrep es apropiada cuando se busca informaci�n sobre m�s de un mensaje. Su primera variable es una expresi�n regular, y toma todas las l�neas del registro de cualquier mensaje en las que coincida al menos una l�nea con la expresi�n. Por esto, puede usarse para consultar todos los mensajes en busca de una direcci�n o de un anfitri�n espec�ficos.

Puede echar un vistazo general a lo que est� haciendo un Exim en ejecuci�n mediante la orden tail sobre el fichero de registro principal. Otra manera de hacer esto es ejecutar la utilidad eximon que viene con Exim. Se trata de una aplicaci�n que muestra una pantalla donde aparece el registro principal en tiempo real, adem�s de mostrarle una lista con los mensajes que est�n esperando ser enviados, as� como unas gr�ficas de barras acerca de la actividad de env�o.

Notas

[1]

La carga del sistema es una medida est�ndar en Unix de la cantidad media de procesos que est�n en la cola esperando ejecutarse. El uptime muestra la carga media del sistema tomada en los 1, 5 y 15 minutos previos.