为什么我必须在mail()函数中使用“-f from@email.com”

时间:2011-11-30 19:39:59

标签: php email postfix-mta

最近,我的一位同事开始遇到从我们开发网站的不同主机发送邮件的问题。他记得很久以前使用第五个参数,他可以在mail()调用中传递“-f email”,如:

mail('mdumoulin@mydomain.com', 'test', 'test', '', '-f mdumoulin@mydomain.com');

我真的想知道为什么他必须这样做,当我不使用这个标志时,我的邮件没有出去的原因是什么。

请注意,在我正在构建的开发服务器上再次发生了同样的事情,如果我没有放入第5个参数,那么邮件就会在太空中丢失并且从未发送过。


更新

如何设置postfix / php以防止我必须使用此配置。我已经编程了11年的PHP,我最近才开始这么做。必须有办法防止这种情况发生变化......

1 个答案:

答案 0 :(得分:2)

似乎您必须是发送服务器上的受信任用户才能从中发送邮件。我在研究中读到的内容,只是确认您的用户是受信任的用户。

http://www.php.net/manual/en/function.mail.php研究-f在这个页面中,你就落在了它上面。

使您的邮件不出来的原因是服务器(不识别可信用户)添加了X-Warning标头。