我在测试环境中设置了 Postfix,与我们的 LAN 隔离,并为测试环境中的主机进行中继。最初,我让所有出站电子邮件通过 procmail 汇集到 postfix 框上的单个帐户中(开发人员通过 Dovecot 访问)。这允许开发人员测试发送电子邮件通知的生产代码,而无需电子邮件实际到达其预期收件人。
现在我需要真正允许一个主机中继到现实世界而不是“漏斗”帐户。我仍然需要“撒谎”并接受来自任何发件人到任何地方的电子邮件(当然是在测试环境中),并将其汇入漏斗用户帐户。我甚至不确定要谷歌搜索什么,因为这不是典型的 postfix 设置。鉴于以下配置,我如何为单个发送主机添加例外?
更新
值得注意的是“重复问题”目前不包含可行的示例postfix 2.9.6-1~12.04
。
postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_client_restriction=check
/usr/sbin/postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_client_restriction=check
我也不能确定它是否真的是重复的,因为答案似乎是根据用户@域配对。我想根据连接主机的 IP 地址或 DNS 主机名。我已向链接的“重复”发布了一个问题,试图解决该问题。
我的主配置文件看起来像这样:
myhostname = cliff.blah.net
alias_database = hash:/etc/aliases
mydestination = regexp:/etc/postfix/virtual_domains
virtual_alias_maps = regexp:/etc/postfix/virtual
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 10.2.1.0/24
mailbox_command = /usr/bin/procmail
relay_domains = .blah.net
smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, reject
local_recipient_maps =
虚拟的和虚拟域在这里:
# cat virtual
/@/ funnelmail
# cat virtual_domains
/.*/ MATCH
更新2 我无法让上面链接中的示例运行。也许是因为 Postfix 版本不同,或者是拼写错误太多,我不知道。我确实让多个实例在同一个服务器上的不同端口上运行,但无法在这里发布我的解决方案,因为有人关闭了该帖子,所以祝你好运。