kawaz.postfix_relay
Ansible角色用于Postfix,支持发件人依赖的中继和SASL认证
要求
无
角色变量
postfix_relay_configs_template
:配置模板列表。
角色变量
变量 | 描述 | 默认值 |
---|---|---|
postfix_relay_configs |
main.cf的额外配置 | {} |
postfix_relay_maps |
映射列表 {sender, sender_matches_subdomains, relayhost, username, password, enable_password_conversion_for_ses, password_conversion_mode} |
[] |
postfix_relay_maps[].sender |
发件人。如果发件人包含 @*. , 则匹配子域。 |
|
postfix_relay_maps[].sender_matches_subdomains |
如果是yes ,则发件人与子域匹配。这与在发件人中包含 @*. 相同。 |
no |
postfix_relay_maps[].relayhost |
中继主机 | |
postfix_relay_maps[].username |
SASL用户名 | |
postfix_relay_maps[].password |
SASL密码 | |
postfix_relay_maps[].enable_password_conversion_for_ses |
如果是yes ,则正常的AWS凭证将被转换为SES SMTP凭证。详情请见 这里 |
no |
postfix_relay_maps[].password_conversion_mode |
当enable_password_conversion_for_ses 为yes 时使用的密码转换模式。如果在2019-01-10之前创建的IAM AccessKey,则使用 aws_ses_before20190110 ,否则使用 aws_ses_v4 。 见这里 |
aws_ses_v4 |
postfix_relay_sender_dependent_relayhost_maps |
每个发件人的中继主机映射 | {} |
postfix_relay_smtp_sasl_password_maps |
每个中继主机或发件人的 USERNAME:PASSWORD 映射 |
{} |
postfix_relay_fixup_sender_domain |
如果发件人与任何发件人不匹配,则重写为此处指定的域 | null |
依赖关系
Postfix
示例剧本
AmazonSES(凭证为普通AWS凭证,不是SMTP凭证)
这是一个简单的AmazonSES剧本。
- hosts: servers
roles:
- role: kawaz.postfix_relay
postfix_relay_fixup_sender_domain: noreply.example.com
postfix_relay_maps:
- sender: '@example.com'
sender_matches_subdomains: yes
relayhost: '[email-smtp.us-east-1.amazonaws.com]:587'
username: 'AKIAIOSFODNN7EXAMPLE'
password: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY'
enable_password_conversion_for_ses: yes
如果你的凭证是通过管理控制台创建的,则不需要enable_password_conversion_for_ses: yes
。
如果发件人是 [email protected]
,则发件人将重写为 [email protected]
。
如果 postfix_relay_fixup_sender_domain
为 null
,则发件人不会被重写,并且不会被转发到 @example.com
的中继主机。
多重身份
这是结合多个AmazonSES和Gmail帐户身份的示例。
- hosts: servers
roles:
- role: kawaz.postfix_relay
postfix_relay_sender_dependent_relayhost_maps:
'@example.com': '[email-smtp.us-east-1.amazonaws.com]:587'
'@example.org': '[email-smtp.us-east-1.amazonaws.com]:587'
'@example.net': '[email-smtp.us-east-1.amazonaws.com]:587'
'@*.example.info': '[email-smtp.us-east-1.amazonaws.com]:587'
'[email protected]': '[smtp-relay.gmail.com]:587'
'@intra.local': '[10.0.0.25]:25'
postfix_relay_smtp_sasl_password_maps:
'@example.com': 'AWS_ACCESS_KEY1:AWS_ACCESS_SECRET1'
'@example.org': 'AWS_ACCESS_KEY2:AWS_ACCESS_SECRET2'
'@*.example.info': 'AWS_ACCESS_KEY3:AWS_ACCESS_SECRET3'
'[email-smtp.us-east-1.amazonaws.com]:587': 'AWS_ACCESS_KEY4:AWS_ACCESS_SECRET4'
'[email protected]': '[email protected]:PASSWORD'
postfix_relay_maps:
- sender: '@example.jp'
relayhost: '[smtp-relay.gmail.com]:587'
- sender: '@*.example.jp'
relayhost: '[smtp-relay.gmail.com]:587'
- sender: '[email protected]'
username: '[email protected]'
password: 'FOOPASSWORD'
- sender: '[email protected]'
username: '[email protected]'
password: 'BARPASSWORD'
许可证
MIT
作者信息
川津义明