Oefenweb.postfix
Postfix
Настройте сервер Postfix в системах, похожих на Debian.
Требования
Нет
Переменные
postfix_install
[по умолчанию:[postfix, mailutils, libsasl2-2, sasl2-bin, libsasl2-modules]
]: Пакеты для установкиpostfix_hostname
[по умолчанию:{{ ansible_fqdn }}
]: Имя хоста, используемое дляmyhostname
и вmydestination
postfix_mailname
[по умолчанию:{{ ansible_fqdn }}
]: Имя почты (в/etc/mailname
), используемое дляmyorigin
postfix_compatibility_level
[опционально]: При включенной обратной совместимости (если значение compatibility_level меньше встроенного значения Postfix) Postfix ищет настройки, которые оставлены на их неявном значении по умолчанию, и ведет журнал, когда требуется значение по умолчанию, совместимое с предыдущими версиями (например,2
,Postfix >= 3.0
)postfix_default_database_type
[по умолчанию:hash
]: Тип базы данных по умолчанию для использования в командахnewaliases
,postalias
иpostmap
postfix_aliases
[по умолчанию:[]
]: Псевдонимы, которые должны присутствовать в/etc/aliases
postfix_aliases_database_type
[по умолчанию:"{{ postfix_default_database_type }}"
]: Тип базы данных для псевдонимовpostfix_virtual_aliases
[по умолчанию:[]
]: Виртуальные псевдонимы, которые должны присутствовать в/etc/postfix/virtual
postfix_sender_canonical_maps
[по умолчанию:[]
]: Переписывание адресов отправителей в/etc/postfix/sender_canonical_maps
(см.)postfix_sender_canonical_maps_database_type
[по умолчанию:"{{ postfix_default_database_type }}"
]: Тип базы данных для использования вpostfix_sender_canonical_maps
postfix_recipient_canonical_maps
[по умолчанию:[]
]: Переписывание адресов получателей в/etc/postfix/recipient_canonical_maps
(см.)и так далее...
Зависимости
debconf
debconf-utils
Пример(ы)
Простой пример, который не использует SASL реле:
---
- hosts: all
roles:
- oefenweb.postfix
vars:
postfix_aliases:
- user: root
alias: [email protected]
Простой пример с виртуальными псевдонимами для пересылки почты, который не использует SASL реле:
---
- hosts: all
roles:
- oefenweb.postfix
vars:
postfix_mydestination:
- "{{ postfix_hostname }}"
- '$mydomain'
- localdomain
- localhost
- localhost.localdomain
postfix_virtual_aliases:
- virtual: [email protected]
alias: [email protected]
- virtual: [email protected]
alias: [email protected], [email protected]
Простой пример, который переписывает адрес отправителя:
---
- hosts: all
roles:
- oefenweb.postfix
vars:
postfix_sender_canonical_maps:
- sender: root
rewrite: [email protected]
Укажите имя реле хоста, если хотите включить реле:
---
- hosts: all
roles:
- oefenweb.postfix
vars:
postfix_aliases:
- user: root
alias: [email protected]
postfix_relayhost: mail.yourdomain.org
Укажите домен реле и используйте MX записи, если хотите включить реле к DNS MX записям домена:
---
- hosts: all
roles:
- oefenweb.postfix
vars:
postfix_aliases:
- user: root
alias: [email protected]
postfix_relayhost: yourdomain.org
postfix_relayhost_mxlookup: true
Условное реле:
---
- hosts: all
roles:
- oefenweb.postfix
vars:
postfix_transport_maps:
- pattern: '[email protected]'
result: ':'
- pattern: '*'
result: "smtp:{{ ansible_lo['ipv4']['address'] }}:1025"
postfix_sender_dependent_relayhost_maps:
- pattern: '[email protected]'
result: 'DUNNO'
- pattern: '[email protected]'
result: 'DUNNO'
- pattern: '*'
result: "smtp:{{ ansible_lo['ipv4']['address'] }}:1025"
Псевдонимы с таблицей regexp (переслать всю локальную почту на указанный адрес):
---
- hosts: all
roles:
- oefenweb.postfix
vars:
postfix_aliases_database_type: regexp
postfix_aliases:
- user: /.*/
alias: [email protected]
Для поддержки AWS SES:
---
- hosts: all
roles:
- oefenweb.postfix
vars:
postfix_aliases:
- user: root
alias: [email protected]
postfix_relayhost: email-smtp.us-east-1.amazonaws.com
postfix_relaytls: true
postfix_sasl_user: AKIXXXXXXXXXXXXXXXXX
postfix_sasl_password: ASDFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Для поддержки MailHog:
---
- hosts: all
roles:
- oefenweb.postfix
vars:
postfix_aliases:
- user: root
alias: [email protected]
postfix_relayhost: "{{ ansible_lo['ipv4']['address'] }}"
postfix_relayhost_port: 1025
postfix_sasl_auth_enable: false
Для поддержки Gmail:
---
- hosts: all
roles:
- oefenweb.postfix
vars:
postfix_aliases:
- user: root
alias: [email protected]
postfix_relayhost: smtp.gmail.com
postfix_relaytls: true
postfix_smtp_tls_cafile: /etc/ssl/certs/ca-certificates.crt
postfix_sasl_user: 'foo'
postfix_sasl_password: 'bar'
Если вы настроили свой аккаунт Google для дополнительной безопасности с использованием двухфакторной проверки, то Postfix перестанет отправлять электронные письма, и вы можете заметить сообщения об ошибках в файле /var/log/mail.log
.
Чтобы исправить эту проблему, вам нужно посетить (Авторизация приложений и сайтов)
страницу в настройках вашего аккаунта Google. На этой странице введите имя приложения для авторизации (Postfix) и нажмите кнопку "Сгенерировать".
Установите переменную postfix_sasl_password
с паролем, сгенерированным на этой странице.
Простой пример, показывающий, как добавить некоторые необработанные настройки:
---
- hosts: all
roles:
- oefenweb.postfix
vars:
postfix_raw_options:
- |
milter_default_action = accept
milter_protocol = 6
smtpd_milters = unix:opendkim/opendkim.sock unix:opendmarc/opendmarc.sock unix:spamass/spamass.sock unix:clamav/clamav-milter.ctl
milter_connect_macros = "i j {daemon_name} v {if_name} _"
policyd-spf_time_limit = 3600
Лицензия
MIT
Информация об авторе
Миша тер Смиттен
Обратная связь, отчеты об ошибках, запросы и т.д.
Приветствуются ваши замечания!
ansible-galaxy install Oefenweb.postfix