pimvh.postfix

分子测试

分子测试

要求

  1. 安装 Ansible:
sudo apt install python3
python3 -m ensurepip --upgrade
pip3 install ansible
  1. 安装这个角色:
ansible-galaxy install pimvh.postfix

需要的变量

请查看默认值中显示的变量。在 meta/main.yaml 中包含了变量的描述。传递给这个角色的变量将在运行时通过参数规范进行验证。

示例剧本

在主机上运行这个角色的简单方法如下:

- hosts:
  - foo

  vars:
    postfix_ipv4: << 在这里传递 Postfix 邮件服务器的 IPv4 地址 >>
    postfix_ipv6: << 在这里传递 Postfix 邮件服务器的 IPv6 地址 >>
    postfix_myhostname: "<< 在这里传递 Postfix 域名 >>"
    postfix_mydomain: "<< 在这里传递 Postfix 域,默认为 myhostname >>"
    postfix_mynetworks:
      - 127.0.0.0/8
      - "::1/128" # 您不需要将 IPv6 地址用括号括起来,过滤器会处理
    # 根据需要添加额外网络
    postfix_virtual_alias_domains: [] # 根据需要添加虚拟别名域(请参见 meta/main.yaml 的结构)
    postfix_relay_domains: [] # 根据需要添加中继域(请参见 defaults/main.yaml 的结构)
    postfix_aliases: # 根据需要添加用户别名
      - user: root
        alias: postmaster
    # 也可以是用户列表
    # - users:
    #     - fred
    #     - foo
    #     - bar
    #   alias: something

    postfix_virtual_aliases: [] # 根据需要添加虚拟别名(请参见 meta/main.yaml 的结构)

    # 您可以跳过其余的变量
    # postfix_install: true
    # postfix_dir: /etc/postfix

    # postfix_dkim_enabled: true # DKIM 默认启用
    # postfix_dkim_keys:
    #   default:
    #     mail: "*"

    # DKIM 文件放置文件系统中
    # postfix_dkim_keytable: /etc/opendkim/keytable
    # postfix_dkim_signingtable: /etc/opendkim/signingtable
    # postfix_dkim_trustedhosts: "/etc/opendkim/trustedhosts"

    # 证书位置基于 certbots 默认位置(您可以运行 pimvh.certbot 角色以获取证书)
    # postfix_smtpd_tls_cert_file: "/etc/letsencrypt/live/{{ postfix_mydomain }}/fullchain.pem"
    # postfix_smtpd_tls_key_file: "/etc/letsencrypt/live/{{ postfix_mydomain }}/privkey.pem"

  roles:
    - pimvh.postfix

如果您不在线设置变量而是基于主机和/或组,您可能会节省一些重构的工作,不过这取决于您具体的使用案例。请查看 Ansible 推荐的剧本设置。

TLDR - 如果我运行这个会发生什么

  • 验证变量是否正确
  • 安装 Postfix
  • 安装并配置 Amavis
  • 安装并配置 OpenDKIM
  • 安装并配置 OpenDMARC
  • 安装并配置 Dovecot,带系统用户和虚拟邮件目录
  • 配置 Mailutils(该角色依赖于这个安装)

这个角色不做的事情

防火墙设置

这个角色不进行任何防火墙设置,因为您可能有特定的需求。您可能不希望将 IMAP 端口开放给整个互联网,如果可以避免的话。所以要小心!

设置数据库后端

我还没有配置数据库作为 Postfix 的后端。如果您有兴趣,请随时贡献。

故障排除

这个角色会验证传递的变量。如果您:

  • 在参数规范中看到问题,您可能在传递变量时犯了错误。
  • 在运行这个剧本时遇到问题,不要犹豫,详细描述您的问题并提交一个问题。

未来改进

这个角色还有很多可以改进的地方。以下是我考虑添加的一些功能:

  • 添加一个 DMARC 解析工具
  • 为 Postfix 服务器添加更好的后端,例如用数据库替代纯文件系统。

如果您有其他改进,请随时提交一个问题。

参考资料

关于项目

role to configure postfix, with ClamAV, Amavis, DKIM, SPF and DMARC

安装
ansible-galaxy install pimvh.postfix
许可证
gpl-3.0
下载
72
拥有者