邮件报文格式和MIME

电子邮件的格式由头部和信体两部分组成,头部包括To、From、Subject等关键字段。MIME扩展允许发送非ASCII字符及多媒体内容,通过添加content-type等头部声明实现。邮件发送通常涉及SMTP协议,通过身份认证、数据命令等步骤完成。
摘要由CSDN通过智能技术生成

在前面讲了邮件基本知识和发送的协议,那么邮件本身是怎么构成的呢?

一、邮件消息的组成

邮件消息格式是在RFC 822里面规定的。
在这里插入图片描述
一个标准的邮件格式分为头部和信体两部分,头部由多个头部行构成。列出最常见的三个。
(1)To:发给谁
(2)From:谁发送的
(3)Subject:邮件的主题
在写邮件时这三个必不可少。
注意:这里的To、From是邮件内容组成部分,这些头部不同于SMTP命令。
头部后再加一个空行之后跟邮件的主体,也就是邮件的信体。

二、多媒体扩展MIME

非英语国家在编写邮件时会在邮件中用自己的语言编写内容,而这些语言没有办法使用标准的ASCII码来描述,这时怎么办呢?人们给出了这样一种解决办法。我们称之为MIME,全称为:多用途因特网邮件扩展。
多用途因特网邮件扩展不仅仅可以发送非英语国家字符,它还可以发送其它类型的内容,例如声音、图像、图片、视频等。这才大大扩展了电子邮件的用途。
MIME在多个RFC中都有描述,例如RFC 2045、2046、RFC 5322等。
MIME通过添加额外的信头头部声明来实现内容的扩展。头部主要使用content-type这样一些字段。
看一下下面这个例子:
在这里插入图片描述
前三行是From、To、Subject常用字段。
第四行是MIME版本。
第五行是用来编码数据的方法:这是MIME用来编码数据的核心方法。会将非ASCII码文本的内容用某种编码的方法转化成标准ASCII码。放在邮件里,这样就可以实现用传统的邮件协议传送和接收了。base64是使用最广泛的编码方法。
第六行指明了后面要传送内容的类型。这行包含类型名、子类型名和参数声明。
头部声明后面跟一个空行接下来就是要传送的主体。

三、综合示例

看以下示例:使用SMTP发送带头部的电子邮件。
在这里插入图片描述
这个实例使用了命令行操作然后加入了SMTP服务器的用户认证过程同时邮件包含头部。
假设发送者邮箱是163的,接收者的邮箱是qq邮箱。
红色的行号代表客户端发送的命令,黑色的是服务器端给出的响应。
第二行上篇文章讲过已经讲过;
第四行是进行身份认证。
第五行和第七行是服务器给出的回应,回应后面的内容看似乱码,事实上给出的是以base 64编码的短语;
第六行和第八行给出的是以base 64编码的命令。第六行是邮箱名或者是用户名,第八行给出邮箱的密码;
第九行235告诉我们认证通过。第九行和第13行前面已经讲过;
第14行给出data命令表示开始写邮件了;
第16行到第23行是邮件的内容;17行给出了一个邮件地址表示收信人若要回复,可以回复到什么地方。
24行服务器给出一个250的回应表示邮件已经被放到发送队列里面;
25行退出;
这是一个实际的使用SMTP来发送一个带头部邮件的实例。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MIME结构 一、 RFC822协议 RFC822 文档定义了邮件内容的主体结构和各种邮件字段的详细细节,但是,它没有定义邮件体的格式,RFC822文档定义的邮件体部分通常都只能用于表述一段普通的文本,而无法表达出图片、声音等二进制数据。另外,SMTP服务器在接收邮件内容时,当接收到只有一个“.”字符的单独行时,就会认为邮件内容已经结束,如果一封邮件正文正好有内容仅为一个“.”字符的单独行,SMTP服务器就会丢弃掉该行后面的内容,从而导致信息丢失。 由于 Internet的迅猛发展,人们已不满足于电子邮件仅仅是用来交换文本信息,而希望使用电子邮件来交换更为丰富多彩的多媒体信息,例如,在邮件嵌入图片、声音、动画和附件。但是,由于图片和声音等内容是非ASCII码的二进制数据,而RFC822邮件格式只适合用来表达纯文本的邮件内容,所以,要使用 RFC822邮件格式发送这些非ASCII码的二进制数据时,必须先采用某种编码方式将它们“编码”成可打印的ASCII字符后再作为RFC822邮件格式的内容。邮件阅读程序在读取到这种经过编码处理的邮件后,再按照相应的解码方式解码出原始的二进制数据,这样就可以借助RFC822邮件格式来传递多媒体数据了。这种做法需要解决以下两个技术问题: (1) 邮件阅读程序如何知道邮件嵌入的原始二进制数据所采用的编码方式; (2) 邮件阅读程序如何知道每个嵌入的图像或其他资源在整个邮件内容的起止位置。 针对这个问题,人们后来专门为此定义了MIME(Multipurpose Internet Mail Extension,多用途Internet邮件扩展)协议。 .....
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值