搜索

2.4. 将 Postfix 配置为将所有电子邮件转发到邮件中继

download PDF

如果要将所有电子邮件转发到邮件中继,您可以将 Postfix 服务器配置为 null 客户端。在此配置中,Postfix 仅将邮件转发到不同的邮件服务器,且无法接收邮件。

先决条件

  • 您有 root 访问权限。
  • 您的服务器上已安装了 postfix 软件包。
  • 您有要将电子邮件转发到的中继主机的 IP 地址或主机名。

流程

  1. 要防止 Postfix 接受任何本地电子邮件发送并使其成为 null 客户端,请编辑 /etc/postfix/main.cf 文件,并进行以下更改:

    1. 通过将 mydestination 参数设置为空值,将 Postfix 配置为转发所有电子邮件:

      mydestination =

      在此配置中,Postfix 服务器不是任何电子邮件的目的地,并充当 null 客户端。

    2. 指定从您的 null 客户端接收电子邮件的邮件中继服务器:

      relayhost = <[ip_address_or_hostname]>

      中继主机是负责邮件发送的。将 <ip_address_or_hostname> 括在方括号中。

    3. 将 Postfix 邮件服务器配置为仅侦听要发送的电子邮件的回环接口:

      inet_interfaces = loopback-only
    4. 如果您希望 Postfix 将所有传出电子邮件的发件人域重写为中继邮件服务器的公司域,请设置:

      myorigin = <relay.example.com>
    5. 要禁用本地邮件发送,请在配置文件末尾添加以下指令:

      local_transport = error: local delivery disabled
    6. 添加 mynetworks 参数,以便 Postfix 将来自 127.0.0.0/8 IPv4 网络和 [::1]/128 IPv6 网络的本地系统的邮件转发到邮件中继服务器:

      mynetworks = 127.0.0.0/8, [::1]/128
  2. 验证 main.cf 文件中的 Postfix 配置是否正确:

    $ postfix check
  3. 重启 postfix 服务以应用更改:

    # systemctl restart postfix

验证

  • 验证电子邮件通信是否被转发到邮件中继:

    # echo "This is a test message" | mail -s <SUBJECT> <user@example.com>

故障排除

  • 如果出现错误,请检查 /var/log/maillog 文件。

其他资源

  • /etc/postfix/main.cf 配置文件
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.