总的来说,参照rfc4021标准,mime格式分为消息头和消息体两部分(邮件头和邮件体)。
本文大致描述邮件格式,仅供参考。

邮件头

邮件头包含了发件人、收件人、主题、时间、MIME版本、内容的类型、内容的传输编码方式等重要信息。每条信息称为一个域,由域名后加冒号(“ : ”)和信息内容构成,可以是一行,也可以占用多行。域的首行必须顶头写(即左边不能有空白字符(空格和制表符));续行则必须以空白字符打头,且第一个空白字符不是信息本身固有的,解码时要过滤掉。另外,邮件头中不允许出现空行。

例如:Date: Wed, 15 Aug 2017 10:09:00 +0800
From: simba@www.simba.com
To: "simba" <simba@www.simba.com>
Cc: "simba" <simba@www.simba.com>
BCC: "simba" <simba@www.simba.com>
Subject: test
Message-ID:  <20170815100900.0E67523E1438@www.test3.com>
X-mailer: Foxmail 6, 15, 201, 21 [cn]
X-Spam: yes
X-Rmilter-Greylist: Sender IP ::1 is whitelisted by configuration
Mime-Version: 1.0

包含内容解释及其他信息如下:

邮件头

域名                        |         含义              |       添加者
Received                    |       传输路径            |   各级邮件服务器
Return-Path                 |       回复地址            |   目标邮件服务器
Delivered-To                |       发送地址            |   目标邮件服务器
Reply-To                    |       回复地址            |   邮件的创建者
From                        |       发件人地址          |    邮件的创建者
To                          |       收件人地址          |    邮件的创建者
Cc                          |       抄送地址            |   邮件的创建者
Bcc                         |       暗送地址            |   邮件的创建者
Date                        |       日期和时间          |    邮件的创建者
Subject                     |       主题               |    邮件的创建者
Message-ID                  |       消息ID             |    邮件的创建者
MIME-Version                |       MIME版本           |    邮件的创建者
Content-Type                |       内容的类型          |    邮件的创建者
Content-Transfer-Encoding   |       内容的传输编码方式   |    邮件的创建者

段头

域名                                  含义
Content-Type                    |   段体的类型
Content-Transfer-Encoding       |   段体的传输编码方式
Content-Disposition             |   段体的安排方式
Content-ID                      |   段体的ID
Content-Location                |   段体的位置(路径)
Content-Base                    |   段体的基位置

邮件体

邮件内容有各种各样的(既纯文本,超文本,内嵌资源(比如内嵌在超文本中的图片),附件的组合),服务器通过第一个content-type判断邮件内容,如果包含了其他内容,邮件体被分为多个段,段中可包含段,每个段又包含段头和段体两部分。

+----------------------------------------multipart/mixed----------------------------------------+
|                                                                                               |
|                                                                                               |
|   +---------------------------multipart/related---------------------------+                   |
|   |                                                                       |                   |
|   |                                                                       |                   |
|   |   +---------mutipart/alternative--------------+   +-------------+     |   +-------+       |
|   |   |                                           |   |   内嵌资源   |     |   |  附件  |      |
|   |   |                                           |   +-------------+     |   +-------+       |
|   |   |   +---------------+   +---------------+   |                       |                   |
|   |   |   |   纯文本正文   |   |   超文本正文    |   |                       |                  |
|   |   |   +---------------+   +---------------+   |   +-------------+     |   +-------+       |
|   |   |                                           |   |   内嵌资源   |     |   |  附件  |      |
|   |   |                                           |   +-------------+     |   +-------+       |
|   |   +-------------------------------------------+                       |                   |
|   |                                                                       |                   |
|   |                                                                       |                   |
|   +-----------------------------------------------------------------------+                   |
|                                                                                               |
|                                                                                               |
+-----------------------------------------------------------------------------------------------+

可以看出,如果在邮件中要添加附件,必须定义multipart/mixed段;如果存在内嵌资源,至少要定义multipart/related段;如果纯文本与超文本共存,至少要定义multipart/alternative段。什么是“至少”?举个例子说,如果只有纯文本与超文本正文,那么在邮件头中将类型扩大化,定义为multipart/related,甚至multipart/mixed,都是允许的。

电子邮件基本格式(MIME格式)相关推荐

  1. [网络编程] - MIME格式详细介绍[转]

    来源:http://www.cnblogs.com/robinhood/articles/540464.html Q 什么是MIME?什么是MIME邮件? A MIME, 全称为"Multi ...

  2. MIME格式详细介绍

    Q 什么是MIME?什么是MIME邮件? A MIME, 全称为"Multipurpose Internet Mail Extensions", 比较确切的中文名称为"多 ...

  3. 对MIME格式的邮件文件进行解码获取其可读内容和附件等

    这几天需要将一个OA系统X的所有邮件导入到OA系统Y,X的所有邮件采用MIME格式的文件保存在磁盘上,因此我需要读取这些文件的内容,并解析出其中的所有相关内容然后导入到Y中.对于纯文本的邮件还好说,麻 ...

  4. 邮件MIME格式分析

    http://www.cnblogs.com/crystalray/articles/3302427.html 邮件mime格式 参考: rfc4021,Registration of Mail an ...

  5. 电子邮箱的格式怎么填?外贸电子邮件填写的正确格式

    电子邮箱的格式是什么?在使用电子邮箱时,有的人喜欢用名字来作为格式使用,有的喜欢用特别的纪念日,邮箱格式多种多样,那么今天就以TOM企业邮箱来讲讲电子邮箱的格式怎么填?以及外贸电子邮件怎么填写正确. ...

  6. 电子邮件(SMTP、MIME、POP3、IMAP)

    电子邮件是一种异步通信方式,通信时不需要双方在场.电子邮件把邮件发送到收件人使用的服务器,并放入收件人的收件箱种,收件人可以随时上网到自己使用的邮件服务器进行阅读. 电子邮件系统的组成结构 电子邮件系 ...

  7. Oracle 默认时间格式 Date格式转换

    默认时间格式: 1.Oracle的日期格式 Oracle缺省的时间格式即时间数据的显示形式,与所使用的字符集有关.一般显示年月日,而不显示时分秒. 例如,使用us7ascii字符集(或者是其他的英语字 ...

  8. ML之FE:基于FE特征工程对RentListingInquries数据集进行预处理并导出为三种格式文件(csv格式/txt格式/libsvm稀疏txt格式)

    ML之FE:基于FE特征工程对RentListingInquries数据集进行预处理并导出为三种格式文件(csv格式/txt格式/libsvm稀疏txt格式) 目录 输出结果 设计思路 核心代码 输出 ...

  9. oracle jpg格式导出,格式记RAW,另存或导出就是JPG格式,就这么很简单

    我是踩一脚摄影,自封的摄影"自学成才"榜样,对于初学者的你来说,这里肯定有你想看的东西. 昨天从RAW格式聊到了JPG格式,今天咱们再来多聊几句JPG吧! JPG有的也写成JPEG ...

最新文章

  1. StartSSL申请全过程 让网站拥有免费SSL证书
  2. PAT甲级1132 Cut Integer:[C++题解]
  3. Android短信发送流程之长短信发送(原)
  4. Android之获取手机上的图片和视频缩略图thumbnails
  5. 攻城狮危险:波士顿动力机器狗去福特当工程师了!
  6. 马云不要当首富;ofo 否认裁员;苹果剔除 iPhone Xs Max 组件 | 极客头条
  7. 分布式事务解决方案总结
  8. JVM初识之内存分析常用命令和工具
  9. 汇编语言程序设计---期末复习大纲知识点总结(王爽第二版)
  10. ctfmon是什么启动项_ctfmon是什么启动项?
  11. matlab程序 直线插补,用Matlab实现直线插补计算程序
  12. 微信公众号迁移函、公证所需资料与流程
  13. 数码照巧转胶片效果 美图秀秀制作质感写真
  14. linux 任意音频采样率转换
  15. A股哪家上市公司年报更亮眼?
  16. java 矩阵求逆_详解用java描述矩阵求逆的算法
  17. 宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫
  18. java中函数编程的妙用
  19. 常见机器学习模型适用场景及优缺点
  20. 微信小程序使用echarts图表,与延迟加载图表,解决echarts文件过大

热门文章

  1. 系统集成项目管理工程师备考资料(口袋应试第二版总结及目录)
  2. AnimationPath路径动画实现详解
  3. LevelDB库简介
  4. java多数据源事务管理_SpringBoot2 多数据源、多事务管理配置
  5. CRM项目记录(十)
  6. apk安装提示 Zip: EOCD not found, /storage/emulated/0/Download/*.apk is not zip
  7. 查看MYSQL中数据表占用的空间
  8. 基于STM32的血氧仪(1)
  9. 2016中国大数据企业排行榜发布——首席数据官联盟揭秘中国大数据如何发展
  10. 深富策略:大盘探底回升 坚守成长主线