Windows命令实现匿名邮件发送
来源:互联网 发布:宇宙诞生之前知乎 编辑:程序博客网 时间:2024/05/15 18:04
在日常工具开发中,经常会有发送邮件的需求。在一些高级语言中,如Python,C#中,都有专门的邮件发送模块,如Python 中的 smtplib 模块。那么,一封邮件到底是如何发送到一个特定的邮箱呢?
举个例子:使用test@163.com 发送一封邮件到 test@qq.com。
首先,看下邮件系统的组成部分,如下图
再看下邮件发送的整个过程,如下图:
①发送者使用SMTP协议,将邮件发送到自己邮箱服务器
②163邮件服务器使用SMTP协议,将邮件发送到QQ邮件服务器
③收件人使用POP3协议,从服务器端读取邮件
在上面过程中我们会发现两个问题:
①163邮件服务器需要验证发送方是否是合法用户。也就是说在整个发送过程中,需要使用到test@163.com的密码才能完成整个邮件发送过程。
②163邮件服务器如何发送邮件到QQ邮件服务器的呢?其实,这中间有个域名解析的过程。发送方会根据收件人的信箱来解析其服务器域名(qq.com),在该解析过程中,询问其邮件服务器的地址。
既然验证过程是在163邮件服务器,那么我们是不是可以直接绕过去,直接模拟请求跟QQ邮件服务器进行交互呢?答案是肯定的,而邮件发送的整个过程可以抽象成下图
我们可以发现关键的地方是如何解析QQ邮件服务器的地址。此处我们使用Windows命令nslookup来进行域名解析。查看qq.com的邮件服务器地址,可以使用命令:nslookup -qt=mx qq.com,结果如下:
其中 mail exchanger 后面就是qq.com 的邮件服务器地址。
这样,我们就绕过了密码验证的过程,将邮件直接发送到了收件人的邮件服务器,想要了解代码如何实现,点击“阅读原文”查看更多内容~
原文链接
如需转载该篇文章,请注明来自“搜狗测试”
- Windows命令实现匿名邮件发送
- Windows命令实现匿名邮件发送
- Javamail实现的匿名邮件,模拟邮件服务器发送行为
- Windows下使用telnet命令发送邮件
- smtp匿名邮件发送小记
- php在windows下发送邮件实现
- Windows程序发送邮件
- Windows App 发送邮件
- windows blat发送邮件
- mail命令发送邮件
- linux 命令发送 邮件
- SMTP邮件发送命令
- Java发送匿名邮件—DNS解析
- Windows SVN变更发送邮件通知(JAVA实现)
- 实现邮件发送(delphi)
- JavaMail 实现邮件发送
- VC实现邮件发送
- javamail实现邮件发送
- Loadrunner调优之replay log介绍
- 搜狗输入法通过BUG流程优化,降低BUG修复分歧
- 搜狗自动化测试之介入时机
- iOS输入法—基于XCTest框架的异步测试
- LoadRunner脚本优化之服务器返回内容正确性判断
- Windows命令实现匿名邮件发送
- 愚人节篇:搜狗两枚测试开发小屌的对话
- 如何与多方沟通项目问题?
- #说说成长#测试小伙的内心独白
- 编程之各种奇技淫巧
- Android自动化工具Appium的使用
- 测试“攻城狮”的生活(搞笑版)
- 如何应对阻塞测试的问题?
- LoadRunner脚本优化之block块参数化迭代介绍