前面弄了个Google cloud玩玩,现在里面赠送的美金和时间还很长,所以就用其搭建了一个网站环境,把部分的外贸网站放在上面。前面教程《Google Cloud环境搭建》中,我采用的是宝塔面板环境搭建的,然后网站是wordpress。使用的时候一切正常,虽然给了对应的端口,但是wordpress留言收发邮件的功能始终不行。后面经过查询才发现,Google Compute Engine不允许端口25,465和587上的出站连接。默认情况下,由于这些端口容易受到大量滥用,因此这些出站SMTP端口会被阻止。此外,拥有受信任的第三方提供商(如SendGrid,Mailgun或Mailjet)可以减轻计算引擎的负担,并使您无需维护接收方的IP信誉。详见《Sending Email from an Instance

根据Google给的处理方案,最终解决了这个问题,详细的记录如下:

1.安装wordpress插件:wp mail smtp,启动插件,进入设置,大概是下面这样的(注:随着插件版本的更新对应的界面可能会不同)

wp mail smtp

如上图所示:

From Email:填写你的Gmail邮箱

From Name:你站点的名字

Mailer:选择Google的Gmail

Return path:勾选上

2.然后,就要去申请对应的Google Client ID 和密匙,方法是用你的Gmail信息登录进入https://console.developers.google.com/flows/enableapi?apiid=gmail&pli=1 创建对应的API。

2.1创建google APIs

google apis

2.1.1这里如上图所示,创建项目,点“继续”。

转到“凭据”页面

点击:转到“凭据”页面。

2.1.2凭据页面设置,参考下图

Google APIs My Project设置

①调用的API选择:Gmail API

②从哪里调用API:网页服务器(例如 node.js/Tomcat)

③访问哪些数据:用户数据

把这三项选择好了后,就点击“我需要哪些凭据?”。

2.1.3 Google APIs 为项目添加凭据

Google APIs 为项目添加凭据

①名称:随便写,自己标记用的。

②来源:填写网站的绝对地址,比如我的博客,那就是https://www.luofan.net  (注意,不要后面的 / ,另外,好像必须要HTTPS才行,因为我没有给http来测试,所以此处自行确认)

③重定向URL:回到你自己网站的wordpress后台wp mail smtp插件页面,也就是上面步骤1中的截图页面,查看Gmail部分下方的标记为授权重定向URI的字段。

已获授权的重定向 URI

一般都是:https://你网站的地址/wp-admin/options-general.php?page=wp-mail-smtp&tab=auth (大概是这个样子)

为项目添加凭据

然后,点击创建OAuth客户端ID。

2.1.4Gmail邮箱授权登陆,设置 OAuth 2.0 同意屏幕,名称随便写,邮箱按时填写。

设置 OAuth 2.0 同意屏幕

点“继续”。

2.1.5就可以看到下载凭据页面,这里,你的Client ID就出来了。我们点击以后再执行此操作,如下图所示

Client ID

2.1.6完整的凭据信息里,可以看到我们刚刚设置的名称以及对应的ID信息,点击右边的那个“笔”进行编辑

2.1.7就可以获得完整的Google APIs的ID和密匙,如下图所示:

Google APIs

把客户端 ID复制填写到插件Client ID中

把客户端密匙复制填写到插件Client Secret中

Gmail

注意,一定不要复制错了,不要复制多了空格(我犯了一次这个错误)

2.2在插件上填写了上面的2个信息后点击保存,然后刷新,然后给Gmail访问授权。如果提醒SSL不安全,被拦截,点击高级,继续访问。插件的页面底部会有一个允许的提醒,给授权允许即可。

allow plugin to

2.2.1在允许后,就是Gmail登陆的页面,用对应的Gmail登陆,然后授权。

Gmail登陆

2.2.2然后设置以及完了,现在你可以测试下APIs

test email

OK了,邮箱的功能搞定。

提醒,可能是因为SSL证书问题,部分的浏览器操作过程中会被拦截,记得点“高级”,任然要访问。(不同的浏览器,会有所不同)

如果大家在使用中还有什么问题,请给我留言。尽可能的详细描述你的问题BUG,我好做个汇总,比如常见错误解决办法。

推荐阅读:当你的端口没有被封闭,那就用超级简单的方法wordpress设置评论邮件提醒功能,1分钟搞定。

2 对 “Google cloud中wordpress用smtp收发邮件”的想法;

发表评论

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