对邮件服务器的一点思考

正常发送邮件

我们一般使用SMTP服务器帮我们代发邮件。例如我申请了一个163邮箱,我会通过客户端,使用用户名和密码登录163的SMTP服务器,帮我代发邮件到QQ邮箱或者其它邮箱。这个时候我们是需要有用户名和密码的,否则163的SMTP不会允许我们发送邮件。

那么问题来了,在163给QQ邮箱发送邮件的时候,163怎么登录到QQ邮箱的?如果不登陆,那么QQ怎么允许163发送邮件?

该问题的思考

可能使用的解决方法:

1.每个SMTP服务器都用一个默认的匿名账户,类似FTP的匿名。

2.使用单独的服务器IP,用户邮件服务器之间的邮件交换。

MX记录

除了以上了问题,还有一个问题。给定一个邮箱地址如何知道邮箱服务器的IP地址?

答案肯定是通过域名设置的,每个域名都会设置MX记录,用于查找对方邮件服务器的地址。可以通过nslookup查询。

C:\Users\suns>nslookup

> set type=mx
> qq.com

非权威应答:
qq.com  MX preference = 20, mail exchanger = mx2.qq.com
qq.com  MX preference = 10, mail exchanger = mx3.qq.com
qq.com  MX preference = 30, mail exchanger = mx1.qq.com

mx2.qq.com      internet address = 14.215.140.20
mx1.qq.com      AAAA IPv6 address = 2402:4e00:8010::af

从结果中可以看到,mx2.qq.com、mx3.qq.com、mx1.qq.com,都是对方SMTP服务器的地址。

那么这个时候,第二种方式就最有可能了,因为我们客户端设置的QQ SMTP地址是:smtp.qq.com。

最终实验发现,使用MX记录获得的SMTP地址不用登陆即可发送邮件,但是只能发给本域的邮箱地址。这些大牌的邮件服务器都会进行必要的校验,防止我们乱发邮件。

一些福利

因为我们自己可以作为邮局来发送邮件,那么这个时候发件人什么的都可以自己进行设置了。我测试QQ邮件的时候,使用admin@baidu.com邮箱进行发送的时候会进行错误提示,提示DNS的ip校验错误:

550 SPF check failed [MraFGBRmMtV9SLG8AGEhJnwLt0lUKuPNrULkU8/Lgq9iwCSogqh0tkA= IP: 110.80.20.170].

但是我换成admin@baidu123.com就可以进行发送了。百度知名度比较高,因此有进行DNS校验,我测试了几家企业的邮箱,很多可以正常发送,所以敏感邮件不能只看发件人

QQ截图20190428164139.png

声明:Nansheng.Su 发表于 2019-04-28 16:33:00 ,共计529字。

转载请署名:对邮件服务器的一点思考 | www.sunansheng.com

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值