现在的很多服务器,有的没有启用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进行设置。下图是我的配置结果:
具体配置请按上图说明,想来比较容易理解,我就不再多说。
这里要说明一下的是,在上面的“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/>。转载请保留此信息及相应链接。
测试一下管理员提醒邮件。
不但成功了,而且速度很快,这边刚发布,那边ThunderBird就提示收到邮件了。
使用感想更新在本文末尾。
非常感谢~
不客气,很高兴对你有帮助。
测试一下
你测试的什么呢?呵呵,对不起,我还没有开通评论回复通知功能,所以即使我回复了,你也不会收到邮件通知。
为网站增加了回复留言邮件通知功能,测试一下效果。
效果非常好,与本文介绍的邮递方式配合也很好。
不过似乎会稍微降低提交回复的速度。
test
测试从控制面板回复——效果也很好,还是有些降低回复提交的速度。
引用通告: 给网站加上评论回复自动通知功能 « 不存在的空间
现在要怎么设置dns才能正常访问自己google apps的email?就是用mail.cnzhx.net这种方式
以我这个为例的话,就是要设置域名的别名mail给ghs.l.google.com:
CNAME mail ghs.l.google.com
如果这个不行,可以参考这里:ghs.google.com的替代品
ghs被和谐了,我在A record里指定了mail的ip也不行,我看看这些替代的ip吧
1、应该在 CNAME 里设置,而不是 A 记录;
2、如果仅仅是要用gmail解决WordPress发送邮件问题,在你的服务器位于国外的前提下,不用管ghs是否被和谐,都可以用的。
发邮件的问题解决了,只是用mail.*.com这个登录简便些。看起来ghs的ip被和谐了,我设置a record是为了直接解析到ip~反正可耻的失败鸟,还是用哪个长的url登录算了
最近n多的东西都被和谐掉了,比一个星期前那不是一般的多。没办法,就这样吧。
先声明,我的网站的mail解析没有问题,可以直接从mail.XXX.com登录冰发送邮件。完全按照你说的方式配置,可还是显示false。我也用的google企业套件,邮箱功能正常,pop开启。
如果你能收到这个回复的邮件提醒,就说明我的配置没问题。我的配置就是上面介绍的配置。
不知道你的mail地址是不是 mail.lifecreater.com ? 这个子域名的域名解析不正确。
CNAME解析也没有问题,可能是服务商那边的问题,我要好好问问,多谢答复了O(∩_∩)O~
引用通告: 弃QQ,奔Gtalk « 水景一页
非常好,一下就配置成功了,测试发送也成功,非常感谢分享。我转走了。哈哈
嗯,转吧,很高兴能收到你的反馈。
支持一下,我看看 会不会有效果 ,呵呵 谢谢 啦
感謝,十分強大,成功了
人人为我,我为人人嘛