Exim: Comandos básicos

Exim es un agente de transporte de correo (Mail Transport Agent, MTA) que puede ser utilizado en la mayoría de sistemas Unix, siendo una de las opciones más comunes, junto con Qmail o Postfix para servicio de correo servidores Unix.

Partiendo de la base de que conocemos el funcionamiento de Exim, los comandos básicos que un administrador de sistemas que utilice este MTA son:

Lista por pantalla los correos en cola:

exim -bp

Sacar por pantalla el nº de correos en cola:

exim -bpc

Muestra un resumen de los correos en cola (dominio, nº de correos, tiempo en cola y peso):

exim -bp | exiqsumm

Eliminar un correo en concreto:

exim -Mrm '<id correo>'

Congelar un correo:

exim -Mf '<id correo>'

Procesar un correo:

exim -M '<id correo>'

Eliminar todos los correos congelados:

exiqgrep -z -i | xargs exim -Mrm

Sacar por pantalla que está haciendo exim en este momento:

exiwhat

Hacer un traceroute a una dirección de correo:

exim -bt '<id correo>'

Ver las cabeceras de un correo:

exim -Mvh '<id correo>'

Ver el cuerpo de un correo:

exim -Mvb '<id correo>'

Ver los logs de un correo:

exim -Mvl '<id correo>'

Forzar cola de correo:

exim -qff

Buscar correos en cola de un determinado emisor:

exiqgrep -f [usuario]@dominio

Buscar correos en cola de un determinado receptor:

exiqgrep -r [usuario]@dominio

Respecto a estos dos últimos comandos, exigrep es un comando extremadamente útil, dispone de muchas otras opciones que pueden ser revisadas en su respectiva ayuda.

Eliminar la cola de correo completa (dos formas):

exim -bp | awk '/^ *[0-9]+[mhd]/{print "exim -Mrm " $3}' | sh
rm /var/spool/exim/input/*

Conociendo estos comandos (o teniendolos a mano) uno ya puede moverse con soltura en exim.

19 comentarios en “Exim: Comandos básicos

  1. Hola.

    Tengo servidores con cPanel y de hecho esta exim, he tratado de ejecutar los comandos mencionados; pero, no se ejecutan, salen como comandos no encontrados.

    Que podría estar pasando?, o tiene otro entorno para ejcutarse.

    root@server1 [~]# exiwhat
    bash: exiwhat: command not found

  2. Hola rpmserver, es raro porque en todos los servidores que tengo con cPanel exiwhat viene instalado por defecto, ejemplo:

    root@xxxx [~]# exiwhat
    5552 handling incoming connection from xxx.red-80-32-xxx.staticip.rima-tde.net (SERVIDOR) [x.xx.xxx.xxx]



    ———–

    Mira a ver donde tienes el binario y trata de ejecutarlo directamente desde ahí, ejemplo:

    root@xxxx [~]# whereis exiwhat
    exiwhat: /usr/sbin/exiwhat

    Saludos

  3. Gracias.

    Efectivamente, ubicando el binario y ejecutandolo desde su raiz si funciona. No entiendo xq no se ejecuta x defecto, asumi en un principio que esto sucedia con varios comandos para lo cual los ejecutaba generalmente desde /sbin/comando, suponiendo que el cpanel les hacia chroot.

    Salu2.

  4. Hola, tengo un problema y lo expongo aqui haber si alguien me ayuda.

    Mi Servidor 1 (Linux, cpanel con exim), desde cualquier cuenta alojada, escojo una al azar y creo una cuenta de correo, ejemplo:
    email@servidor1.com

    Luego tengo otra cuenta en un reseller (servidor windows, el cual no controlo).
    cuando intento enviar desde mi servidor1 no se puede.
    email@servidor2.com

    ejemplo:
    envio desde: email@servidor1.com hacia email@servidor2.com
    * En cuestión de segundos me retorna el mensaje:
    email@servidor1.com
    Unrouteable address

    He contacto con el soporte tecnico de ambos servidor, tanto de mi servidor1, como del servicio donde tengo mi reseller, ambos dicen que todas las configuraciones andan bien.

    Lo extraño del caso, es que es solo la comunicación entre estos servidores, pues desde el servidor1.com puedo enviar y recibir correos a cualquier otro dominio o servidor sin importar su ubicación.. lo mismo sucede con el servidor2.com, puedo enviar y recibir correos desde cualquier lugar.

    Entonces, que creen que puede estar pasando?,.
    Algunos consejos para hacer test avanzados? (el servidor1.com es dedicado, asi que tengo acceso root), al servidor2.com NO.

    PD. Me dijeron en ambos soportes que no hay bloqueos de dominios, ni de IPs.

    ADICIONAL:
    Del servidor2 puedo enviar correos al servidor1, pero no asi desde el servidor1 al servidor 2.

    Saludos.

  5. Hola a mi si me funciono bien los comando yo ejecute los comandos en la siguiente ruta.

    cd var/log/exim

    lo que quiero saber es como eliminoi las 3 hojas que tengo de correo me sale que no lo puedo hacer….

    exim: malformed message id after -Mrm option

    HACATAKA
    Fedora Embassador From Peru

  6. Hola Alex,

    Al parecer hacataka desea vaciar la cola de exim en su totalidad, lo cual podría hacerlo al vuelo con rm /var/spool/exim/input/* o utilizando el propio comando enmarañado de exim.

    exim -bp | awk ‘/^ *[0-9]+[mhd]/{print “exim -Mrm ” $3}’ | sh

    Por cierto este comando limpia la cola totalmente y seria genial que lo agregues a tu post o nos recomiendes uno mas corto que realice la misma acción.

    Salu2.

  7. Hola Alex, muchas gracias por estos artículos de Exim, ayudan mucho.

    A ver si tú nos puedes ayudar como experto en Exim con unas cosas que necesitamos en nuestro servidor.

    Necesitamos detectar en el servidor de correo Exim envíos masivos de correo, en concreto nos gustaría:

    – Limitar envíos por cuentas de e-mail a X destinatarios y/o mensajes por hora.

    – No permitir que se envíen mensajes a través de nuestro servidor SMTP si el remitente (From) no coincide con el usuario utilizado para enviar correo o al menos que no deje enviar si el remitente no es un e-mail de nuestro servidor.

    – Activar alertas para que nos envíe un e-mail cuando se detecten “Sender rate” altos.

    He mirado las opciones de ratelimit en la documentación de Exim http://www.exim.org/exim-html-current/doc/html/spec_html/ch40.html#SECTratelimiting pero me pierdo con tantas opciones, a ver si tú nos puedes ayudar con lo que queremos.

    Si me puedes contestar al e-mail te lo agradecería y si nos quieres cobrar algo lo podemos negociar.

    Muchísimas gracias por tu ayuda,

    Saludos.

  8. hola, tengo dos servidores con godaddy, el problema es que el archivo exim.conf se modifica solo una o dos veces por semana borrandose una linea que es vital para que salgan los correos asi es como debe de estar:
    cat /etc/exim.conf | grep route_list
    route_list = “* 127.0.0.1”
    route_list = !+local_domains dedrelay.secureserver.net

    y cuando la borran se ve asi
    cat /etc/exim.conf | grep route_list
    route_list = “* 127.0.0.1”

    Esto impide que los correos salgan, la solucion que hago es subir el archivo nuevamente, pero me gustaria saber por que se borra

    Saludos.

    • Hola,

      ¿con qué editor o comando editas el archivo de configuración? ¿Has comprobado que tras hacer un “reload” la línea sigue ahí? ¿Has probado a añadir un archivo de configuración personal y que éste sea cargado desde la configuración inicial?

      Saludos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *