SMTP POP3协议整理
更新时间:2023-11-30 15:22:01 阅读量: 教育文库 文档下载
- smtp协议推荐度:
- 相关推荐
邮件协议整理
写在前面
最开始的邮件传输是根据SMTP实现的,但由于历史原因,Internet上的很多网关不能正确传输8 bit内码的字符,比如汉字等。所以出现了对邮件内容编码的需要。这样,在邮件协议中除了smtp、pop外,又增加了与编码相关的MIME。
概括地说,smtp、pop与邮件的接收、发送过程相关,这两者负责邮件的传输;而MIME与邮件内容(这里,邮件内容包括发件人信息、收件人/抄送人信息、邮件正文、附件)相关,约定了被传输邮件的格式。可以这样理解,smtp、pop完成了邮差的工作,mime解决了信件(包括信封)格式的问题。没有mime之前,邮差只能给美国人送邮件;有了mime之后,邮差可以提供国际快递业务了。
1. Smtp
SMTP(Simple Mail Transfer Protocol):简单邮件传输协议,是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。
关于SMTP的详细介绍参考rfc821,http://tools.ietf.org/html/rfc821 Rfc2821, http://tools.ietf.org/html/rfc2821 验证过程
>:auth login ---进行用户身份认证
<:334 VXNlcm5hbWU6 ---BASE64编码“Username:”
>:Y29zdGFAYW1heGl0Lm5ldA== ----发送BASE64编码的用户名 <:334 UGFzc3dvcmQ6 ---BASE64编码\>:MTk4MjIxNA== ---客户端发送BASE64编码的密码 <:235 auth successfully ---成功
客户端命令: HELO/EHLO AUTH LOGIN MAIL FROM: RCPT TO: DATA
向服务器发出请求 用户身份认证 发件人信息,
收件人信息,告诉服务器邮件发送给谁, 可重复多次,发送给多个收件人 邮件内容 本次请求结束
QUIT 服务器返回值:
220
221
250 Requested mail action okay, completed
354 Start mail input; end with
示例:
对data命令的应答
R: 220 USC-ISI.ARPA Simple Mail Transfer Service Ready S: HELO LBL-UNIX.ARPA R: 250 USC-ISI.ARPA
S: MAIL FROM:
S: RCPT TO:
S: DATA
R: 354 Start mail input; end with
S: QUIT
R: 221 USC-ISI.ARPA Service closing transmission channel 【注意】 DATA命令之后,若邮件服务器返回354状态值表示开始接收数据;用户开始发送数据,邮件数据连续发送,并以
2. pop
POP的全称是 Post Office Protocol,即邮局协议,用于电子邮件的接收,它使用TCP的110端口。
参考rfc1939,http://tools.ietf.org/html/rfc1939 常用命令
大部分邮件服务器使用明文的用户名、密码进行认证。 命令 参数 状态 描述
------------------------------------------
USER username 认证 此命令与下面的pass命令若成功,将导致状态转换 PASS password 认证
APOP Name,Digest 认证 Digest是MD5消息摘要
------------------------------------------ STAT None 处理 请求服务器发回关于邮箱的统计资料,如邮件总数和总字节 数 UIDL [Msg#] 处理 返回邮件的唯一标识符,POP3会话的每个标识符都将是唯 LIST [Msg#] RETR [Msg#] DELE [Msg#] RSET None
TOP [Msg#] NOOP None
处理 处理 处理 处理
令
服务器将返回由参数标识的邮件前n行内容,n必须是正整数
服务器返回一个肯定的响应
处理 处理
一的
返回邮件数量和每个邮件的大小
返回由参数标识的邮件的全部文本
服务器将由参数标识的邮件标记为删除,由quit命令执行 服务器将重置所有标记为删除的邮件,用于撤消DELE命
------------------------------------------ QUIT None 更新
【注意】任何邮件的删除都必须在quit命令发出后对已标记为删除的邮件执行删除操作,若发生访问中断,没有发出quit命令,那么虽然执行过dele命令,邮件仍不会被删除。
在客户端发出RETR 305命令后,服务器立即返回数据,数据可分在几个包中连续发送。邮件内容用
Received: from mail-pz0-f178.google.com ([209.85.222.178]) by oa.legendsec.com (Lotus Domino Release 6.5.3) with ESMTP id 2009063010503284-48548 ; Tue, 30 Jun 2009 10:50:32 +0800
Received: by pzk8 with SMTP id 8so621168pzk.28
for
MIME-Version: 1.0
Received: by 10.142.139.9 with SMTP id m9mr316739wfd.174.1246330221459; Mon, 29 Jun 2009 19:50:21 -0700 (PDT)
Date: Tue, 30 Jun 2009 10:50:21 +0800
Message-ID: <3627518b0906291950v104c242
邮件内容需要从返回的邮件数据中解析。
邮件格式与smtp发送邮件相同,在下面的mime节介绍。
3. MIME
rfc文档中有MIME的详细说明。
3.1. 邮件mime格式
参考:
rfc4021,Registration of Mail and MIME Header Fields,
http://www.apps.ietf.org/rfc/rfc4021.html,
总体来说,MIME消息由消息头和消息体两大部分组成。这里,我们称为邮件头、邮件体。
3.1.1. 邮件头
邮件头包含了发件人、收件人、主题、时 间、MIME版本、邮件内容的类型等重要信息。每条信息称为一个域,由域名后加“: ”和信息内容构成,可以是一行,较长的也可以占用多行。域的首行必须“顶头”写,即左边不能有空白字符(空格和制表符);续行则必须以空白字符打头,且第 一个空白字符不是信息本身固有的,解码时要过滤掉。
邮件头中不允许出现空行。有一些邮件不能被邮件客户端软件识别,显示的是原始码,就是因为首行是空行。
例如:
常见信息如下
Date: Mon, 29 Jun 2009 18:39:03 +0800
From: \To: \Cc: \
BCC: \HB?=\Subject: attach
Message-ID: <200906291839032504254@legendsec.com> X-mailer: Foxmail 6, 15, 201, 21 [cn] Mime-Version: 1.0
Date From: To: Cc: BCC:
日期 发件人信息 收件人信息 抄送人信息 密送人信息 主题
Subject:
X-mailer 客户端名称
非标准的、自定义域名都以X-开头,例如X-Mailer, X-MSMail-Priority等,通常在接收和发送邮件的是同一程序时才能理解它们的意义。
关于密送:有三种实现方式,
1. 在邮件服务器发送邮件前,将收件人、抄送人、密送人的邮件的Bcc行都删除。 2. 在邮件服务器发送邮件前,收件人、抄送人的邮件删除Bcc栏,只有密送人收到的邮件包含该字段。如果有多个密送人,可能在密送栏有所有密送人地址、或只有自己的地址
3. 邮件服务器拿到的邮件内容中根本不出现Bcc栏。
The \field (where the \means \Carbon Copy\contains addresses of recipients of the message whose addresses are not to be revealed to other recipients of the message. There are three ways in which the \
In the first case, when a message containing a \line is removed even though all of the recipients (including those specified in the \sent a copy of the message.
In the second case, recipients specified in the \the message with the \recipients on the \ get a separate copy of the message containing a \line. (When there are multiple recipient addresses in the \to each recipient with a \
Finally, since a \field may contain no addresses, a \field can be sent without any addresses indicating to the recipients that blind copies were sent to someone. Which method to use with \ Considerations\ (来源:http://www.apps.ietf.org/rfc/rfc2822.html#sec-3.6.3)
3.1.2. 邮件体
在邮件体中,大致有如下一些域: 域名 含义
Content-Type 段体的类型
正在阅读:
SMTP POP3协议整理11-30
逢入京使改写300字07-02
银行管理人员考试判断题10-22
学校门卫管理制度12-12
药品GMP认证检查指南 - 图文12-31
2013年二建法规真题及解析(完整版)05-23
盲人摸象作文700字07-08
建筑工程质量通病专项治理方案04-21
BT3替换字典及导出握手包06-07
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 整理
- 协议
- SMTP
- POP3
- 一、 马克思主义政治经济学产生的历史背景 - 图文
- 220、110、10kV降压变电站一次部分设计
- LTE中的事件
- 画出三相异步电动机即可点动又可连续运行的电气控制线
- 浙江省杭州市朝晖初中等六校2016届九年级历史与社会12月联考试题 - 图文
- 经济学习题及答案 - 图文
- 带有虎字的成语
- 学习儿童文学的感想与收获
- 污水处理工理论考试试卷(3)试卷+答案
- 铰链四杆机构教案(公开课)
- 12级信号与系统复习
- 襄阳市市长李述永在全市审计工作会议上的讲话
- 河北省石家庄市中考历史二轮专题复习专题九大国发展之路 - 国别史 - 图文
- 系统论的基本原理
- 大学物理期末复习题
- 自考劳动关系学历年真题分章节汇编(第十一章劳动争议处理)
- 中国历届奥运会奖牌榜
- 西方经济学习题集
- 材料科学基础课后作业
- 数学继续教育学习心得体会