Oefenweb.postfix

Postfix

CI Ansible Galaxy

Настройте сервер 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

Информация об авторе

Миша тер Смиттен

Обратная связь, отчеты об ошибках, запросы и т.д.

Приветствуются ваши замечания!

О проекте

Set up a postfix server in Debian-like systems

Установить
ansible-galaxy install Oefenweb.postfix
Лицензия
mit
Загрузки
344.4k
Владелец