使用Gmail解决WordPress邮件问题

现在的很多服务器,有的没有启用PHP mail()功能,有的启用了却又因为别的原因没法用,严重限制了WordPress网站的便用性。本文参考“How To Fix WordPress Blog Not Sending Emails”给出使用Google邮件服务器通过smtp发送WordPress邮件的设置方法。

背景

之前一直使用得好好的WordPress的邮件发送功能,最近却不好用了:WordPress网站消息不会自动发送管理员通知了;留言评论通知也不会发送了;甚至请求密码重置也收不到它发送的邮件了。

后来了解到WordPress使用的是网站主机服务器上的PHP mail()函数发送邮件,于是就去主机提供商的支持论坛里询问是否该功能出问题了。得到的答复是,最近服务器上PHP mail()功能遭到过份滥用,被用于大量发送垃圾邮件,以至于许多邮件被延迟或者干脆丢失了。他们正在准备对该功能收费以遏制这一现象继续发生。

我找到的解决方法就是使用WordPress插件 WP Mail SMTP 来配置使用smtp发送所有WordPress邮件,不再使用PHP mail()函数处理了。目前配置、测试发送邮件成功,不过还不知道它对于管理员通知、留言评论通知、密码重置邮件的处理怎么样。

设置方法

因为本文介绍的是使用Google的SMTP服务器进行邮件发送,如果你想使用由自己的域名作为后缀的邮件地址格式,如本站的 wordpress@cnzhx.net,发送邮件的话,进行下面的设置之前,请确认你已经申请并配置Google企业应用套件免费的标准版(更新:2012年12月起不再有免费的了,除非是教育、公益项目;其它的托管服务请参考这里)就足够了。对于Google提供的服务,相信大家配置和使用都不会有什么困难,它的使用说明真的是非常贴心。

1、安装 WP Mail SMTP 插件

该插件重新配置 wp_mail() 函数,使之通过 SMTP 而不是默认的 mail() 来发送邮件,同时还提供了一个参数设置页面供你配置各种smtp参数。

要自动安装WP Mail SMTP插件,请从你的WordPress的控制面板中依次打开“插件(Plugins)——> Add New”,在打开的页面中搜索“WP Mail SMTP”并按照提示进行安装,然后激活

2、配置 WP Mail SMTP

从WordPress的控制面板中依次打开“设置(Settings)——>邮件(Email)”页面对WP Mail SMTP进行设置。下图是我的配置结果:

WP Mail SMTP配置说明

具体配置请按上图说明,想来比较容易理解,我就不再多说。

这里要说明一下的是,在上面的“Username”(用户名)一栏里,我因为使用的是Google企业应用套件,所以填的是 wordpress@cnzhx.net,实际上,你也可以配置使用你另外的,没有使用Google企业应用套件的Gmail邮箱来作为发送服务器。但不管怎么样,用户名必须写全,请参考插件作者提供的图片

3、测试一下

配置完成后可以发送一封邮件测试一下,见上图底部的说明。输入你的某个邮件地址,然后单击下面的“Send Test”按钮,看看是否能够成功发送。发送完成后就能看到该页顶部的提示:

发送邮件测试的结果

如果发送成功,结果就显示为“bool ( true )”,否则就是发送失败。

使用感想

经过这样的配置,现在我的网站发送邮件的能力显著增强,以前经常延迟很久,现在基本上立即就能发送了。估计跟Google的smtp服务器响应速度也有关系?我使用ThunderBird作为邮件管理软件。基本上我这边刚提交回复,那边就提示收到邮件了。

如果你使用的服务器能够让WordPress正常发送提醒等邮件,但是却经常有延迟,不妨也用这个方法使用Gmail来发送WordPress的所有邮件吧。

遗憾的是还没有找到一个比较好的评论回复提醒插件,不能测试评论回复邮件提醒功能了。如果你有好的建议,请让我知道,先谢谢了!实际上,我现在找到一个很好的插件解决这个问题了,请看给网站加上评论回复自动邮件通知功能©

本文发表于水景一页。永久链接:<https://cnzhx.net/blog/use-gmail-smtp-as-wordpress-mail-send-server/>。转载请保留此信息及相应链接。

26 条关于 “使用Gmail解决WordPress邮件问题” 的评论

    • 不但成功了,而且速度很快,这边刚发布,那边ThunderBird就提示收到邮件了。
      使用感想更新在本文末尾。

    • 你测试的什么呢?呵呵,对不起,我还没有开通评论回复通知功能,所以即使我回复了,你也不会收到邮件通知。

  1. 引用通告: 给网站加上评论回复自动通知功能 « 不存在的空间

    • 1、应该在 CNAME 里设置,而不是 A 记录;
      2、如果仅仅是要用gmail解决WordPress发送邮件问题,在你的服务器位于国外的前提下,不用管ghs是否被和谐,都可以用的。

      • 发邮件的问题解决了,只是用mail.*.com这个登录简便些。看起来ghs的ip被和谐了,我设置a record是为了直接解析到ip~反正可耻的失败鸟,还是用哪个长的url登录算了

  2. 先声明,我的网站的mail解析没有问题,可以直接从mail.XXX.com登录冰发送邮件。完全按照你说的方式配置,可还是显示false。我也用的google企业套件,邮箱功能正常,pop开启。

    • 如果你能收到这个回复的邮件提醒,就说明我的配置没问题。我的配置就是上面介绍的配置。
      不知道你的mail地址是不是 mail.lifecreater.com ? 这个子域名的域名解析不正确。

  3. 引用通告: 弃QQ,奔Gtalk « 水景一页

雁过留声,人过留名

您的电子邮箱地址不会被公开。 必填项已用 * 标注

特别提示:与当前文章主题无关的讨论相关但需要较多讨论求助信息请发布到水景一页讨论区的相应版块,谢谢您的理解与合作!请参考本站互助指南
您可以在评论中使用如下的 HTML 标记来辅助表达: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>