Exim4 y Dovecot

En la entrada anterior añadí un enrutador a Exim4 para buscar las cuentas locales en un directorio LDAP. Ahora voy a integrar el servidor Dovecot con Exim4 para que gestione el despacho de correo a dichas cuentas.

De Dovecot ya hablé en esta otra entrada para utilizar el mismo directorio LDAP así que pasamos directamente a la configuración de ambos.

En el wiki de Dovecot recomiendan crear un transporte específico para el programa. Se puede utilizar el que trae Exim4 en Debian para los buzones en formato maildir pero me parece mejor aproximación dedicarle atención directamente.

Transporte dedicado

#
#       Despacho de correo hacia buzones
#       bajo Dovecot
#
dovecot_transport:
        driver = appendfile
        user = vmail
        group = vmail
        mode = 0700
        directory = /srv/mail/${lc:$local_part}/
        maildir_format = true
        mode_fail_narrower = false
        envelope_to_add = true
        return_path_add = true

Para que ésto funcione el programa exim debe ser capaz de leer el directorio raíz de los buzones /srv/mail y dado que éste está asignado al grupo vmail he pensado que es preferible que el usuario Debian-exim pertenezca al mismo.

$ sudo adduser Debian-exim vmail
Añadiendo al usuario Debian-exim' al grupo vmail' ...
Añadiendo al usuario Debian-exim al grupo vmail
Hecho.

Desviando correo a Dovecot

En lugar de cambiar el transporte de mensajes en el enrutador indicado he preferido hacerlo global y he añadido lo siguiente al archivo /etc/exim4/conf.d/main/00_local_macros.

#       Despacho de correo
LOCAL_DELIVERY = dovecot_transport

Probando el enrutado

Similar a cualquier otra prueba con la configuración de exim:

# cd /etc/exim4
# update-exim4.conf -v -o test.conf
# exim4 -bV -C test.conf
# exim4 -bt -d+transport -C /etc/exim4/test.conf victor@empresa.net
...
routed by ldap_users router
  envelope to: victor@empresa.net
  transport: dovecot_transport
victor@empresa.net
  router = ldap_users, transport = dovecot_transport
search_tidyup called
unbind LDAP connection to localhost:389
>>>>>>>>>>>>>>>> Exim pid=27195 terminating with rc=0 >>>>>>>>>>>>>>>>
#

Enlaces y referencias