# ansible-role-dovecot Este rol instala y configura el servidor IMAP Dovecot. ## Configuración * `vmail_home` (`/srv/vmail`): home del usuario `vmail`. ### Generales * `dovecot_user_home` (`{{ vmail_home }}/mail/%d/%n`): carpeta home de cada usuario. * `dovecot_mail_location` (`{{dovecot_mailbox_format}}:~/dbox` o `maildir:~/Maildir` según el valor de `dovecot_mailbox_format`): ubicación de los mails de cada usuario. * `dovecot_mailbox_junk` (`Junk`): Nombre de la carpeta de spam. * `dovecot_mailbox_format` (`dbox`): formato del mailbox. Valores posibles: `dbox`, `mdbox`, `sdbox`, `maildir`. * `dovecot_auth_username_format` (`%Lu`): formato del nombre de usuario utilizado para autenticar. * `dovecot_auth_mechanisms` (`plain`): mecanismos de autenticación, agregar `login` para compatibilidad con MS Outlook. * `dovecot_auth_system_enable` (`no`): habilitar login para usuarios del sistema. * `dovecot_auth_master_enable` (`no`): habilitar usuarios _master_. ### Protocolos * `dovecot_proto_imap_enable` (`yes`): activar IMAP. * `dovecot_proto_imaps_enable` (`no`): activar IMAPS. * `dovecot_proto_pop3_enable` (`no`): activar POP3. * `dovecot_proto_pop3s_enable` (`no`): activar POP3S. * `dovecot_proto_managesieve_enable` (`yes`): activar managesieve. Debe estar habilitado Sieve. ### SSL * `dovecot_ssl_enable` (`yes`): habilitar ssl. * `dovecot_ssl_require` (`no`): requerir ssl. * `dovecot_ssl_cert` (`{{ tls_certificate }}`): path absoluto al certificado SSL. * `dovecot_ssl_key` (`{{ tls_certificate_key }}`): path absoluto a la clave privada SSL. ### LDAP dovecot_auth_ldap_enable: yes habilitar userdb/passdb ldap? dovecot_auth_ldap_servers: [ "localhost" ] servidores ldap dovecot_auth_ldap_version: 3 version del protocolo LDAP dovecot_auth_ldap_base: `ou=People,dc=%Dd` base para la busqueda en LDAP dovecot_auth_ldap_scope: `subtree` scope para la busqueda en ldap: base, onelevel, subtree dovecot_auth_ldap_user_filter: `(&(objectClass=inetOrgPerson)(uid=%n))` filtro para obtener la entrada del usuario LDAP dovecot_auth_ldap_pass_filter: `(&(objectClass=inetOrgPerson)(uid=%n))` filtro para obtener la clave del usuario LDAP dovecot_auth_ldap_user_attrs: > =home={{ dovecot_user_home }}, =uid={{ vmail_user }}, =gid={{ vmail_group }} atributos del usuario leidos de LDAP por defecto, usar valores pre-calculados dovecot_auth_ldap_pass_attrs: > userPassword=password, =userdb_home={{ dovecot_user_home }}, =userdb_uid={{ vmail_user }}, =userdb_gid={{ vmail_group }} clave + atributos del usuario leidos de LDAP por defecto, usar valores pre-calculados dovecot_auth_ldap_iterate_attrs: `=user=%{ldap:uid}@%d` iteracion con doveadm CAVEAT: al usar %Dd en ldap_base, no se puede utilizar doveadm -A, sino que siempre se debe especificar un dominio usando -u `*@dominio` dovecot_auth_ldap_iterate_attrs: `uid=user` cuando ldap_base es fija (sin %Dd): dovecot_auth_ldap_iterate_filter: `(objectClass=inetOrgPerson)` filtro para iteracion: este filtro debe devolver todas las personas de tipo `usuario` dovecot_auth_ldap_default_pass_scheme: `CRYPT` esquema de clave en ldap -- no se para que se utilizaría ### Antispam dovecot_plugin_antispam_enable: yes Activar el plugin antispam? dovecot_plugin_antispam: opciones del plugin antispam backend: `pipe` crm114, dspam, pipe, spool2dir signature: `X-Bogosity` Header que indica que el mail ha sido escaneado para spam pipe_program: `/usr/bin/bogofilter` Pipe: programa que entrena leyendo el mail en STDIN pipe_program_args: `-l` antispam_pipe_program_args = --for;%u pipe_program_notspam_arg: `-n` Pipe: argumento que indica que el mail NO ES spam pipe_program_spam_arg: `-s` Pipe: argumento que indica que el mail ES spam pipe_tmpdir: `/tmp` Pipe: directorio temporal (creo que el mail se copia ahi primero) signature_missing: `error` accion cuando se mueve un mail que no tiene signature de/hacia spam valores posibles: error: fallar en la operacion move: mover el mensaje de todos modos spam: `Junk;junk;Junk Mail;Spam;spam;SPAM` nombres de las carpetas de spam trash: `Trash;trash;mail/trash;Deleted Messages` nombres de las carpetas de papelera debug del plugin antispam debug_enable: no debug_target: `syslog` debug_verbosity: 0 ### Quota * `dovecot_quota_enable` (`yes`): activar plugin quota. * `dovecot_quota_driver` (`count`): driver de quota. Opciones posibles: `count`, `maildir`. * `dovecot_quota_limit` (`4096M`): límite global de la cuota de usuario. * `dovecot_quota_additional_limit`: (`{Trash: 100M }`): límites adicionales para casillas específicas. * `dovecot_quota_grace` (`10%`): gracia de la cuota (en % o M). ### Sieve * `dovecot_sieve_enable` (`yes`): activar plugin sieve. * `dovecot_sieve_before` (`/etc/dovecot/sieve/before`): directorio con scripts ejecutados antes que los del usuario. * `dovecot_sieve_after` (`/etc/dovecot/sieve/after`): directorio con scripts ejecutados después que los del usuario. ### Single-instance storage para adjuntos * `dovecot_sis_enable` (`yes`): Indica si activar single-instance storage para los adjuntos. * `dovecot_sis_directory`: (`{{ vmail_home }}/attachments`): lugar donde se guardan los adjuntos desduplicados. * `dovecot_sis_min_size` (`128k`): tamaño minimo de adjuntos a guardar en SIS. * `dovecot_sis_hash` (`%{sha1}`): hash a usar para desduplicar. * `dovecot_sis_queue_enable` (`no`): habilitar desduplicacion postergada, * `dovecot_sis_queue_directory` (`{{vmail_home}}/attachments-queue`): carpeta donde se guardan los pendientes para desduplicar. ### Carpeta alternativa para correo * `dovecot_altstorage_enable` (`no`): habilitar uso de carpeta alternativa de correo. * `dovecot_altstorage_directory` (`{{ vmail_home }}/alt-storage`): carpeta alternativa de correo.