背景环境:
一台国内阿里云ECS服务器,因为默认禁止了SMTP协议,导致Contact Form 7插件无法用25端口发送邮件,也就是说不可能在ECS服务器上设置邮件服务器了,也不能用25端口通过外部别的SMTP服务器发送邮件,因为25端口的进和出都被阿里给封了,开工单申请解封25端口回复是不能解封的了,见以下阿里工单回复:
[ 处理意见 ] 您好,由于国际与国内均对垃圾邮件进行严格管控,我国《互联网信息服务管理办法》、《中国互联网协会反垃圾邮件规范》均对垃圾邮件进行说明与管理规范。鉴于服务器25端口被大量垃圾邮件充斥,严重影响广大用户正常使用。为了共同维护良好的网络环境,自即日起阿里云新购服务器不再提供25端口邮件服务,建议您尝试使用465加密端口发送邮件,或与邮件发信提供商咨询是否还有其他smtp发信端口,给您带来的不便深表歉意,请您查看云平台安全规则:https://help.aliyun.com/knowledge_detail/37353.html。
解决方案:
因为工单回复建议尝试使用465加密端口发送邮件,所以只能通过465端口来发送邮件了,因为要用到外部的SMTP服务器(smtp.qq.com),所以wordpress还要安装WP Mail SMTP插件,因为担心用外部的SMTP服务器发送邮件会有莫名其妙的丢失邮件,所以建议加装Contact Form CFDB7插件,该插件会在Contact Form 7表单点发送的同时备份一份到WP的后台,存储在数据库内,这样就不怕丢失客户的联系信息了。
下面是解决方案详细步骤:
第一步、进wordpress后台,依次安装并启用Contact Form 7、Contact Form CFDB7、WP Mail SMTP by WPForms 这三个插件
第二步、登录QQ邮箱,设置开启smtp服务,期间会用到QQ绑定的手机号发送短信认证方能开通SMTP:
如下图所示,点“设置”–>“账户”—下拉找到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”,默认POP3/SMTP服务是已关闭的,我们点旁边的“开启”。
这时会提示你用绑定的手机号发送短信认证
发送短信成功后,就会提示有个授权码kkvrbdueydwtebjc,你可以拷贝下来到时设置WP Mail SMTP插件时要用到。
授权码若不记得了也可以登录QQ邮箱重新生成
第三步、设置WP Mail SMTP插件
进入wordpress后台,设置–>WP Mail SMTP Settings—>From Email填你的QQ邮箱,From Name名字随便填,Mailer选择“Send all WordPress emails via SMTP.”。
继续往下拉到SMTP Options设置部份:
SMTP Host:smtp.qq.com
SMTp Port:465
Encryption:Use SSL encryption.
Authentication:Yes: Use SMTP authentication.
Username:[email protected] (你的QQ邮箱)
Password:(之前登录QQ邮箱开启SMTP服务时提示的授权码)
填好之后点Save Changes保存即可。
保存配置之后,拉到最下面,可以发送一封测试邮件看能不能收到!
若显示“bool(true)”表示发送成功了,你可以登录发送的邮箱查收一下邮件,至此大功告成!
最后,还要提一下的就是,为防有人恶意通过表单发垃圾邮件,你可以安装Contact Form 7 Image Captcha插件,它能提供简单的图片认证,最好别用它自带的,因为国内用户访问会很慢的,至于Contact Form 7、Contact Form CFDB7这两个插件使用设置部份此教程就不多说了,如不懂请自行网上搜索。