电子邮件基本格式(MIME格式)
总的来说,参照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格式)相关推荐
- [网络编程] - MIME格式详细介绍[转]
来源:http://www.cnblogs.com/robinhood/articles/540464.html Q 什么是MIME?什么是MIME邮件? A MIME, 全称为"Multi ...
- MIME格式详细介绍
Q 什么是MIME?什么是MIME邮件? A MIME, 全称为"Multipurpose Internet Mail Extensions", 比较确切的中文名称为"多 ...
- 对MIME格式的邮件文件进行解码获取其可读内容和附件等
这几天需要将一个OA系统X的所有邮件导入到OA系统Y,X的所有邮件采用MIME格式的文件保存在磁盘上,因此我需要读取这些文件的内容,并解析出其中的所有相关内容然后导入到Y中.对于纯文本的邮件还好说,麻 ...
- 邮件MIME格式分析
http://www.cnblogs.com/crystalray/articles/3302427.html 邮件mime格式 参考: rfc4021,Registration of Mail an ...
- 电子邮箱的格式怎么填?外贸电子邮件填写的正确格式
电子邮箱的格式是什么?在使用电子邮箱时,有的人喜欢用名字来作为格式使用,有的喜欢用特别的纪念日,邮箱格式多种多样,那么今天就以TOM企业邮箱来讲讲电子邮箱的格式怎么填?以及外贸电子邮件怎么填写正确. ...
- 电子邮件(SMTP、MIME、POP3、IMAP)
电子邮件是一种异步通信方式,通信时不需要双方在场.电子邮件把邮件发送到收件人使用的服务器,并放入收件人的收件箱种,收件人可以随时上网到自己使用的邮件服务器进行阅读. 电子邮件系统的组成结构 电子邮件系 ...
- Oracle 默认时间格式 Date格式转换
默认时间格式: 1.Oracle的日期格式 Oracle缺省的时间格式即时间数据的显示形式,与所使用的字符集有关.一般显示年月日,而不显示时分秒. 例如,使用us7ascii字符集(或者是其他的英语字 ...
- ML之FE:基于FE特征工程对RentListingInquries数据集进行预处理并导出为三种格式文件(csv格式/txt格式/libsvm稀疏txt格式)
ML之FE:基于FE特征工程对RentListingInquries数据集进行预处理并导出为三种格式文件(csv格式/txt格式/libsvm稀疏txt格式) 目录 输出结果 设计思路 核心代码 输出 ...
- oracle jpg格式导出,格式记RAW,另存或导出就是JPG格式,就这么很简单
我是踩一脚摄影,自封的摄影"自学成才"榜样,对于初学者的你来说,这里肯定有你想看的东西. 昨天从RAW格式聊到了JPG格式,今天咱们再来多聊几句JPG吧! JPG有的也写成JPEG ...
最新文章
- StartSSL申请全过程 让网站拥有免费SSL证书
- PAT甲级1132 Cut Integer:[C++题解]
- Android短信发送流程之长短信发送(原)
- Android之获取手机上的图片和视频缩略图thumbnails
- 攻城狮危险:波士顿动力机器狗去福特当工程师了!
- 马云不要当首富;ofo 否认裁员;苹果剔除 iPhone Xs Max 组件 | 极客头条
- 分布式事务解决方案总结
- JVM初识之内存分析常用命令和工具
- 汇编语言程序设计---期末复习大纲知识点总结(王爽第二版)
- ctfmon是什么启动项_ctfmon是什么启动项?
- matlab程序 直线插补,用Matlab实现直线插补计算程序
- 微信公众号迁移函、公证所需资料与流程
- 数码照巧转胶片效果 美图秀秀制作质感写真
- linux 任意音频采样率转换
- A股哪家上市公司年报更亮眼?
- java 矩阵求逆_详解用java描述矩阵求逆的算法
- 宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫
- java中函数编程的妙用
- 常见机器学习模型适用场景及优缺点
- 微信小程序使用echarts图表,与延迟加载图表,解决echarts文件过大
热门文章
- 系统集成项目管理工程师备考资料(口袋应试第二版总结及目录)
- AnimationPath路径动画实现详解
- LevelDB库简介
- java多数据源事务管理_SpringBoot2 多数据源、多事务管理配置
- CRM项目记录(十)
- apk安装提示 Zip: EOCD not found, /storage/emulated/0/Download/*.apk is not zip
- 查看MYSQL中数据表占用的空间
- 基于STM32的血氧仪(1)
- 2016中国大数据企业排行榜发布——首席数据官联盟揭秘中国大数据如何发展
- 深富策略:大盘探底回升 坚守成长主线