post

利用Gmail解决WordPress无法发送邮件问题

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

之前,备份博客的时候就出现无法发送邮件的问题,今天有时间,就上网找了一下解决方案,水景一页的方法还真管用,非常感谢,我这个空间不支持PHP的mail(),所以他的方法是我的首选,并且我也是Google迷,就爱用Gmail。哈哈。废话不说了,说正题:

现在的很多服务器,有的没有启用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企业应用套件,免费的标准版就足够了。对于Google提供的服务,相信大家配置和使用都不会有什么困难,它的使用说明真的是非常贴心。

P.S.上面为水景的原话,至于这里其实配置自己的gmail邮箱就可以了,我单独申请了一个专门用于Wrodpress发送邮件的账户,因为插件配置的密码是明文,个人感觉不安全,不建议用自己的常用私人邮箱。

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

实际上,我现在找到一个很好的插件解决这个问题了,请看给网站加上评论回复自动邮件通知功能

Speak Your Mind

*

· 1,763 次浏览