2017-02-12 118 views
1

我已創建聯繫我們表單,供用戶添加其電子郵件地址和名稱的用戶使用。我希望在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秒的連接:關閉

回答

0

試試這個:

$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'代碼是正確的,假設這些變量已設置;所以,這個問題在更遠的地方。 –

相關問題