为什么 postfix 不遵循 PHP mail() 中的发件人标头;

为什么 postfix 不遵循 PHP mail() 中的发件人标头;

我已经安装了没有配置选项的 postfix。

我正在尝试使用 php mail() 发送电子邮件;它可以工作,但它使用我的专用服务器的默认电子邮件发送电子邮件。

有没有什么方法可以告诉 postfix 遵循邮件功能设置的标题?

谢谢

代码

$from='[email protected]';
$fromname='my Website';
mail($mailto,$subject,$text,'From: ' . $fromname . ' <'.$from.'>');

答案1

尝试使用 -f 和 -r 附加参数分别覆盖来自标头和返回路径。

mail(
    $mailto,
    $subject,
    $text,
    "From: " . $fromname . " <".$from.">",
    "-f $from -r [email protected]");

来自 postfix sendmail 手册页:

   -f sender
     Set the envelope sender address. This is the address where delivery problems are sent to.  With  Postfix  versions  before  2.1,  the
     Errors-To: message header overrides the error return address.


   -r sender
     Set the envelope sender address. This is the address where delivery problems are sent to.  With  Postfix  versions  before  2.1,  the
     Errors-To: message header overrides the error return address.

答案2

如果您有一百万个 mail() 并且不想重新编码所有 mail() 函数...您可以在 php.ini 中设置以下内容...它将普遍设置所有 php mail() 函数来使用它。

sendmail_path = sendmail -t -f [email protected]

相关内容