使用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的所有邮件吧。

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

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

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

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

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

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

  2. 现在要怎么设置dns才能正常访问自己google apps的email?就是用mail.cnzhx.net这种方式

  3. ghs被和谐了,我在A record里指定了mail的ip也不行,我看看这些替代的ip吧

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

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

        • 最近n多的东西都被和谐掉了,比一个星期前那不是一般的多。没办法,就这样吧。

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

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

      • CNAME解析也没有问题,可能是服务商那边的问题,我要好好问问,多谢答复了O(∩_∩)O~

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

  6. 非常好,一下就配置成功了,测试发送也成功,非常感谢分享。我转走了。哈哈

时间过去太久,评论已关闭。
如果您有话要说,请到讨论区留言并给出此文章链接。
谢谢您的理解 :-)