feat(postfix): implement virtual mailbox configuration for Dovecot LMTP

Updates the Postfix configuration to correctly handle virtual domains when Dovecot LMTP is enabled, moving away from local system delivery settings.

- Removes `postfix_mail_domain` from `postfix_mydestination` to prevent conflicts with virtual domain handling.
- Updates `main.cf` to set `virtual_transport`, `virtual_mailbox_domains`, and `virtual_mailbox_maps` instead of `mailbox_transport`.
- Adds a new template `virtual_mailbox_maps.j2` to authorize specific users defined in `dovecot_users`.
- Adds tasks to generate the virtual mailbox map file and run `postmap` upon changes.
This commit is contained in:
2026-02-11 14:49:22 -03:00
parent c9892b9e51
commit f76e0a31ae
4 changed files with 39 additions and 8 deletions

View File

@@ -54,6 +54,29 @@
- postfix_config
- postfix_smarthost
- name: "POSTFIX | Configure virtual mailbox maps"
when: dovecot_enabled | default(false) and dovecot_postfix_lmtp_enable | default(false)
ansible.builtin.template:
src: virtual_mailbox_maps.j2
dest: /etc/postfix/virtual_mailbox_maps
owner: root
group: root
mode: '0644'
notify: Restart Postfix
tags:
- postfix_config
- dovecot_config
- name: "POSTFIX | Create hash map for virtual mailbox maps"
when: dovecot_enabled | default(false) and dovecot_postfix_lmtp_enable | default(false)
ansible.builtin.command:
cmd: postmap hash:/etc/postfix/virtual_mailbox_maps
changed_when: true
notify: Restart Postfix
tags:
- postfix_config
- dovecot_config
- name: "DOVECOT | Install Dovecot packages"
when: dovecot_enabled | default(false)
ansible.builtin.apt: