我正在开发一个web应用程序,发送电子邮件给用户。 我通常在Windows环境中使用Argosoft邮件服务器(免费软件)作为SMTP服务器,其中启用了中继,但是closures了实际的传送。 这使我可以将我的web应用程序指向我的本地服务器,并且能够validation通过查看传出队列发送的所有电子邮件。 此外,为了100%安全,我会放入一个不存在的DNS服务器来确保如果我不小心启用了传送,服务器仍然无法查找任何外部地址并发送邮件。
现在我正在OSX机器上进行开发,我正在寻找一个类似的解决scheme。 默认情况下,OSX自带Postfix,所以我想我会使用它,并configuration它。 不过,我似乎无法在任何地方find禁用所有外发电子邮件的选项。 本质上,我想将Postfix设置为开放式中继服务器,但禁止传送所有电子邮件。 然后,我可以看看传出的队列,看看邮件是否如预期的那样。
无论如何轻易地做到这一点? 还是有更好的解决scheme,我可以使用?
在main.cf ,将以下check_recipient_access作为smtp_sender_restrictions 2的第一个选项
smtpd_sender_restrictions = check_recipient_access regexp:/etc/postfix/onhold ... ...
创build/etc/postfix/onhold关于下面的内容
/example\.com$/ DUNNO /^/ HOLD
除了example.com的电子邮件之外,所有内容都将被保留。
基于postfix 网站 ,更改
queue_run_delay = 3600
300是默认值,即5分钟。 将其更改为3600将使其每小时重试一次。 您可以尝试将其更改为86400(24小时)。 我认为这应该给你足够的时间来testing和检查电子邮件竞争。
我一直在研究一个类似的问题,它看起来像postsuper -h ALL和postsuper -H都应该工作。 http://www.postfix.org/postsuper.1.html