mail-relay
Postfix Mail Relay
Настройка Postfix для отправки через почтовый релей, например, Amazon SES.
Требования
Если выбранным вариантом почтового релея является использование Amazon AWS SES, создайте политику IAM пользователя с именем "AmazonSesSendingAccess-[имя_пользователя]", например:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource": "*"
}
]
}
Переменные роли
Доступные переменные перечислены ниже с значениями по умолчанию (см. defaults/main.yml
):
postfix_relay_enabled: True
По умолчанию конфигурация Postfix включена, поэтому, если хотите отключить, установите значение на False
.
postfix_relay_server: ""
Имя сервера релея Postfix, например, "email-smtp.region.amazonaws.com".
postfix_relay_port: 587
Порт сервера релея Postfix.
postfix_myhostname: False
Параметр myhostname указывает интернет-имя этой почтовой системы. По умолчанию используется полное доменное имя из gethostname(). $myhostname
используется как значение по умолчанию для многих других параметров конфигурации.
postfix_mydomain: False
Параметр mydomain указывает локальное интернет-доменное имя. По умолчанию используется $myhostname
минус первый компонент. $mydomain
используется как значение по умолчанию для многих других параметров конфигурации.
postfix_myorigin: False
Параметр myorigin указывает домен, из которого кажется, что отправлены локальные почтовые сообщения. По умолчанию добавляется $myhostname
, что подходит для небольших сайтов. Если у вас несколько машин в домене, лучше (1) изменить это на $mydomain
и (2) настроить базу данных с алиасами на уровне домена.
Для согласованности между адресами отправителя и получателя, myorigin также указывает доменное имя, которое добавляется к адресам получателей, у которых нет части @domain.
postfix_relay_recipient_canonical_maps: regexp:/etc/postfix/recipient_canonical_maps
Таблица сопоставления адресов для обертки и заголовка адресов получателя с помощью recipient_canonical_maps. По умолчанию используются regexp таблицы.
postfix_relay_recipient_canonical: []
# - pattern: "/./" (Обязательно)
# address: "[email protected]" (Обязательно)
Список канонических получателей в формате таблиц регулярных выражений.
postfix_relay_recipient_canonical_classes: envelope_recipient
Адреса, подлежащие сопоставлению по canonical_maps. Укажите один или несколько из: envelope_sender
, envelope_recipient
, header_sender
, header_recipient
.
postfix_relay_catch_all_address: False
# postfix_relay_catch_all_address: [email protected]
Адрес электронной почты для перенаправления всех сообщений. По умолчанию это отключено и обычно следует включать только в средах разработки. Если задано, это перезапишет все элементы postfix_relay_recipient_canonical
.
postfix_relay_catch_all_pattern: /./
Стандартный (regexp) шаблон, используемый для перехвата всех писем и отправки на адрес для сбора.
postfix_virtual_alias_maps:
- address: root
alias: root@localhost
Доставка почты на локальные аккаунты путем настройки виртуальных алиасов. По умолчанию любая почта для root
будет отправлена на root@localhost
(доставка локально). Отключите все стандартные алиасы, установив это значение на False
.
postfix_relayhost_maps: []
# - domain: "@domain.com" (Обязательно)
# server: "" (Необязательно, по умолчанию является postfix_relay_server)
# port: 587 (Необязательно, по умолчанию является postfix_relay_port)
# user: "user-here" (Необязательно, по умолчанию является postfix_relay_user)
# password: "password-here" (Необязательно, по умолчанию является postfix_relay_password)
Включает smtp_sender_dependent_authentication
, чтобы разрешить пересылку почты через несколько хостов с разными учетными данными в зависимости от адреса электронной почты отправителя. Обратите внимание, что доменное значение можно указать как полный адрес [email protected]
или с помощью подстановочного знака @domain.com
. (См. документацию по relayhost_map Postfix.)
postfix_relay_user: ""
Установите пользователя релея Postfix.
postfix_relay_password: ""
Установите пароль для сервера релея.
postfix_relay_secret_key: "secret-key-here"
Сгенерируйте пароль релея из указанного ключа AWS Secret. Или вручную заполните значение postfix_relay_password
, преобразовав существующий ключ AWS Secret в SMTP-пароль Amazon SES с помощью прилагаемого bash-скрипта:
./scripts/aws-ses-smtp-password.sh secret-key-here
Зависимости
Нет.
Пример Playbook
Включение примера того, как использовать вашу роль (например, с переменными, переданными в качестве параметров), всегда полезно для пользователей:
- hosts: servers
become: yes
vars_files:
- vars/main.yml
roles:
- memiah.mail-relay
Внутри vars/main.yml
:
postfix_relay_user: "user_here"
postfix_relay_password: "password_here"
postfix_relay_server: "email-smtp.region.amazonaws.com"
Лицензия
MIT / BSD
Информация об авторе
Эта роль была создана в 2016 году Memiah Limited.
ansible-galaxy install memiah/ansible-role-mail-relay