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

标签 php email postfix-mta

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

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

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

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


更新

我如何设法配置 postfix/php 以防止我必须使用此配置。我从事 PHP 编程已有 11 年,直到最近才开始做这件事。必须有一种方法来防止这种情况发生......

最佳答案

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

http://www.php.net/manual/en/function.mail.php研究此页面中的 -f,您就可以找到它。

使您的邮件无法发出的原因是服务器在无法识别可信用户的情况下添加了 X-Warning header 。

关于php - 为什么我必须在 mail() 函数中使用 "-f from@email.com",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8331889/

相关文章:

php - 如何输出一个数组,以便可以将其复制粘贴回代码中?

mysql - Dovecot+Postfix自己的用户数据库

email - 后缀 : send a copy of every email to a given email address

php - 自定义在 Wordpress 中自动生成 Post Slug

php - Laravel 查询中的动态排序依据

email - 使用 EC2 或网络邮件/电子邮件服务提供商的 AWS Route 53 电子邮件设置

ruby-on-rails - Net::SMTPServerBusy 中继访问被拒绝 Mailjet

linux - 使用 postfix 进行私有(private)网络

php - Apache 是否支持 Windows 上的 PHPIniDir?

Microsoft Outlook 电子邮件客户端中的 HTML 布局困惑