虽然不是这样的解决方案,但我建议您发送几封测试电子邮件来隔离问题,并验证问题是如何以及在哪里出现的。可能您的电子邮件确实已发送,但由于缺少一些邮件头等原因被远程邮件服务器拒绝。下面的代码可能会帮助您确定这一点。暂时放进去functions.php
. wp_mail
将返回true
关于成功和false
否则
function email_test() {
$test1 = wp_mail( [email protected], "Test 1", "Just testing" );
$test2 = wp_mail( [email protected], "Test 2", "Just testing some more" );
var_dump($test1);
var_dump($test2);
var_dump(ini_get(\'smtp_port\'));
die();
}
add_action(\'plugins_loaded\', \'email_test\');
有一个
few SMTP related PHP settings 这可能会影响
mail()
反过来
wp_mail()
. 如果你使用的是共享托管,我建议你简单地向你的托管提供商描述问题,让他们调整设置,或者希望他们至少能够为你指明正确的方向。
我也看到了一些发送电子邮件的问题,但由于缺少邮件头,被远程服务器拒绝了。虽然wp_mail
应该注意其中的大部分,添加如下标题From
, Reply-To
, Return-Path
, Organization
, X-PHP-Script
有时可能会有所帮助(查看wp_mail
).