我有一个临时 Web 服务器,之前我阻止了从该服务器发送的任何邮件(我不希望我的客户从该服务器收到测试消息)。我现在设置了 postfix,但我想限制它,以便服务器只向一个域名的收件人发送电子邮件。我尝试过:
relay_domains = domain.com
smtpd_recipient_restrictions = reject_unauth_domain
.. 还有其他变化。我只是把它改成这样,看看是否有任何不同:
smtpd_recipient_restrictions = reject
但它仍在发送邮件。我想我所做的只是更改中继设置,我需要更改其他内容,但看不懂文档。
每次更改后我都会运行 postfix reload,然后重新启动 postfix。这是在 Ubuntu 服务器上。
答案1
我有一个俗气的想法:将智能主机设置为无效的 IP 地址。然后,本地的电子邮件将被发送,但其他所有邮件将排队等待发送到不存在的主机。然后每隔几天删除这些邮件。
另一个想法是使用传输文件将您客户域的电子邮件重定向到不存在的服务器。或者重定向到设置为接受所有/多个域(例如您客户的域)的电子邮件的测试服务器。
答案2
这与 Walter 提供的想法相同,但更多的是一个示例,通过它您应该能够弄清楚该怎么做:
testbox:/etc/postfix# grep transport main.cf
transport_maps = hash:/etc/postfix/transport
testbox:/etc/postfix# cat /etc/postfix/transport
ourdomain.com relay:[smarthost.ourdomain.com]
* local:
testbox:/etc/postfix# grep luser_relay main.cf
luser_relay = aLocalUser
testbox:/etc/postfix# postmap transport
testbox:/etc/postfix#
哦——“aLocalUser”当然是你的盒子上的本地用户,他将接收所有实际上并未外部传送的电子邮件。
答案3
我第二次问了这个问题,并得到了有效的答复雷姆斯。 看我如何设置 Postfix 以便将我开发箱上发送的所有电子邮件路由到开发人员电子邮件组?