我总是在我的php应用程序中包含-f
标志,因为我认为这很重要,因为文档告诉我们:
应将Web服务器运行的用户添加为受信任的用户 到sendmail配置,以防止'X-Warning'标头 使用时设置信封发件人(-f)时添加到邮件中 这种方法。对于sendmail用户,此文件是/ etc / mail / trusted-users。
所以看起来它用于防止欺骗 - 通过验证我是谁。然后我做了一个实验。事实证明,如果我不包括-f,当我发送邮件时仍然没有X警告。事实上,发送者甚至不需要自己。例如,我尝试Obama@whitehouse.org
作为发件人,我收到的电子邮件没有任何警告。我甚至尝试使用Obama@whitehouse.org
向几个电子邮件帐户发送几百封电子邮件,但这些邮件并未被标记为垃圾邮件。
所以,我的问题是,-f
标志真的有什么作用(因为在我看来,如果没有它,电子邮件会发送得很好)?
答案 0 :(得分:2)
-f标志用于指定envelope sender
地址。您应该使用-f标志来设置此地址,使其与邮件标题中的FROM
地址匹配,否则一些垃圾邮件过滤器将更有可能将邮件视为垃圾邮件,因为这两者都是不匹配。
您可以执行以下操作来设置两者,以便它们匹配:
$to = "to@to.com";
$from = "from@from.com";
$subject = "subject";
$message = "this is the message body";
$headers = "From: $from";
$ok = @mail($to, $subject, $message, $headers, "-f " . $from);