如果你的网站用了cdn或者反代,但是因为SMTP发信问题暴露了源站IP,从而受到攻击,的确是件很蛋疼很恶心的事情。
依稀记得前些年遇到过这个问题,当时是用SendCloud的免费服务解决的,最近遇到了相同的问题,发现想免费的解决问题的方案越来越少了。
本文主要介绍我自己在用的两个免费方案。
1、wordpress+WP Mail SMTP插件+Gmail API
SMTP发信是怎么暴露源站IP的?
如果你的网站在使用SMTP发信,可以试着给自己发一封邮件,然后点开邮件的“显示原始邮件”
Gmail:
QQ邮箱:
在原始邮件中你会惊奇的发现有自己服务器的IP
在SMTP发信中,邮件头通常包括"Received"字段,该字段一般会包括服务器的名称或IP地址、时间戳和协议等,一般我们在使用SMTP发信时,显示的都是自己源服务器的IP。
如果用Gmail Api或阿里云企业邮箱免费版smtp发信可以避免暴露自己的源服务器IP。
wordpress+WP Mail SMTP插件+Gmail API
如果你使用的是wordpress和gmail,我推荐使用这个方案,如果使用的是域名邮箱,往下看,使用阿里云企业邮箱免费版smtp正常发信就行。
1、wordpress安装WP Mail SMTP插件
这步就不废话了,wordpress后台直接搜索安装就行。
2、获取
访问:https://console.cloud.google.com/
如果你之前没有开通google cloud,需要按照指示先开通一下。
“新建项目”
随便填就行
选择刚创建的项目➝左边菜单“API和服务”➝已启用的API和服务
启用API和服务
搜索“Gmail API”
点击进入
启用
创建凭据
选择“用户数据”后点击下一步
应用名称随便写就行,电子邮件填写当前Gmail账号就行,保存并继续,序号3:范围,直接保存并继续
应用类型“Web应用”,名称默认就行,已获授权的重定向 URI:https://connect.wpmailsmtp.com/google/
,然后点击“创建”后点击“完成”。
点击左侧菜单“OAuth权限请求页面”,点击“发布应用”然后点击“确定”
点击左侧“凭据”
点击修改刚创建好的
这里我们得到了客户端 ID
和客户端密钥
WP Mail SMTP插件安装好后启用,选择“Google / Gmail”然后“Save and Continue”
把客户端 ID
和客户端密钥
复制粘贴到wordpress后台WP Mail SMTP插件处,点击“Connect to Google”验证
选择当前的google账号
点击“高级”然后点击“转至wpmailsmtp.com(不安全)”
继续
验证成功就结束了,这个时候,正常来说你的邮箱会收到一封WP Mail SMTP自动发的测试邮件。
你可以看看这封邮件的“原始邮件”,你会发现“Received”部分的IP变成了gmail api的域名。
Typecho+阿里云企业邮箱免费版
本站使用的是Typecho程序,之前用的是免费的腾讯企业邮箱配置的域名邮箱,但是腾讯企业邮箱不能帮助我发信的时候隐藏源站IP,而且也没有找到wordpress上类似WP Mail SMTP的插件,最终选择了阿里云企业邮箱免费版,自带隐藏IP。
访问:阿里云企业邮箱免费版
登录阿里云账号,填写你的域名,并0元购买
进入:https://alimail.console.aliyun.com/
管理
设置解析,在你域名的dns服务商那边,把dns解析全部设置好。
解析生效后,“初始化密码”
用管理员账号和刚才设置的密码登录。
手机号验证
左侧菜单:组织与用户➝新建账号
创建一个专门smtp发信的账号并开启smtp服务,设置密码后保存。
左侧菜单:安全管理➝账号安全策略
把“禁止使用三方客户端”选项关闭,并开启“强制启用安全密码”,“添加范围对象”为刚才添加的smtp账号,然后“保存”。
退出当前账号,并登录刚才新建的smtp账号
点击右上角齿轮图标设置按钮➝账户与安全➝账户安全➝生成新密码
保存生成的密码
最后把阿里企业邮箱smtp信息填写到你的后台设置中
smtp邮件服务器地址:smtp.qiye.aliyun.com
端口:465
加密方式:ssl
用户名:上步中你新建的smtp邮箱
密码:上步中保存的密码
阿里云企业邮箱免费版发送邮件的原始邮件信息:
最后
阿里企业邮箱免费版的smtp账号也是可以在wordpress中使用的,本文主要记录我自己在使用的两种方式。
现在免费的办法真的少之又少,这两种方法是目前既稳定又免费的方法,当然,如果你的需求很大,可以选择更好的付费服务。
如果你有更好的方法欢迎留言交流。
2 comments
想问下博主你的Typecho主题是哪个?
Handsome