php邮件未使用cpanel发送正确的From标头

分享于2022年07月17日 email php 问答
【问题标题】:php邮件未使用cpanel发送正确的From标头(php mail not sending the correct From header using cpanel)
【发布时间】:2022-01-25 17:52:24
【问题描述】:

我正在尝试发送显示提供的“发件人”地址的短信或电子邮件。

$to         = 'phone number or email';
$headers    = array(
    'From'     => "noreply@site.com",
    'Reply-To' => "noreply@site.com",
    'X-Mailer' => 'PHP/' . phpversion()
);

'mail(
    $to,
    $subject,
    $message,
    $headers = [],
    $additional_params = ""
);'

发送短信或电子邮件时,发件人地址显示如下:e3odhdrfh4h@textcpnl4324.prod.phx3.secureserver.net

我正在使用 Cpanel 托管运行 WordPress 网站。我正在尝试使用 PHP 邮件函数而不是 wp_mail 函数来完成这项工作。

谢谢

  • 你需要加 $headers = implode("\r\n", $headers); 你可以参考这个 SO_post
  • 你的 php.ini 中设置了 sendmail_from 和 sendmail_path 参数的值?

【解决方案1】:

试试这个:

mail(
    $to,
    $subject,
    $message,
    implode("\r\n", $headers),
    "-fnoreply@site.com"
);

带有 -f 的最后一个参数( additional_params )将强制更改 Return-path 邮件标头,并且在您的情况下,发送邮件的任何服务器错误都将转到那里而不是 e3odhdrfh4h@textcpnl4324.prod.phx3.secureserver.net ..