这个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
最合适的回答,由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>\';