php – 如何设置postfix将电子邮件存储在文件中而不是中继?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 如何设置postfix将电子邮件存储在文件中而不是中继?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在本地环境中运行生产服务器的临时副本.系统运行一个 PHP应用程序,它在各种情况下向客户发送邮件,我想确保没有从登台环境发送电子邮件.

我可以调整代码,因此它使用虚拟电子邮件发件人,但我想运行与生产环境完全相同的代码.我可以使用不同的mta(Postfix就是我们在制作中使用的东西),但是我想要在Debian / ubuntu下很容易设置的东西:)

所以,我想设置本地Postfix安装来将所有电子邮件存储在(一个或多个)文件中,而不是中继它.实际上,只要检查发送的电子邮件是可行的,我就不在乎它是如何存储的.甚至设置选项告诉postfix将电子邮件保留在邮件队列中也可以(我可以在使用生产中的副本重新加载登台服务器时清除队列).

知道这是可能的,我只是没有找到任何好的解决方案,因为这似乎是一个相当普遍的需求.

谢谢!

我使用管道命令创建了一个新的传输,它将电子邮件写入文件.

基本上:

>创建将拥有电子邮件(或使用现有电子邮件)的用户.我给我发了电子邮件
> mkdir / home / email / bin
>将以下脚本放在/ home / email / bin / mail_eater中(这使用PHP,但您可以用您喜欢的任何语言编写自己的版本,只需将stdin附加到文件中):

#!/usr/bin/PHP
<?PHP
$fd = foPEn("PHP://stdin","r");
$email = "";
while (!feof($fd)) {
    $email .= fread($fd,1024);
}
fclose($fd);
$fh = fopen('/home/email/email.txt','a');
fwrITe($fh,$email."\n-------------------------------------------------------\n\n");
fclose($fh);

> chmod a x / home / email / bin / mail_eater
>触摸/home/email/email.txt
> chmod a r /home/email/email.txt
>通过在master.CF中追加以下行来使用此文件创建新传输:

file_route unix -    n    n    -    -    pipe user=email  argv=/home/email/bin/mail_eater

>将其用作main.cf中的认传输:

default_transport = file_route

那里 :)

脚本宝典总结

以上是脚本宝典为你收集整理的php – 如何设置postfix将电子邮件存储在文件中而不是中继?全部内容,希望文章能够帮你解决php – 如何设置postfix将电子邮件存储在文件中而不是中继?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。