简单邮件传输协议
SMTP用于传播电子邮件消息,是最被滥用的协议之一了..因为年代久远 设计时并没考虑安全问题。
很多人用来 fake email
SMTP服务器(MTAs)负责处理发送的邮件 默认监听端口25/TCP
POP3服务器或IMAP服务器负责处理收到的邮件
使用telnet 连接SMTP服务器就可以发送电子邮件
使用ASCII文本进行通信 由客户端发送命令 服务端返回响应消息
常用命令有
HELO - 介绍自己 EHLO - 介绍自己并要求扩展模式 MAIL FROM - 指明发件人 RCPT TO - 指明收件人 DATA - 确认邮件内容(前三行应为To、From和邮件主题) RSET - 重置 QUIT - 退出进程 HELP - 命令帮助 VRFY - 验证地址 EXPN - 扩展地址 比如 telnet smtp.qq.com 25
1.ehlo lxghost - 申明 需要身份验证
如果是不需要身份验证的SMTP服务器 可以用helo申明 不过网上提供的都需要验证 除非自己搭建
2.auth login - 开始验证
3.输入邮箱名和密码 需要base64编码
4.mai from - 这里可以输入任意的地址
从上图可以看出服务端进行了验证 确保定义的发件地址和认证登录的地址一样
但是 小型的SMTP都没有采取安全措施 像学校公司之类的都可以伪造发件人
5.rcpt to - 输入接收地址
6.data - 开始编辑
可以定义标题 发送地址 接受地址 内容 都是显示在邮件主体里
换行后一个点表示编辑结束
等待发送完成 quit
用python的smtplib实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|