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


Why do i have to use "-f from@email.com" in the mail() function

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

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

我真的很想知道为什么他必须这样做,当我不使用这个标志时,是什么原因导致我的邮件无法发出。

请注意,同样的事情再次发生在我正在构建的开发服务器上,如果我没有放置第5个参数,邮件将丢失在空间中并且永远不会发送。


我如何管理配置后缀/php,以防止我不得不使用此配置。我已经编程PHP 11年了,我只是最近才开始做这个。

似乎您必须是发送服务器上的受信任用户才能从它发送邮件。在我的研究中,-f只是确认你的用户是一个值得信任的用户。

http://www.php.net/manual/en/function.mail.php在这一页研究-f,你正好落在它。

使您的邮件无法发出的原因是服务器没有识别出受信任的用户,添加了X-Warning标头。