Wp_mail()在本地主机中不起作用

时间:2015-07-28 作者:user2728494

我正在本地测试wp\\u mail()。当我var dump wp\\u mail时,我得到布尔值false。这是我的密码

    $to = "[email protected]";
    $subject = \'my subject\';
    $message = \'I would like to work with you\';
    $headers = \'\';


    $sent_message = wp_mail( $to, $subject, $message, $headers);
    var_dump($sent_message); // i get boolean false here.
    if ( $sent_message ) {
        echo \'The test message was sent. Check your email inbox.\';
    } else {
        echo \'The message was not sent!\'; //this gets printed in d end.
    }
任何帮助都将不胜感激。

2 个回复
SO网友:David

wp_mail() 回到php的mail() 该函数需要在主机上配置MTA(邮件传输代理)。因此,要么安装并配置这样的MTA。如果您运行的是类似Linux的操作系统,SSMTP 是一个简单的解决方案,您可以使用任何邮件提供商通过SMTP发送系统邮件。另一个MTA是Sendmail, 功能齐全但难以配置的MTA。

或者您只需使用一个插件,如WP Mail SMTP 它在PHP中实现直接SMTP连接,并绕过mail() 用法

SO网友:Ronni

如果有人偶然发现这个老问题:

在我的例子中,原因是,我给localhost上的站点起了一个没有顶级域的名称。e、 g.“引用”;“我的网站”;(而不是“mysite.com”)。因此,WordPress假设;“自”;地址为“;wordpress@mysite"E;。

Phpmailer(由wp\\u mail调用)随后引发错误:“No No No modHFGen.dll;无效地址:(发件人):wordpress@mysite"E;

解决方案是通过标头显式设置发件人地址:

    $headers[] = \'From: Wordpress<[email protected]>\';
    $sent_message = wp_mail( $to, $subject, $message, $headers );
然后wp_邮件起作用了。

结束

相关推荐

排除Plugins.php HTTP安装路径与单个插件的HTTPS的故障

我正在尝试对插件中显示的安装路径进行故障排除。php作为我在自己的网站上安装的插件,我最初并没有编写该插件。当我的站点的其余部分是HTTPS时,此插件引用和安装的所有资源都会显示为混合内容HTTP。我一直在玩弄下面的代码段,但它似乎没有起到什么作用,也没有解决问题。有人能指出我遗漏了什么吗? /** * registers scripts and stylesheets */ public function register_assets() {&