搜索

第 20 章 使用 RHEL 系统角色配置 Postfix MTA

download PDF

使用 postfix RHEL 系统角色,您可以统一简化 Postfix 服务的自动配置,带有模块化设计的与 Sendmail 兼容的邮件传输代理(MTA),以及各种配置选项。rhel-system-roles 软件包包含此 RHEL 系统角色,以及参考文档。

20.1. 使用 postfix RHEL 系统角色自动化基本 Postfix MTA 管理

您可以使用 postfix RHEL 系统角色在受管节点上安装、配置和启动 Postfix 邮件传输代理。

先决条件

流程

  1. 创建一个包含以下内容的 playbook 文件,如 ~/playbook.yml

    ---
    - name: Manage postfix
      hosts: managed-node-01.example.com
      roles:
        - rhel-system-roles.postfix
      vars:
        postfix_conf:
          relay_domains: $mydestination
            relayhost: example.com
    • 如果您希望 Postfix 使用与 gethostname () 函数返回的完全限定域名(FQDN)不同的主机名,请在文件中的 postfix_conf: 行下添加 myhostname 参数:

      myhostname = smtp.example.com
    • 如果域名与 myhostname 参数中的域名不同,请添加 mydomain 参数。否则,会使用 $myhostname 减去第一个组件。

      mydomain = <example.com>
    • 使用 postfix_manage_firewall: true 变量来确保 SMTP 端口在服务器的防火墙中打开。

      管理 SMTP 相关的端口 25/tcp465/tcp587/tcp。如果变量设为 false,则 postfix 角色不管理防火墙。默认值为 false

      注意

      postfix_manage_firewall 变量仅限于添加端口。它不能用来删除端口。如果要删除端口,请直接使用 firewall RHEL 系统角色。

    • 如果您的场景涉及使用非标准端口,请设置 postfix_manage_selinux: true 变量,以确保端口在服务器上为 SELinux 正确标记。

      注意

      postfix_manage_selinux 变量仅限于向 SELinux 策略中添加规则。它不能从策略中删除规则。如果要删除规则,请直接使用 selinux RHEL 系统角色。

  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/playbook.yml

    请注意,这个命令只验证语法,不会防止错误但有效的配置。

  3. 运行 playbook:

    $ ansible-playbook ~/playbook.yml

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.postfix/README.md 文件
  • /usr/share/doc/rhel-system-roles/postfix/ 目录
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.