邮件的结构格式-RFC822

19 篇文章 0 订阅
6 篇文章 0 订阅

RFC822邮件内容

在RFC822文档中定义,邮件内容包括两个主要的组成部分:邮件头和邮件体

邮件头部包括以下内容:

Return-Path该字段代表邮件的回复地址

Received该字段格式为Received from A by B from C(A为发送方,B为接收方,C为收件人的邮件地址)是在SMTP服务器传递过程中加上的,内容由接收邮件的SMTP服务器填写,常常被用来追踪邮件传输的路线和分析邮件的来源

From代表发件人地址

to代表指定收件人地址

subject邮件的主题

date指定邮件的发送时间

cc抄送地址

bcc暗送地址

以上所有的部分是针对文本的一些协议,不能传送多媒体格式的数据。这一部分的邮件格式对应的RFC有:RFC822、RFC2822、RFC5322.目前几乎都采用RFC822的格式。

MIME协议

由于RFC822邮件格只适合用来表达纯文本的邮件内容,如果要发送非ASC||码的二进制数据时,就需要先采用某种编码方式将他们“编码”成可打印的ASC||字符后再作为RFC822邮件格式的内容

这部分的邮件格式的RFC有:RFC2045、RFC2046、RFC2047、RFC2048、RFC2049这5份RFC分别定义一部分,共同定义了多媒体格式的内容。RFC2231是对MIME的扩展。

针对这个问题,后来人们为此定义了MIME(Multipurpose Internet Mail Extension,多用途Internet邮件扩展)协议

MIME协议用于定义复杂邮件体的格式,可以在邮件体中内嵌图片数据和附件。

一个采用了MIME协议的电子邮件就叫做MIME邮件,MIME邮件和普通的RFC822邮件的关系犹如Java编程语言中的子类和父类的关系。MIME邮件在RFC822文档中定义了邮件头字段的基础上,扩充了一些自己的邮件头字段,例如,使用了MIME-Version头字段指定MIME协议的版本,使用Content-Type头字段指定邮件体的MIME类型,使用Content-Transfer-Encoding头字段指定编码方法

MIME消息的头字段Content-Type有三种类型:multipart/mixedmultipart/relatedmultipart/alternative(一封MIME邮件中的MIME消息可以有这三种组合关系)

其中multipart/mixed表示内容是混合组合类型,内容可以是文本、声音和附件等不同邮件内容的混合体

multipart/related表示消息体的内容是关联(依赖)组合类型,例如正文使用HTML代码引用内嵌图片资源等等

multipart/alternative表示消息体中的内容是选择组合类型,例如一封邮件的正文同时采用HTML格式和普通文本格式进行表达。这样做的好处在于如果邮件阅读程序不支持HTML格式时,可以采用其中的文本格式进行替换

其他的头字段包括数据内容的方式,

处理Content-Transfer-Enconding头字段:指定MIME消息体中的内容采用的邮件编码方式

Content-Disposion头字段指定邮件阅读程序有inline(直接处理)和attachment(当做附件处理)两种标准方式,如果设置为attachment的话,在其后还可以指定filename属性

Content-ID头字段用于为“multipart/related”组合消息中的内嵌资源指定一个唯一标识号,在正文中可以使用这个标识号引用该内嵌资源

Content-Location头字段用于为内嵌资源设置一个URI地址,这个URI地址可以是绝对或相对的

Content-Base头字段用于为内嵌资源设置一个基准路径

MIME邮件的编码方式:比较常用的两种邮件编码方式为BASE64Quoted-printable

后来的扩展SMTP协议允许直接在邮件中传递二进制数据,而不用对他们进行邮件编码。人们将这种没有进行邮件编码的二进制数据的邮件内容称为8bit编码,而没有进行邮件编码的纯ASC||码字符的邮件称为7bit编码

BASE64是将二进制数据转换成可打印的ASC||字符的一种常见的编码方式

Quoted-printable也是一种将二进制数据转成可以打印的ASC||字符的编码方式,它对ASC||字符不进行转换,只对非ASC||字符的数据进行编码转化。

说明:有一些邮件的传播病毒的原理就是去修改邮件的类型和实际类型,让一个.exe类型的文件伪装成其他文件,当用户点击就运行了病毒。例如

Content-Type:audio/x-way;name="readme.exe"(把一个exe文件定义成一个wav文件)

可以考虑邮件系统开发中除了防病毒还有其他什么需要注意的,例如垃圾邮件(可以限制每天每个用户最多能发多少封邮件)等等,然后应该怎么处理


后语:目前应用最广泛的一种邮件格式规范就是MIME,邮件客户端几乎都是采用这种格式。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值