解决 VPS 主机上 WordPress 已禁用 mail() 函数的问题

很多朋友在自己的 VPS 上安装完 WordPress 后,发现想注册新用户,会提示 mail() 函数已被禁用的问题。网上的很多方法都是大同小异,源头找不到,但是都是互相转载抄袭的,也并不见得能解决问题。最后笔者自己尝试了一些,终于将问题成功解决,这里记录一下解决 WordPress 主机禁用 mail() 函数的这个问题。

其实这也不是 VPS 的问题,因为通过 which sendmail 命令可以看到,VPS 上的 sendmail 函数安装正确,上传 PHP 探针,也可以看到 mail 函数一切正常,但是就是发送不了邮件。

问题详情

一般我们会遇到两种情况。

1. WordPress 中点击找回密码,输入用户名或者邮箱之后,点击找回密码,一切正常,提示:请在您的电子邮箱中检查确认连接。但是邮箱里并没有收到任何相关的 邮件。(这种情况其实也有可能是因为邮件进了垃圾箱,建议翻一下垃圾箱看看)

2. 点击找回密码之后,直接提示:您的主机禁用了 mail() 函数。

以上两种情况,今天的方法一般都能解决。

解决方法

不要推崇什么无插件主义了,能用插件解决的事情为什么不用呢?今天的解决方法就是,安装一个叫做 WP Mail SMTP 的插件。

插件主页:

WP Mail SMTP by WPForms – The Most Popular SMTP and 电邮日志 Plugin

安装方法:下载后上传或者直接后台搜索即可安装。

安装后,需要配置一下使用“Send all WordPress emails via SMTP.”,如图所示。

剩下的按照默认配置即可。

最后我们可以发送一封测试邮件,测试一下插件是否正确运行。

一般都是没有问题的。

参考文献

  • http://www.wopus.org/wordpress-troubleshooting/3268.html
  • http://www.wopus.org/plugins/functions/3282.html

【AD】美国洛杉矶CN2 VPS/香港CN2 VPS/日本CN2 VPS推荐,延迟低、稳定性高、免费备份_搬瓦工vps

【AD】RackNerd 推出的 KVM VPS 特价优惠,在纽约、西雅图、圣何塞和阿什本每年仅需 12.88 美元!