php – 如何设置postfix将电子邮件存储在文件中而不是中继?
我想在本地环境中运行生产服务器的临时副本.系统运行一个
PHP应用程序,它在各种情况下向客户发送电子邮件,我想确保没有从登台环境发送电子邮件.
我可以调整代码,因此它使用虚拟电子邮件发件人,但我想运行与生产环境完全相同的代码.我可以使用不同的MTA(Postfix就是我们在制作中使用的东西),但是我想要在Debian / Ubuntu下很容易设置的东西:) 所以,我想设置本地Postfix安装来将所有电子邮件存储在(一个或多个)文件中,而不是中继它.实际上,只要检查发送的电子邮件是可行的,我就不在乎它是如何存储的.甚至设置选项告诉postfix将电子邮件保留在邮件队列中也可以(我可以在使用生产中的副本重新加载登台服务器时清除队列). 我知道这是可能的,我只是没有找到任何好的解决方案,因为这似乎是一个相当普遍的需求. 谢谢!
我使用管道命令创建了一个新的传输,它将电子邮件写入文件.
基本上: >创建将拥有电子邮件(或使用现有电子邮件)的用户.我给我发了电子邮件 #!/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-------------------------------------------------------nn"); fclose($fh); > chmod a x / home / email / bin / mail_eater file_route unix - n n - - pipe user=email argv=/home/email/bin/mail_eater >将其用作main.cf中的默认传输: default_transport = file_route 那里 :) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |