2 回答

TA貢獻1946條經(jīng)驗 獲得超3個贊
您可能有以下原因之一未發(fā)送
1) 可能有 PHPMailer 異常 : wp_mail is getting failed 所以嘗試使用下面的代碼調(diào)試錯誤
// show wp_mail() errors
add_action( 'wp_mail_failed', 'onMailError', 10, 1 );
function onMailError( $wp_error ) {
echo "<pre>";
print_r($wp_error);
echo "</pre>";
}
2)Wordpress 依賴 PHPMailer 類通過 PHP 的郵件功能發(fā)送郵件。
由于 PHP 的郵件函數(shù)在執(zhí)行后返回的信息很少(只有 TRUE 或 FALSE),我建議暫時將您的函數(shù)精簡到最小,以便查看 wp_mail 函數(shù)是否有效。
$mailResult = false;
$mailResult = wp_mail( 'youremail@bla.com', 'test if mail works', 'hurray' );
echo $mailResult;
3) 您可能遇到服務(wù)器問題,因為“未收到”與“未發(fā)送”并不相同,這是故障排除中的一個重要區(qū)別。
如果其他電子郵件地址正在接收,則很可能是在您列出的接收主機上標記了您的郵件。
4) 并非所有 wordpress/服務(wù)器配置都允許默認的 Wordpress wp_mail 函數(shù)發(fā)送郵件。當然,在本地(主機)服務(wù)器上進行測試時,許多 ISP 會阻止默認的外發(fā)郵件流量。有時阻塞會默默進行,所以看起來一切正常,但郵件永遠不會發(fā)送。有幫助的是安裝WP Mail SMTP 插件(或類似插件),以便您可以配置外發(fā) SMTP 服務(wù)器(有或沒有身份驗證)。
5) 您的電子郵件可能被標記為垃圾郵件,或者只是您的電子郵件提供商不允許它進入您的收件箱。
你有 SPF 記錄設(shè)置嗎?如果您從您的網(wǎng)站發(fā)送電子郵件,并且將 from 標頭設(shè)置為@gmail.com或@hotmail.com,則這肯定不會到達您的收件箱,因為該電子郵件不是來自 gmail 或 hotmail 服務(wù)器,而是來自您的服務(wù)器,所以它認為是您嘗試一些網(wǎng)絡(luò)釣魚攻擊。
所以你還應(yīng)該檢查你的垃圾郵件/垃圾文件夾是否被攔截。
注意:有很多與此問題相關(guān)的鏈接,您可以查看這些鏈接,但每個人最喜歡使用的WORDPRESS MAIL SMTP PLUGIN是我在第 4 點中提到的,它可以解決 95% 以上的人的問題。
- 2 回答
- 0 關(guān)注
- 290 瀏覽
添加回答
舉報