AHdark使用H2SO4洗头

关于SMTP模块的改进建议

AHdark使用H2SO4洗头 - 3 年 前

SMTP发件后,由于缺失Header: From,容易被判定垃圾邮件
建议在init函数中执行setfrom

$phpmailer->setFrom($this->get_setting('user'),$this->get_setting('mail_from_name'));

9条回复

AHdark使用H2SO4洗头
AHdark使用H2SO4洗头 - 3 年 前

我将修改的代码提交到了 https://gist.github.com/AH-dark/0ca64f43aabc31f7692929d2923a4dec

同时我加入了DKIM记录(可选)
目前未进行全面测试

AHdark使用H2SO4洗头
AHdark使用H2SO4洗头 - 3 年 前
小天🙂
小天🙂 - 3 年 前

这个看起来不错,收藏

Denis | 邓鸿华
Denis | 邓鸿华 - 3 年 前

嗯,我研究下。

Denis | 邓鸿华
Denis | 邓鸿华 - 3 年 前

看了下原代码:

add_filter('wp_mail_from', [$instance, 'filter_wp_mail_from']);
add_filter('wp_mail_from_name', [$instance, 'filter_wp_mail_from_name']);

这两个接口就实现了 setForm 方法的功能。

如果改用直接调用,则这两个接口可以去掉。

小天🙂
小天🙂 - 3 年 前

测试了一下,加了$phpmailer->setFrom($instance->get_setting('user'), $instance->get_setting('mail_from_name')); 后,

所有邮件发件人名字都变成了 固定的,
之前评论邮件提醒,还能显示 不同的评论用户名。

AHdark使用H2SO4洗头
AHdark使用H2SO4洗头 - 3 年 前

所以这个不安全,你可以自己改一下传参一类的或者在评论邮件提醒里使用phpmailer而不是wp_mail

小天🙂
小天🙂 - 3 年 前

”评论邮件通知“ 是wp自带的功能。
之前默认能显示发件人是 评论人的名字,还是比较符合查看习惯,
不然打开邮件列表,全是同一个发件人名字,分不清是哪种功能的 邮件了。

AHdark使用H2SO4洗头
AHdark使用H2SO4洗头 - 3 年 前

更改一下邮件内容就好了,获取对应评论的发布者,写在邮件里
你所想的这一方式是不安全的,因为没有固定的发件人,也是因此容易被识别为垃圾邮件

我要回复

暂时不支持网页回复,请安装