当前位置:首页WP教程使用WP-Mail-SMTP插件带$header参数发信失败

使用WP-Mail-SMTP插件带$header参数发信失败

一些主机不支持发送邮件功能,所以我们才用到了WP-Mail-SMTP插件,使用WP-Mail-SMTP插件后即可通过QQ、163、新浪等邮件服务器发送邮件。通常…

一些主机不支持发送邮件功能,所以我们才用到了WP-Mail-SMTP插件,使用WP-Mail-SMTP插件后即可通过QQ、163、新浪等邮件服务器发送邮件。

通常WP-Mail-SMTP插件发信失败都是设置错误造成的,相关的教程网上很多,这里要说的是一个特殊案例。

我的一些插件使用了wp_mail函数发信,安装WP-Mail-SMTP插件前没有任何问题,但是使用主机发信100{5cc1b29162d549a8071384de182cc9fc6e6a0fd85e7907f22fd9e18cff4269c3}进垃圾箱,我使用的是虚拟主机又没有权限修改相关配置,所以才安装了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常规设置中邮件地址,而我插件中设置的邮件地址不同,把这两处的邮件地址设置成一样就解决了。

给TA打赏
共{{data.count}}人
人已打赏
WP教程

七牛云存储PHP SDK报错Warning: file_put_contents

2023-3-8 22:10:40

WP教程

WordPress如何定时删除从未登录的恶意注册用户

2023-3-8 22:10:50

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
有新私信 私信列表
搜索