故障1:不知从什么时候开始,WP Mail SMTP 插件已经不能正常发送邮件。
故障2:不知道已经有多久,我的博客已经不能正常提交评论。
故障1已经出现了很长时间,连测试邮件都发不出去,之前也尝试过解决,但是没发现问题所在。我曾一度怀疑,Outlook 是不是已经被作为付费的专业版专属了?其实不然,当我又怀疑中间修改过邮箱密码或密码应该是别的什么密码的时候,找到了这篇《如何正确地设置Outlook SMTP发送电子邮件》的时候,按照此文把“SMTP 主机”从 smtp.live.com 改为 smtp.office365.com,之后,测试邮件就能正常发送了,有新评论的时候也能收到邮件了。
其实“SMTP 密码”就是邮箱账户的密码,而不是这篇《Outlook邮箱如何获取 WP mail SMTP的 SMTP授权码?》说的什么“应用密码”。
然而,但我尝试以访客的身份留下评论(看是否能收到邮件)的时候,故障2出现了,即评论无法提交成功,显示:
此站点遇到了致命错误。
悲乎!我就说怎么两年来就没收到一条新的评论,连一条新的垃圾评论也没有。于是我直接搜索ss“Wordpress 此站点遇到了致命错误”,便找到了《WordPress 提示“此站点遇到了致命错误”的解决方法》,根据此文:
1. 打开 WordPress 配置文件 wp-config.php,将 define( 'WP_DEBUG', false);
这一行修改为如下代码:
// 开启WP_DEBUG模式
define( 'WP_DEBUG', true);
// 开启DEBUG日志,一定要记得关闭这个日志功能并清理这个日志文件哦,产生的日志文件在: /wp-content/debug.log
define( 'WP_DEBUG_LOG', true);
// 显示errors and warnings
define( 'WP_DEBUG_DISPLAY', true);
@ini_set( 'display_errors', 'On');
2. 直接网页刷新显示错误的页面,可看到详细的报错内容,如下图。
从故障信息第一行就能看出,问题应该是出在 Fiddlemail 这个插件,于是禁用(并卸载)该插件之后在尝试提交评论,就一切正常了。本来该插件是用于“识别虚假电子邮件地址的域并阻止它们”,但是该插件目前已经四年没更新了,大概作者已经停止维护了罢。看来插件果然不能随便装,太久不更新的插件还是即使清理掉,或者找个可靠的替代品。
3. 关闭 Debug 模式,即将上述内容改回:
define( 'WP_DEBUG', false);
上述两个问题算是解决了,而在此期间,也遇到一些其他问题:
1. WP Mail SMTP 发送的邮件会显示真实邮箱地址,即使“发件人”填写的是与本站同域名的域名邮箱,并选中了“强制使用 [发件人电子邮件地址] 设置”。可是我记得以前并不会这样呢?
2. 只有在别人给我留下评论是,我会收到邮件;而别人留下评论时,或者我回复别人的评论,别人不会到邮件?正常情况是不是别人也应该能收到邮件?其实这样也好,减少邮箱地址的暴露机会。
3. 试用了上述《如何正确地设置Outlook SMTP发送电子邮件》一文提到的 Post SMTP 插件,能通过 Outlook 成功发送测试邮件,但是也会显示真实邮箱地址,并且有新的评论时,我并不会收到邮件。不知是否需要其他设置?
4. 曾经安装了一个 Wenprise Better Emails 插件用于优化通知邮件的格式,今天注意到如果用了该插件,通知邮件会少显示一些信息,并且该插件也有三年未更新了,所以还是不用它了罢。
不足之处在所难免,还望各位读者指正。
乐在折腾
2023年4月8日
欢迎分享或转载,转载请注明出处。
本文固定链接:https://www.oixxu.com/record-once-wordpress-troubleshooting