2017-02-17 87 views
3

我試圖解決一個電子郵件從一個Wordpress網站發送的問題,該網站託管在GoDaddy上,其MX記錄設置爲Dreamhost.com郵件服務器。wp_mail vs php mail()

發送到該網站域名([email protected])的電子郵件不會通過,但發送到任何@ gmail.com地址的電子郵件都將通過。我測試這與下面的腳本...

<?php 
$mailResult = false; 
$from = "[email protected]"; 
$to = "[email protected]"; 
$subject = "PHP Mail Test script"; 
$message = "This is a test to check the wp_mail functionality."; 
$headers = "From:" . $from; 
$mailResult = wp_mail($to, $subject, $message, $headers); 
echo "mail result: ".$mailResult; 
?> 

對於[email protected][email protected]地址兩者的腳本結果爲1(真)。

作爲進一步的測試中,我使用WordPress之外的類似非常簡單的腳本,使用PHP的mail()...

<?php 
ini_set('display_errors', 1); 
error_reporting(E_ALL); 
$from = "[email protected]"; 
$to = "[email protected]"; 
$subject = "PHP Mail Test script"; 
$message = "This is a test to check the PHP Mail functionality.; 
$headers = "From:" . $from; 
mail($to,$subject,$message, $headers); 
echo "Test email sent"; 
?> 

該腳本成功發送到這兩個地址。所以,PHP郵件()的作品,但wp_mail()只適用於@ gmail.com地址。 wp_mail類與php mail()不同的是什麼?

回答

0

如果你使用WordPress,我建議使用wp_mail()我已經測試,它工作得很好

+0

感謝安東尼奧,是的,我將使用wp_mail,但問題正如上文所述的是,在這種情況下,它只會將郵件發送到[email protected]地址,而不會發送到[email protected]。所以我問爲什麼不會wp_mail發送到這兩個地址,如果PHP郵件會呢? – lenrooney

+0

我嘗試過wp_mail很多次,即使電子郵件不是Gmail地址,它也能正常工作。嘗試刪除**「$ mailResult = false;」** –

+0

$ mailresult變量除了接收函數錯誤/成功報告的值之外不參與wp_mail函數,它報告1,意思是'true'電子郵件地址。 – lenrooney