如何在wp_mail的标题(发件人字段)中添加电子邮件地址



我已经为用户创建了联系我们表单,用户可以在其中添加他们的电子邮件地址和姓名。我希望在wp_mail标题中添加这些名称和电子邮件地址字段。我正在使用以下代码。

$headers = 'From: My Name <test12df432abc@gmail.com>' . "rn";
wp_mail($to, $subjects, $message, $headers); // not working
wp_mail($to, $subjects, $message ); // working

我认为发生这种情况是因为我的发件人:地址与我发送电子邮件的域不匹配。但是我有什么办法可以使用wp_mail完成上述工作。

我正在使用smtp调试获得以下调试信息
2017-02-12 13:48:40 客户端->服务器:退出
2017-02-12 13:48:40 SMTP -> get_lines((: $data 是 ">
2017-02-12 13:48:40 SMTP -> get_lines((: $str 是 ">* ..* 服务关闭传输通道
"2017-02-12 13:48:40 服务器 -> 客户端: *
..* 服务关闭传输通道
2017-02-12 13:48:40 连接:已关闭

试试这个:

$headers = array(
  'From: My Name <test12df432abc@gmail.com>'
);
$headers = implode( PHP_EOL, $headers );
wp_mail( $to, $subjects, $message, $headers );

PHP_EOL将根据它所在的系统添加正确的换行符(其中rn用于Windows,n用于Unix(。使用 implode() 将确保仅在需要时添加它。在这种情况下,您只发送一个标头,因此无论如何都不会使用换行符。但是,如果您想发送更多标头:

$headers = array(
  'Bcc: secretuser123@aol.com',
  'From: My Name <test12df432abc@gmail.com>',
  'Reply-To: webmaster@hotmail.com'
);
$headers = implode( PHP_EOL, $headers );
wp_mail( $to, $subjects, $message, $headers );

相关内容

最新更新