SMTP 计算机网络

SMTP基本原理

  • SMTP(Simple Mail Transfer Protocol),简单邮件传输协议。
  • 邮件的去向:用户A在自己的代理上编辑邮件,之后使用SMTP协议发送到A的邮件服务器,A的邮件服务器将其加入报文队列中,之后根据提供的目的邮箱地址使用SMTP协议将其发送到B的邮件服务器中。B的邮件服务器收到后将其放入B的邮箱中,最后B的代理使用POP3或其他邮件访问协议将邮件拉取到B的代理。

在这里插入图片描述

  • 因为邮件服务器既要接收邮件又要发送邮件,所以每台邮件服务器上既运行SMTP客户端又运行SMTP服务器端。
  • 因为在SMTP刚出现时传输的数据量不大,SMTP协议限制所有的报文只能采用简单的7比特ASCII表示,但在现在的多媒体时代,如果要传输大的多媒体数据则需要将二进制多媒体数据先编码为ASCII码,并在使用SMTP传输到目的地后解码还原为多媒体数据。
  • SMTP不使用中间邮件服务器发送邮件,即使这两个邮件服务器位于地球两端。
  • SMTP协议的工作流程
  1. 客户端邮件服务器在25号端口建立一个到服务端邮件服务器的TCP
  2. TCP连接建立后执行SMTP握手
  3. SMTP握手成功后客户端开始发送报文

使用telnet与SMTP服务器对话。(相当于自己写了一个代理客户端)
在这里插入图片描述
输入auth login命令后面两行输入qq邮箱和认证码,输入的邮箱和认证码需要使用base64编码。
认证码需要在qq邮箱设置中开启

在这里插入图片描述
在这里插入图片描述
之后可以通过python现将字符串转换为字节码,再使用base64进行编码
在这里插入图片描述
235 表示认证成功
在这里插入图片描述
邮件发送成功!
在这里插入图片描述

与HTTP对比

  1. http向服务器请求文件,为拉协议;而smtp向服务器发送文件,为推协议。
  2. smtp要求报文采用7比特ASCII码形式
  3. http将每个对象封装到响应报文中,而smtp把所有报文对象放在一个报文中。比如一张图片,http返回的是图片的连接,需要再发送一次请求才能获得图片的数据;而smtp则将二进制图片数据转换为ASCII码直接发送出去。

邮件访问协议

  • 用户从邮箱中获取邮件是一个拉操作,所以不能使用SMTP协议。目前流行的邮件访问协议有POP3,IMAP,HTTP。

POP3(第三版的邮局协议 Post Office Protocol-Version3)

  • pop3的工作流程主要分为3个阶段:特许,事务处理,更新
  1. 特许主要进行用户认证(user之后还要输一个 pass 认证码,返回+OK表示认证成功)
    在这里插入图片描述

  2. 事务处理可以下载并删除,下载并保存。当使用dele命令时会标记要删除邮件
    通过“list”查看邮件的序号和大小
    通过“retr 序号”查看邮件内容
    通过“dele 序号”标记要删除的邮件
    在这里插入图片描述

  3. 更新。当用户使用“quit”命令退出时邮件服务器将删除被标记为删除的邮件。

IMAP(因特网邮件访问协议 Internet Mail Access Protocol)

  1. imap服务器把每个报文与一个文件夹联系起来,就是再服务器里提供了文件夹功能。
  2. icmp还允许用户代理获取报文某些部分的命令。

HTTP

  • 用户代理与邮件服务器之间使用http,但是邮件服务器之间还是使用smtp。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值