一、组成部分
电子邮件的发送和接收包含三个主要组成部分
-
用户代理
- 又名”邮件阅读器“
- 撰写、编辑和阅读邮件
- 如Outlook、Foxmail
- 输出和输入邮件保存在服务器上
-
邮件服务器
- 邮箱中管理和维护发送给用户邮件
- 输出报文队列保持发送邮件报文,发送到每个用户的邮箱中
邮件服务器维护所有用户代理发送过来的邮件,存放在邮件服务器队列中,由邮件服务器发送到目标邮件服务器,接收方通过用户代理从目标邮件服务器拉取邮件
-
简单邮件传输协议:SMTP
二、邮件传输协议:SMTP
- 使用TCP在客户端和服务器之间传送报文,端口号为25
- 直接传输:从发送方服务器到接收方服务器
- 传输的3个阶段(用户代理——邮件服务器)
- 握手
- 传输报文
- 关闭
- 命令/响应交互
- 命令:ASCⅡ文本
- 响应:状态码和状态信息
- 报文必须为7位ASCⅡ码(古老版本是这样定义的)
三、邮件报文格式
SMTP:交换email报文的协议RFC 822
文本报文标准:
- 首部行:如TO、From、Subject 与SMTP命令不同
- 主体:报文,只能是ASCⅡ码字符
多媒体扩展:
- MIME:多媒体邮件拓展 RFC 2045,2056
- 在报文首部用额外的行申明MIME内容类型
采用Base64编码,将不在ASCⅡ编码内的字符,按照一定的约定,形成与ASCⅡ码对应的映射关系
四、邮件访问协议
- SMTP:传送到接收方的邮件服务器
- 邮件访问协议:从邮件服务器到用户代理
- POP:邮局访问协议
- IMAP:更多特性,在服务器上处理存储的报文(允许用户代理在邮件服务器创建目录操作邮件等)
- HTTP:方便
五、总结
-
SMTP使用持久连接
邮件服务器A——邮件服务器B连接连接后,直到邮件传输完成之后才断开连接
-
SMTP要求报文(首部和主体)位7位ASCⅡ编码
-
SMTP服务器使用CRLF.CRLF决定报文的尾部
-
与HTTP比较
HTTP:拉(pull) SMTP:推(push)
二者都是ASCⅡ形式的命令/响应交互、状态码
HTTP:每个对象资源封装在各自的响应报文中
SMTP:多个对象资源包含在一个响应报文中
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/153699.html