使用WP-Mail-SMTP插件带$header参数发信失败
文 / @WordPress主题
一些主机不支持发送邮件功能,所以我们才用到了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古腾堡编辑器的区块(PHP+原生JS) 2024-01-10 01:01:06
-
搭建一个WordPress网站需要多少成本 2023-11-06 00:09:51
-
Symlink介绍(附:如何使用Symlink进行WordPress开发) 2023-11-05 23:38:32
-
让WordPress实现数据库同步的插件:HyperDB 2023-10-24 23:40:49
-
allegro电商平台值得做吗(附:2023年Allegro注册流程指南) 2023-10-08 21:53:39
-
印度跨境电商平台有哪些(附:印度跨境电商做什么产品好) 2023-10-08 21:34:23
-
跨境电商必看的几大海外二手电商平台 2023-10-08 18:04:42
-
WordPress同城互联网产品解决方案:UBASE 2023-10-03 16:40:39
-
WordPress网站的安全插件:wordfence 2023-09-14 09:25:18
-
WordPress 6.3 支持在手动更新插件和主题失败后回滚旧版本 2023-08-28 16:58:45