当用户注册时,WordPress不会发送电子邮件

时间:2013-01-29 作者:JR Galia

当用户在我的wordpress网站上注册时,它不会向他们发送包含密码的电子邮件。

我注意到,当用户的电子邮件@mydomain.com, 但对于其他人来说,让我们说gmail。com或雅虎。com,它不发送电子邮件。

如何修复它?

1 个回复
SO网友:Simon

虽然不是这样的解决方案,但我建议您发送几封测试电子邮件来隔离问题,并验证问题是如何以及在哪里出现的。可能您的电子邮件确实已发送,但由于缺少一些邮件头等原因被远程邮件服务器拒绝。下面的代码可能会帮助您确定这一点。暂时放进去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).

结束