最近,我的一位同事开始遇到从我们开发网站的不同主机发送邮件的问题。他记得很久以前使用第五个参数,他可以在mail()调用中传递“-f email”,如:
mail('mdumoulin@mydomain.com', 'test', 'test', '', '-f mdumoulin@mydomain.com');
我真的想知道为什么他必须这样做,当我不使用这个标志时,我的邮件没有出去的原因是什么。
请注意,在我正在构建的开发服务器上再次发生了同样的事情,如果我没有放入第5个参数,那么邮件就会在太空中丢失并且从未发送过。
更新
如何设置postfix / php以防止我必须使用此配置。我已经编程了11年的PHP,我最近才开始这么做。必须有办法防止这种情况发生变化......
答案 0 :(得分:2)
似乎您必须是发送服务器上的受信任用户才能从中发送邮件。我在研究中读到的内容,只是确认您的用户是受信任的用户。
http://www.php.net/manual/en/function.mail.php研究-f在这个页面中,你就落在了它上面。
使您的邮件不出来的原因是服务器(不识别可信用户)添加了X-Warning标头。