Comment-Reply-Notification 等评论插件无法发送邮件解决方法
建成博客后,很多时候都希望评论者在被回复时能及时得到通知,但是很多主题不支持此功能,改程序又觉得麻烦,还得进行记录(预防主题或 wordpress 更新导致文件被还原)。遂转向了使用插件实现该功能。
不得不说, Comment-Reply-Notification
是一个简单好用的评论回复邮件通知插件,其具体功能如下:

很多人(包括我)在安装完 Comment-Reply-Notification
后,在测试时却无法收到相关提醒邮件,几经排查,最后确定了几个因素,遂总结如下:
1、主机对 mail() 函数不支持
这在国内基本上算通病,要不联系idc进行协商解决(估计没戏),要不就使用 WP-Mail-SMTP
之类的插件解决(推荐)。
2、安装插件后未开启替换默认发信模式功能
很多人把 WP-Mail-SMTP
插件装了,也测试通过了,但是忽略了一个选项,就是 通过SMTP插件发送所有邮件
,如图:

选择这个选项后, wordpress 所有的邮件,都会通过 WP-Mail-SMTP
发送,而不会去调用 mail() 函数。
3、WP-MAIL-SMTP 的 PHP 函数限制
这个也是最近才分析出来的,原来作者写这个邮件功能的时候就用IF语句做了判断,默认只能管理员能收到SMTP邮件,难怪其他的邮箱收不到了。找到 /plugins/wp-mail-smtp/wp_mail_smtp.php
,删除如下代码:
// If the from email is not the default, return it unchanged
if ( $orig != $default_from ) {
return $orig;
}
更新后刷新再测试,评论回复邮件通知功能已实现。