联系人表格7:WP_MAIL在更新到4.6后不起作用

时间:2016-08-17 作者:IvnH

这个wp_mail 将WordPress更新为版本后,函数不起作用4.6.

我的代码是:

$headers = \'From: \' . $this->from_name . \' <\' . $this->from_email .\'>\' . "\\r\\n";
wp_mail( $service->getEmail(), $this->admin_daily_subject, $admin_daily_message, $headers );
它在更新之前工作得很好。此外,我注意到在Contact Form 7. 有什么想法吗?提前谢谢。

UPDATE

由于没有找到解决方案,我更换了wp_mail 使用邮件功能并添加了一些标题:

$headers = \'From: \' . $this->from_name . \' <\'.$this->from_email.\'>\' . "\\r\\n" .
                           \'Reply-To: \'.$this->from_email . "\\r\\n" .
                           \'X-Mailer: PHP/\' . phpversion() . "\\r\\n" .
                           "Content-Type: text/html; charset=UTF-8";
mail( $service->getEmail(), $this->admin_daily_subject, $admin_daily_message, $headers );
通过此更新,它可以正常工作。我希望wp codex会有一些关于使用的更新wp_mail() 使用4.6或其他人会找到解决方案。

UPDATE 2

看来我不是唯一一个面临这个问题的人:

There was an error trying to send your message

3 个回复
最合适的回答,由SO网友:IvnH 整理而成

在这里找到了解决方案-Make WordPress Core

我对wp includes/pluggable进行了更改。php第352行,来自

$phpmailer->setFrom( $from_email, $from_name ); 

$phpmailer->setFrom( $from_email, $from_name, false ); 
而且很有效!感谢马吕斯·L·J.(克罗里斯)!

SO网友:TheGentleman

你在WAMP上?无论如何,它听起来像是内置的phpmail() 无论什么原因,php构建中的函数都不可用(它通常不适用于没有内部smtp服务器的WAMP或*nix构建)。您最好的选择可能是开始使用SMTP发送电子邮件。

你可以为此推出自己的插件,但我个人喜欢使用WP Mail SMTP. 您可以将gmail帐户用于SMTP凭据或类似的内容Mailgun 取决于您需要发送的电子邮件数量。

如果您确实想编写自己的插件,那么您应该挂接phpmailer_init 并修改全局$phpmailer 变量如下所示:

$phpmailer->IsSMTP();
$phpmailer->Host = "smtp.example.com";
$phpmailer->Port = <SMTP PORT>;
$phpmailer->SMTPSecure = \'ssl\';  //optional, can also be \'tls\'
$phpmailer->SMTPAuth = true;
$phpmailer->Username = \'<your smtp username>\';
$phpmailer->Password = \'<your smtp password>\';

SO网友:islandnet.com Web Hosting

我安装了WP Mail SMTPCreated a [email protected]带有0b报价。已将WP Mail SMTP配置为使用[email protected] On-将localhost更改为您所在的服务器-SSL的SMTP端口为465Tested WP Mail SMTP worked。

我发现他们仍然无法使用联系表7,然后我想,这个谜题中缺少的一块是,我必须从地址编辑联系表7,地址是[email protected]是的,不是[email protected]

此外,阅读https://contactform7.com/faq/ 很有帮助,让我开始在cpanel主机中使用track delivery应用程序,很高兴检查这个,因为它会告诉你你是否连接并尝试发送电子邮件。此外,用户已启用akismet,但未处于活动状态,因此已将其关闭。还提到了缓存清除频率的一些问题。

其他需要注意的是,您是否在cPanel中设置了正确的PHP版本。

之前的一篇文章提到要编辑可插拔的。wp-includes中的php是一个坏主意,您不应该编辑WordPress的核心来修复这些问题,因为新的核心更新很可能会再次破坏它。

使现代化

我从一个不起作用的表单中删除了验证码,它起作用了!!

Recaptcha

recaptcha的某些内容已损坏。

<小时>FIXED!

插件支持论坛关于recaptcha破坏表单发送说要添加:

https://wordpress.org/plugins/contact-form-7-recaptcha/

我想我会记录下我所做的全部努力,以防我的任何失败努力都会给其他挣扎的人带来成果。

相关推荐