kawaz.postfix_relay

Ansible角色用于Postfix,支持发件人依赖的中继和SASL认证

构建状态 Ansible Galaxy

要求

角色变量

  • 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_sesyes时使用的密码转换模式。如果在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_domainnull,则发件人不会被重写,并且不会被转发到 @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

作者信息

川津义明

关于项目

Add sender depended relay hosts to postfix with sasl authentication

安装
ansible-galaxy install kawaz.postfix_relay
许可证
Unknown
下载
710
拥有者