En /etc/aliases se pueden usar pipes para redirigir el correo a scripts. Esto est desactivado en Exim, para activarlo hay que definir la variable SYSTEM_ALIASES_PIPE_TRANSPORT = address_pipe en /etc/exim4/conf.d/main/02_exim4-config_options (si se usa los ficheros de configuracion “split”)
Con dpkg-reconfigure exim4-config se hace la configuración básica de Exim, que incluye los cambios manuales incluidos en el fichero /etc/exim4/update-exim4.conf.conf
En modo smarthost, exim usa otro servidor SMTP para reenviar los mensajes que no pertenecen a su propio dominio. El dominio propio se define como
Probar ruta de envio (router / transport): exim4 -bt direccion_email
Comandos útiles
mailq
# Forzar proceso cola mensajes
runq
exim4 -Mrm id_mensaje_a_borrar_de_cola
exim4 -M id_mensaje_a_forzar_envio
# Reintentar envio de todos los mensajes pendientes, incluidos los congelados
exim4 -qff
Listas de correo
# Restricted mailing lists - only members of valid can send email
# Open mail lists are handled through system aliases (/etc/aliases)
lists:
driver = redirect
file = /etc/mail/lists/$local_part
no_check_local_user
forbid_pipe
forbid_file
senders = lsearch;/etc/mail/valid
errors_to = root
La direccion lista@domino se asocia a las direcciones del fichero /etc/mail/lists/lista. Solo se aceptan correos cuyos remitentes están en la lista /etc/mail/valid (que contiene direcciones completas user@dominio). Si el fichero lista no existe o el remitente no está en valid, se rechaza el envio con este director y se pasa a los siguientes. Si ninguno acepta la dirección se rechaza el envio con el error “User unknown”
Envio de correos desde la linea de comandos
Crear un fichero (testmail) con el mensaje:
From: Jesus Cuenca
To: jcuenca@xxxxxxxx
Subject: Test
Test
Enviarlo con el comando
/usr/sbin/exim -oi -t < testmail
Problemas típicos
“Mailing to remote domains not supported”: servidor tipo localhost only, intento de enviar mensajes a otros hosts. O servidor tipo internet que escucha solo en 127.0.0.1
# Tracear que directores/drivers y filtros se usan para una cierta direcciónn (-f sirve para especificar el From que se usará en la prueba)
exim -d+all -f jcuenca -bt address
# Desbloquear mensajes de la cola; con -Mrm los borra
mailq | grep frozen | awk '{print $3}' | while read m; do exim4 -M ${m}; done
# Forzar envio de todos los mensajes, incluidos los bloqueados
exim4 -qff