2015-09-07 28 views
0

我在Debian 7上安裝了sendmail,正在LEMP上運行一個新的WordPress網站。電子郵件不會發送到帶有標題的Wordpress

我有一個自定義的主題安裝了聯繫表單。

聯繫表格表示發送的電子郵件,但實際上沒有發送電子郵件。我試圖從電子郵件中刪除$headers,發送電子郵件。簡單的PHP郵件功能正常工作。相同的自定義主題通過共享主機的表單發送和發送電子郵件

這是自定義窗體的一部分:

有什麼不對呢?任何人都可以指出我有什麼錯,或者我可以怎樣開始發送電子郵件?

if(!isset($hasError) && ($correct == true)) { 

    $admin = get_bloginfo('admin_email'); 
    $portfolio = get_bloginfo('name'); 
    $portfolio_url = home_url(); 

    $emailTo = $admin; 
    $pro = get_the_title(); 
    $subject = "You have an message for $pro"; 
    $body = "Hello,\r\n\r\nYou've received an message from ".$name.", for ".$pro." fun name.\r\n\r\nHere are message details:\r\n--------------------------------\r\nBuyer Name: ".$name."\r\nEmail: ".$email."\r\nMessage: ".$message." ".$CurrencyCode."\r\n\r\nMessage: ".$message."\r\n\r\n---------\r\n".$portfolio."\r\n".$portfolio_url; 
    $headers = "From: ".$portfolio." <".$emailTo.">" . "\r\n" . "Reply-To: " . $email; 

    wp_mail($emailTo, $subject, $body, $headers); 

    $emailSent = true; 
} 

謝謝!

+0

打印出您的標題並確保像'$ portfolio'這樣的東西沒有無效的特殊字符。 – ceejayoz

+0

'$ portfolio'具有簡單的Blog名稱。 – Rafiq

+0

任何''''或'<'或者什麼都不標記?再次,'print $ headers'在某處並且把結果放在這裏 – ceejayoz

回答

1

wp_mail有一個與Reply-To標題相關的開放bug。嘗試僅刪除該標題並檢查電子郵件是否正確發送。如果是這樣的話,你將不得不創建一個插件來包裝它,或者避免設置Reply-To標題。

+0

如果我使用像'wp_mail($ emailTo,$ subject,$ body));'它發送電子郵件,但它不包含標題,即使我刪除了'Reply-To:'部分 – Rafiq

+0

然後$ emailFrom必須是問題。 – taxicala