邮件传输协议SMTP

邮件传输协议

邮件传输过程

在这里插入图片描述

SMTP简单邮件传输协议
SMTP 使用客户/服务器方式,负责发送邮件的 SMTP 进程是 SMTP 客户,而负责接收邮件的 SMTP进程是 SMTP 服务器,当两个进程建立了TCP连接后,电子邮件就能通过该标准准确无误地传输;
SMTP协议是基于文本的协议,通过SMTP发送的电子邮件都是普通文本格式的,不支持声音、图像等非文本信息,但可以通过MIME标准将此类信息进行编码后再通过SMTP传输;
SMTP 规定了 14 条命令和 21 种应答信息。每条命令用 4 个字母组成,而每一种应答信息一般只有一行信息,由一个 3 位数字的代码开始;
SMTP命令
在这里插入图片描述
SMTP应答码
每一条SMTP命令都会返回一条SMTP响应,由服务端返回给客户端
在这里插入图片描述

传输流程图

在这里插入图片描述

  1. 客户端主动连接到服务器的25端口,建立TCP连接。服务器会发送一个应答码为220的问候报文,表示已经准备就绪。
  2. 客户端向服务器发送HELO命令以标识发送方身份,若服务器接受请求,则返回一个代码为250的应答,表示可以开始报文传输。
  3. 客户端发送MAIL命令以标识邮件发送方身份,通过FROM参数指定发送方的邮件地址。若服务器准备接收,则返回250的OK应答。
  4. 客户端发送RCPT命令标识邮件的接收方,通过TO参数指定接收方的电子邮件地址,若有多个接收人,可发送多个RCPT命令。如果服务器能够识别接收人,则会返回代码为250的OK应答,否则返回代码为550的失败应答。
  5. 客户端与服务器之间的协商结束,客户端发送DATA命令指示将要发送邮件数据,服务器端返回应答码为354的响应进行确认,表示可以开始邮件输入。
  6. 客户端将邮件内容按行发送,邮件的末尾由客户端指定,是只有一个小数点(邮件数据结束指示器)的一行,服务器检测到邮件数据结束指示器后,返回代码为250的OK应答。
  7. 客户端发送QUIT命令终止连接。
    注: 由于SMTP不需要身份验证,人们连接到邮件服务器就能随便给一个知道的邮箱地址发送邮件,造成垃圾邮件泛滥。后来就有了ESMTP (Extended SMTP)。他和 SMTP 服务的区别仅仅是,使用 ESMTP 发信时,需要经过身份验证才能发送邮件。即在HELO命令后多加一条auth login登陆命令,登陆成功后才能使用后续的发送邮件命令。
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值