Uso y comandos de Exim server

Actualizado el sábado, 11 enero, 2020

Uso y comandos de Exim server

Exim4 es un MTA ligero, de los más usados en servidores linux. Su configuración es bastante sencilla, por tanto en este articulo vemos los comandes principales con los cuales podremos detectar problemas y administrar nuestro servidor.

De que se compone Exim mail server:

  • Agente de transferencia de correo (MTA): Maneja la transmisión de mensajes a otra máquina en una red y acepta mensajes a sus propios usuarios. En otras palabras, cuando se envía un correo electrónico, el MTA de su máquina se pondrá en contacto con el ISP de su ISP, el cual enviará el correo al ISP del ISP del corresponsal.
  • Agente de entrega de correo (MDA): Maneja la recepción del correo electrónico. Cuando el MTA acepta mensajes a sus usuarios, los envía al MDA, que los clasificará y los envía a las bandejas de entrada correctas.
  • Agente de recuperación de correo (MRA): Si el buzon de mail esta en un servidor y no en tu escritorio, el MRA devolverá los correos a la máquina.
  • Agente de usuario de correo (MUA): Es el cliente navegador de correo, se encarga de mostrar correctamente los correos electrónicos para que puedan ser leídos, también se encarga de codificar los que escribes antes de enviarlos al MTA.
  • Agente de envío de correo (MSA): Es el vínculo entre el MUA y el MTA.
  • Los protocolos de comunicación más usados son: SMTP y POP (o IMAP). Los MTA se comunican entre sí a través del protocolo SMTP.

Uso y comandos de Exim server 1

Comandos Exim

Cada correo electrónico genera tres archivos en Exim. Uno en el  /var/spool/exim/msglogque contiene los registros relacionados con el mensaje y que lleva como nombre el mensaje-id, los otros dos están en  /var/spool/exim/inputy toma como nombre el mensaje-id más un sufijo que indica si es el encabezado (-H) o Del mensaje Cuerpo (-D).

El Mensaje-ID, está compuesto por caracteres alfanuméricos, similar al ejemplo:  XXXXXX-YYYYYY-ZZ.

Muestra lo que está hace Exim en ese momento.

exiwhat

Ver la configuración del servidor.
exim -bp

Muestra la cola de correo.
mailq

Número de mensajes en la cola.
exim -bpc

Por dominio.
exim -bp | exiqsumm

Count Volume Oldest Newest Domain  Volume Oldest Newest Domain      
----- ------ ------ ------ ----------- ------ ------ ------ ------        
   11 495KB 14h 14h gmail.com11 495KB 14h 14h   gmail . com             
   20 900KB 14h 14h homtail.com20 900KB 14h 14h   homtail . com             
  154 6930KB 14h 14h yahoo.com154 6930KB 14h 14h   yahoo . com

Informa como exportar el mensaje.
exim -bt mimail@dominio.es

Buscar por expresiones regulares en la cola de correo. Por mail o dominio.
exiqgrep -f [user]@dominio

Buscar mensajes por destinatario.
exiqgrep -r [user]@dominio

Buscar mensajes enviados hace más de 120 segundos.
exiqgrep -o 120

Buscar mensajes enviados hace menos de 120 segundos.
exiqgrep -y 120

 

Cola de correo

Congelar mensaje.

exim -Mf message-id

Desbloquear mensaje.
exim -Mt message-id

Forzar enviar mensaje.
exim -M message-id

Consulta los registros del mensaje.
exim -Mvl message-id

Mostrar los encabezados de los mensajes.
exim -Mvh message-id

Muestra el cuerpo del mensaje.
exim -Mvb message-id

Elimina el mensaje de la cola.
exim -Mrm message-id

Forzar envío de mensajes congelados.
exim -qf

Forzar envío de todos los mensajes.
exim -qff

Añadir destinatarios a un mensaje.
exim -Mar message-id address [address …]

Modificar remitente.
exim -Mes message-id address

 

Ejemplos de comandos avanzados

Listar mensajes agrupados por remitente:

Exim -bpr | Grep -Eo "<[^] * @ [^] *>" | Sort | Uniq -c- bpr | Grep - Eo "<[^] * @ [^] *>" | Sort | Uniq - c

Listar mensajes agrupados por destinatario:
Exim -bpr | Grep -Eo "^ \ s * [^] * @ [^] * $" | Sort | Uniq -c- bpr | Grep - Eo "^ \ s * [^] * @ [^] * $" | Sort | Uniq - c

Eliminar todos los mensajes que tengan más de 12h:
Exiqgrep - o 43000 - i | Xargs exim - Mrm

Eliminar todos los mensajes de la cola que estén congelados:
Exiqgrep - z - i | Xargs exim - Mrm

Eliminar los mensajes de un remitente en particular:
Exiqgrep - i - f [ user ] @dominio | Xargs exim - Mrm

Eliminar los mensajes de más de 12h. de un remitente:
Exiqgrep - o 43000 - i - f [ user ] @dominio | Xargs exim - Mrm

Eliminar todos los mensajes que contengan una «palabra en particular«:
Grep - lr 'palabra en particular' / var / spool / exim / input / | Sed - e 's / ^. \ / \ ([A-zA-Z0-9 -] * \) - [DH] $ / \ 1 / g' | Xargs exim - Mrm

 

 

Agregar comentario