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

问题描述:

我已创建联系我们表单,供用户添加其电子邮件地址和名称的用户使用。我希望在wp_mail标题中添加这些名称和电子邮件地址字段。 我正在使用以下代码。
$headers = 'From: My Name <[email protected]>' . "\r\n";
wp_mail($to, $subjects, $message, $headers); // not working
wp_mail($to, $subjects, $message); // working
如何在wp_mail中的标题(从字段)中添加电子邮件地址

我认为这种情况的发生是因为我的发件人地址不匹配我是来自发送电子邮件域。但有没有什么办法让我使用wp_mail来完成上面的任务。

我得到以下使用SMTP调试
2017年2月12日13时48分40秒客户端的调试信息 - >服务器:退出
2017年2月12日13时48分40秒SMTP - > get_lines() :$数据是 “”
2017年2月12日13点48分四十零秒SMTP - > get_lines():$ str是 “* *服务关闭传输信道
” 2017年2月12日13。 :48:40服务器 - >客户端:*
。 。 *服务关闭传输通道
2017年2月12日13时48分40秒的连接:关闭

试试这个:

$headers = array(
    'From: My Name <[email protected]>' 
); 
$headers = implode(PHP_EOL, $headers); 
wp_mail($to, $subjects, $message, $headers); 

PHP_EOL将根据它是在系统上添加适当的换行符(其中\r\n用于Windows,\n用于Unix)。使用implode()将确保只在需要时添加它。在这种情况下,你只发送一个头文件,所以换行符不会反向。但是,如果你想发送更多的标头:

$headers = array(
    'Bcc: [email protected]', 
    'From: My Name <[email protected]>', 
    'Reply-To: [email protected]' 
); 
$headers = implode(PHP_EOL, $headers); 
wp_mail($to, $subjects, $message, $headers); 
+0

嗨乔感谢您的答复。我试过你的代码,但我收到同样的错误。我从电子邮件我希望设置可能是任何类似Gmail,rediffmail,或任何其他和我的服务器的电子邮件地址是从另一个域。可能是这是造成问题。如果您对此有任何意见,请分享。 – Shankar

+0

你使用任何SMTP插件或认证?我提供的'wp_mail'代码是正确的,假设这些变量已设置;所以,这个问题在更远的地方。 –