协议基础:SMTP:使用Telnet学习SMTP协议

SMTP是简单邮件传输协议(Simple Mail Transfer Protocol)的缩写,这篇文章将通过如何使用telnet命令发生邮件结合RFC文档来学习一下SMTP协议的基础知识。

OSI模型 & SMTP

根据OSI7层或者5层的模型不同,各层常见的协议信息如下:
这里写图片描述

其实协议众多,这里借用一张来源与网络的整理结果用于展示OSI7层模型的常见协议的信息,包括应用层的SMTP/POP3/IMAP4

这里写图片描述

SMTP vs POP3 & IMAP4

这里写图片描述
SMTP和POP3以及IMAP都是用来做什么的,简单的来说,smtp主要负责发,pop3和imap主要负责收。
一封邮件的发&收的流程是通过SMTP进行发送,使用POP3或者IMAP4进行接收的。
这里写图片描述

SMTP RFC文档

SMTP的RFC初始版本是RFC 821,以下列出了SMTP相关的一部分RFC变化的列表

RFC版本 时间 说明 URL
RFC 821 1982/08 初始版本 https://tools.ietf.org/html/rfc821
RFC 974 1986/01 域名系统需求和实现相关 https://tools.ietf.org/html/rfc974
RFC 1035 1987/11 域名系统需求和实现相关 https://tools.ietf.org/html/rfc1035
RFC 1869 1995/11 ESMTP规格扩展 https://tools.ietf.org/html/rfc1869
RFC 2841 2001/04 - https://tools.ietf.org/html/rfc2841
RFC 5321 2008/10 - https://tools.ietf.org/html/rfc5321

SMTP模型

参看RFC5321,可以了解到SMTP的模型如下:
这里写图片描述

常用指令

SMTP中包含一些基本的命令用于客户端和服务器端进行交互,现列出一些常见的指令:

指令 说明
HELO 与服务器确认,通知其客户端使用的机器名称,一般邮件服务器不做限定
AUTH 使用AUTH LOGIN与服务器进行登录验证
MAIL FROM 发件人信息,填写与认证信息不同往往被定位为垃圾邮件或恶意邮件
RCPT TO 收信人地址
DATA 输入邮件基本信息
FROM 邮件基本信息:发信人显示信息(此处可以伪造身份,但是非常容易被识别)
FROM 邮件基本信息:服务器收件人显示信息
SUBJECT 邮件基本信息:邮件标题,不填写也往往容易被定位为垃圾邮件
QUIT 断开链接

常见指令返回码说明

返回码 说明
220 服务就绪
250 请求动作成功完成
235 认证通过
221 处理中
354 发送开始,往往与data指令结合
500 指令错误
550 命令无法执行

基本流程

SMTP客户端与SMTP服务器端一个常见的流程如下所示:

Created with Raphaël 2.1.2
  • 21
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值