我在 Fedora 9 上使用 Postfix,并尝试对我的前任设置的系统进行一些更改。目前,[mail.ourdomain.com] 上的 Postfix 服务器设置为将发送到两个地址的邮件转发到另一台服务器进行处理。另一台服务器 [www01.ourdomain.com] 接收电子邮件并将其发送到 PHP 脚本进行处理。然后,该 PHP 脚本生成并向发送原始电子邮件的用户发送响应。
我们正在向系统添加更多 Web 服务器,因此我们决定将这些处理脚本移至我们的管理 [admin.ourdomain.com] 服务器,以便更轻松地跟踪它们。我已经在 [admin.ourdomain.com] 上设置并测试了处理脚本,并且在执行转发的邮件服务器 [mail.ourdomain.com] 上,我将 [admin.ourdomain.com] 添加到 /etc/hosts,并且除了 [www01.ourdomain.com] 之外,还为 [admin.ourdomain.com] 添加了另一个条目到 /etc/postfix/transport。我还重新启动了 postfix。
我使用 telnet 和 [admin.ourdomain.com] 域测试了从 [mail.ourdomain.com] 到 [admin.ourdomain.com] 的通信,一切运行正常。但是,当我更改转发地址并尝试向邮件服务器发送电子邮件时,我收到一条退回消息,指出“未找到主机或域名。name=admin.ourdomain.com 的名称服务错误类型=A:未找到主机”。如果我将转发设置改回 [www01.ourdomain.com],则一切正常。我在 Postfix 中缺少某些设置吗?服务器本身和 telnet 工作正常,只是 Postfix 似乎无法发现 [admin.ourdomain.com] 的位置。
答案1
如果有人感兴趣的话,我找到了答案,它就在这里。原来我从我的前任那里收到的指示缺少一个关键命令,该命令需要在传输文件更新后运行。
postmap /etc/postfix/transport
感谢这篇博文http://www.nooblet.org/blog/2007/postfix-transport-maps-diverting-mail-traffic/