Windows命令实现匿名邮件发送
在日常工具开发中,常常会有发送邮件的需求。在一些高级语言中,如Python。C#中,都有专门的邮件发送模块,如Python 中的 smtplib 模块。那么。一封邮件究竟是怎样发送到一个特定的邮箱呢?
举个样例:使用test@163.com 发送一封邮件到 test@qq.com。
首先,看下邮件系统的组成部分。例如以下图
再看下邮件发送的整个过程,例如以下图:
①发送者使用SMTP协议,将邮件发送到自己邮箱server
②163邮件server使用SMTP协议,将邮件发送到QQ邮件server
③收件人使用POP3协议,从server端读取邮件
在上面过程中我们会发现两个问题:
①163邮件server须要验证发送方是否是合法用户。也就是说在整个发送过程中。须要使用到test@163.com的password才干完毕整个邮件发送过程。
②163邮件server怎样发送邮件到QQ邮件server的呢?事实上,这中间有个域名解析的过程。发送方会依据收件人的信箱来解析其server域名(qq.com),在该解析过程中,询问其邮件server的地址。
既然验证过程是在163邮件server。那么我们是不是能够直接绕过去,直接模拟请求跟QQ邮件server进行交互呢?答案是肯定的,而邮件发送的整个过程能够抽象成下图
我们能够发现关键的地方是怎样解析QQ邮件server的地址。
此处我们使用Windows命令nslookup来进行域名解析。
查看qq.com的邮件server地址,能够使用命令:nslookup -qt=mx qq.com,结果例如以下:
当中 mail exchanger 后面就是qq.com 的邮件server地址。
这样。我们就绕过了password验证的过程,将邮件直接发送到了收件人的邮件server。想要了解代码怎样实现。欢迎查看之前的文章“Python写自己主动化之邮件匿名发送”
Windows命令实现匿名邮件发送的更多相关文章
- WINDOWS 命令行 串口 COM 发送数据
WINDOWS 命令 串口 数据 type con>com1 回车. com1 为想发送的串口. 输入字符并回车即可.
- 通过telnet命令进行网络邮件发送
1.建立smtp邮箱服务连接 open smtp.sina.com 2.连接上邮箱服务后进行握手操作 helo smtp.sina.com 3.输入帐号密码进行验证::此步后缓冲区会输出一些字符,你只 ...
- C#邮件发送问题(二)
C#邮件发送问题(一) 三.C#下创建基于TcpClient发送邮件组件 在上一节在Dos命令行下测试SMTP服务器连接时,已经使用了SMTP的部分命令,但是当时无法对信息进行编码和解码,也就无法继续 ...
- Python写自己主动化之邮件发送(匿名)
为了可以实现邮件发送功能.首先.我们须要了解一下邮件的发送过程是什么样子的,此处不再具体说明,请大家自行搜索或查看p=438">http://www.sogouqa.com/?p=43 ...
- Python邮件发送脚本(Linux,Windows)通用
脚本 #!/usr/bin/python #-*- coding:utf-8 -*- #Python Mail for chenglee #if fileformat=dos, update file ...
- 用socket发送匿名邮件之python实现
发送邮件可以用smtp协议,整个过程为: 用户代理(user-agent,比如outlook.foxmail等邮件客户端)---(smtp协议)--->本地邮件服务器 --- (smtp协议)- ...
- centos下利用mail命令进行邮件发送
centos下默认自带mail命令: 可以用如下命令查看存放位置: which mail 结果如下: 如果没有安装可以使用 如下命令安装 yum -y install mailx 利用mail命令进行 ...
- Windows Server 2003搭建邮件服务器
Windows Server 2003搭建邮件服务器 由于Windows Server 2003默认是没有安装我们搭建邮件服务器所需要的POP3和SMTP服务的,因此需要我们自己来安装.方法如下: 1 ...
- .NET开发邮件发送功能的全面教程(含邮件组件源码)
今天,给大家分享的是如何在.NET平台中开发“邮件发送”功能.在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下: 1) 邮件基础理论知识 2) ...
随机推荐
- faster rcnn结构
rpn-data层输入的是data即整张图片,然后是根据映射生成roi框 rpn-loss-bbox输入的才是整个网络预测的roi框 bbox_transform在rpn-data层使用,把生成的ac ...
- python根据日期返回星期
import time #定义:timedate为时间戳def formattime(timedate,s="%Y-%m-%d %H:%M:%S"): return ...
- 一、认识spring框架
对于spring框架,作为Java开发人员肯定不陌生,大名鼎鼎,名声在外,但是对于spring框架没有进行过系统的学习,从今天开始学习并且记录一下spring框架的比较牛逼的特性. 一.spring简 ...
- [bzoj1208][HNOI2004][宠物收养所] (平衡树)
Description 最近,阿Q开了一间宠物收养所.收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物.每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特 ...
- linux-NMON监控
- JQuery_九大选择器
JQuery_九大选择器-----https://blog.csdn.net/pseudonym_/article/details/76093261
- hihoCoder#1120 小Hi小Ho的惊天大作战:扫雷·三
原题地址 看上去非常复杂, 实际上是这一系列最简单的一步,本质上是个搜索过程,相比于前一道题,可以不用策略三,而且题目的数据规模超级小,所以暴力搜索就能过. 把尚未确定的点放在一个unsettled列 ...
- android开发里跳过的坑——listview不显示
在蓝牙回调接口public void onLeScan(BluetoothDevice device, int arg1, byte[] arg2)里面调用adpter.notifyDataSetCh ...
- linux 常见名词及命令(三)
tar 用于对文件打包压缩或解压. 示例: 打包并压缩文件:tar -czvf 压缩包名.tar.gz 文件名 解压并展开压缩包:tar -zxvf 压缩包名.tar.gz -c 创建压缩文件 -x ...
- Codeforces 628D Magic Numbers
题意: 求在[a,b](a,b不含前导0)中的d−magic数中有多少个是m的倍数. 分析: 计数dp Let's call a number d-magic if digit d appears i ...