使用WP-Mail-SMTP插件带$header参数发信失败
文 / @UTHEME
一些主机不支持发送邮件功能,所以我们才用到了WP-Mail-SMTP插件,使用WP-Mail-SMTP插件后即可通过QQ、163、新浪等邮件服务器发送邮件。
通常WP-Mail-SMTP插件发信失败都是设置错误造成的,相关的教程网上很多,这里要说的是一个特殊案例。
我的一些插件使用了wp_mail函数发信,安装WP-Mail-SMTP插件前没有任何问题,但是使用主机发信100%进垃圾箱,我使用的是虚拟主机又没有权限修改相关配置,所以才安装了WP-Mail-SMTP插件。
今天发现邮件发送失败,读了一下WP-Mail-SMTP插件的代码,基本原理是这样的:
- 过滤wp_mail_from,将$phpmailer->From的值设置为插件中的From Email选项值;
- 过滤wp_mail_from_name,将$phpmailer->FromName的值设置为插件中的From Name;
- 通过钩子phpmailer_init设置了SMTP信息。
看上去没有任何问题,再看我的发信代码:
$headers[] = 'Content-Type: text/html; charset=UTF-8'; $headers[] = 'From: ' . $blogname . ' <' . $adminemail . '>'; wp_mail( $author_name . ' <' . $author_email . '>', $mail_title, $mail_txt, $headers );
表面上看也没有问题,通过错误日志发现问题原因是From中的邮件地址与授权邮件地址不同,$adminemail取的是WordPress常规设置中邮件地址,而我插件中设置的邮件地址不同,把这两处的邮件地址设置成一样就解决了。

相关文章
-
WordPress插件:All in One WP Security & Firewall 怎么样(附:AIOWPS拦截垃圾评论设置教程) 2023-01-26 21:51:51
-
在 PHP 中如何通过一行代码就交换两个变量的值 2023-01-26 00:18:31
-
WordPress主题:Pin Premium (WordPress仿Pinterest样式瀑布流主题) 2023-01-25 23:36:43
-
免费WordPress主题:Maupassant(WordPress中文博客主题) 2023-01-25 23:31:29
-
WordPress响应式图片(Responsive Image)功能关闭:取消WordPress图片宽带和高度参数 2023-01-24 10:49:32
-
wordpress报错:修复MySQL 1064错误问题 错误原因和解决方法 2023-01-24 10:42:04
-
WP Rocket – 强大的WordPress缓存加速优化插件(附:WP Rocket插件设置过程与七折优惠码) 2023-01-24 00:41:44
-
WordPress 实现静态化搜索结果页面的方法 2023-01-24 00:41:44
-
get_permalink、get_the_permalink和the_permalink有啥区别? 2023-01-24 00:41:08
-
为什么选用WordPress搭建独立站? 2023-01-23 20:25:21