电子邮件 e-mail原理
1 电子邮件的组成
电子邮件通常由两部分组成:
用户代理(UA):让用户能够阅读和发送邮件。
UA是一个本地程序,提供命令行或图形界面,让用户和电子邮件系统交互 。
邮件传输代理 (MTA):将邮件从源端送到目标端,又被称为邮件服务器。
MTA通常是一个系统守护进程,即运行在后台的进程,在系统中传递电子邮件。
2 电子邮件的体系结构
Sender在UA编辑好邮件 ==> 提交给Sender的MTA ==> Sender的MTA将邮件传输给Receiver的MTA ==> 邮件投递给Receiver
在电邮体系结构中,用户直接接触的是用户代理UA,通常是一个程序(电子邮件阅读器。
常见的电子邮件阅读器有:Outlook、Gmail、Thunderbird、Foxmail……
用户代理:
用户代理的界面(即邮箱内的操作界面)各不相同,但主要功能如下:
- 入境邮件的显示
- 入境邮件的显示(垃圾邮件、某重要人物的邮件
- 自动响应
- 邮件处置(邮件的回复、转发、删除、保存……
- 签名块
- 邮件列表 (mailing-list(本地、传输代理
3 电子邮件消息格式
ASCII 电子邮件信息通常采用 RFC 822,消息由一个基本的信封 (RFC821)、一些头域、一个空行和消息体组成。
每个头域(逻辑上地,上图中红框部分)由一行ASCII文本组成,包括域名、一个冒号,对于大多数头域来说,还包括一个值。
RFC 822 是几十年前设计的,没有区分信封域和头域。现在最近发行的版本是RFC 2822,已经对此作了修正和增添了许多修订,但由于RFC 822 使用得非常广泛,不可能推倒重来,所以仍然维持着ASCII文本的基本格式。
各部分字段的意义
以 RFC 5322 与邮件传输相关的头字段为例:
Header | Meaning |
To: | E-mail address(es) of primary recipient(s). |
Cc: | E-mail address(es) of secondary recipient(s). |
Bcc: | E-mail address(es) for blind carbon copies. |
From: | Person orbeoole who created th. |
Sender: | E-mail address of the actual sender. |
Received: | Line added by each transfer agent along the route. |
Return-Path: | Can be used to identify a path back to the sender. |
RFC 5322 中邮件头使用的某些字段:
Header | Meaning |
Date: | The date and time the message was sent. |
Reply-To: | E-mail address to which replies should be sent. |
Message-ld: | Unique number for referencing this message later. |
ln-Reply-To: | Message-ld of the message to which this is a reply. |
References: | Other relevant Message-lds. |
Keywords: | User-chosen keywords. |
Subject: | Short summary of the message for the one-line display. |
4 MIME
MIME(Multipurpose Internet Mail Extensions)是多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型。
MIME出现是为了解决这些问题:带有重音符的语言(如法语)、非拉丁字母(如俄 语)、不带字母的语言(如汉语)、完全不包含文本的消息(如视频)……出现在邮件中无法显示。 准确的说,MIME是一个互联网标准,扩展了电子邮件标准。
MIME的基本思想是继续使用 RFC 822 格式,但是在消息体中增加了结构,且为非ASCII消息定义了编码规则。又因为MIME没有偏离 RFC 822 ,所以 MIME 消息可以使用现有的程序和协议来发送,而所有必须要改变的是接收和发送的程序。
MIME增加了的消息头——Content-Transfer-Encoding(内容传输编码,指明了这种编码规则。
Header | Meaning |
MIME-Version: | ldentifies the MIME version. |
Content-Description: | Human-readable string telling what is in the message. |
Content-ld: | Unique identifier. |
Content-Transfer-Encoding: | How the body is wrapped for transmission. |
Content-Type: | Type and format of the content. |
MIME提供了 5 种编码方法(即加上一个扩充新方案的选项,这里介绍其中一种:Base64 编码
Base64 编码
Base64 编码,有时被称为ASCII盔甲( ASCII armor),每24位成一组,每组分成4个6位单元,每个单元被当作一个合法的 ASCII字符来发送。
“A” 代表 0, “B”代表 1, 以此类推,接着是26位小写字母,10 个数字,最后是 + 和 / 分别代表 62 和 63。
在Base64编码中 == 和 = 分别表示最后一个组只含有8位或16位,并且回车和换行被忽略。
Email 消息传输
Email 消息传输系统专注于将消息从发信方转发给收信方。这里我们使用的是SMTP – Simple Mail Transfer Protocol。
MIME 和 SMTP之间的关系:
但这种传输模式的问题在于,必须所有的收发邮件的机器都一直处于工作状态,但用户不可能一直在线,所以设计了 POP3 协议,允许用户和消息传输代理MTA联系,然 后把邮件从ISP那里拷贝到用户。
POP3 协议等同于建立一个中转缓存站,存储邮件,是最后一跳。
POP 3 的工作状态大致如下:
POP 3不适合移动用户的工作,因为他在某地收到邮件后,邮件会被标记成删除,无法在异地再次收邮件,而IMAP (Internet Message Access Protocol)比POP3更加强大,针对这点也做了改进,将所有的邮件永久的保存在服务器上的多个邮箱中。
POP 3 是 IMAP的早期版本。
Webmail(有望取代 POP3 和 IMAP
电子邮件 e-mail原理相关推荐
- 转:电子邮件的工作原理
第一章 电子邮件的工作原理 1. 互联网TCP/IP的基本结构 2. SMTP的基本结构 2.1 SMTP的模型 2.2 SMTP的基本命令 3. 电子邮件的工作原理 4. 电子邮件的信头结构及分析 ...
- php mail函数_PHP发送电子邮件函数mail详解
重要:本文最后更新于2019-10-09 08:49:07,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗. PHP作为一门使用广泛的脚本语言,经过这么多年发展已经非常完善了,发送电子 ...
- 电子邮件的工作原理(图)
电子邮件与普通邮件有类似的地方,发信者注明收件人的姓名与地址(即邮件地址),发送方服务器把邮件传到收件方服务器,收件方服务器再把邮件发到收件人的邮箱中.如下图所示: 更进一步的解释涉及到以下几个概念: ...
- SMTP基本电子邮件发送协议原理
1.电子邮件发送客户端发送给服务器端,postfix软件提供MTA,MDA.MTA 提供SMTP服务,接受邮件(读取DNS的MX记录)-->保存MDA 传送邮件MUA 用户代理 1-1服务器使用 ...
- linux电子邮件,Linux电子邮件命令mail
Linux邮件命令用法 1. 将文件当做电子邮件的内容送出语法:mail -s "主题"用户名@地址< 文件例如:mail -s "program" us ...
- 电子邮件服务器的工作原理,电子邮件工作原理 电子邮件有什么特点呢
电子邮件是交流信息的一种通信方式,可以用来传输文件和图片,还是非常方便的.很多人对电子邮件的工作原理感到好奇,电子邮件工作原理是怎样的?电子邮件有什么特点呢? 电子邮件工作原理 电子邮件工作原理 电子 ...
- 我如何构建heimdall开源个人电子邮件监护人
I love receiving spam mail! - No one ever. 我喜欢收到垃圾邮件! - 没有人. I use Gmail, which does a fantastic job ...
- 垂钓之王hd_如果收到网络钓鱼电子邮件该怎么办?
垂钓之王hd Rawpixel.com/ShutterStockRawpixel.com/ShutterStock If you receive a phishing email, it can be ...
- 电子邮件服务器限制匿名,匿名(垃圾)邮件的根源—网络上几乎所有服务器都不可避免的“漏洞-站长资讯中心...
大家在看到这篇文章的小标题的时候,或许很多人都知道了这个"漏洞",而有的人在看文章的过程中,知道这个"漏洞",也有的人或许会惊诧,因为小标题好像说得太过严重,不 ...
- 邮箱系统原理——基本原理
1.邮件服务器种类 SMTP服务器:用于替用户发送和接受外面发送给本地用户的邮件(相当于邮局的接受部门) POP3/IMAP服务器:由于帮助用户读取SMTP服务器接收进来的该用户的邮件(相当于专门为前 ...
最新文章
- CSDN 十大技术主题盘点-AI篇
- Python 安装cx_Oracle模块折腾笔记
- 关于使用REST API
- (转)字典树原理+实现
- PHP中文字符串编码转换
- MS UC 2013-2-Deploy Microsoft Exchange Server 2013-4-Post-Installation Tasks
- 电脑服务器传文件夹吗,服务器和电脑传文件夹吗
- matlab 启动图标
- excel清空sheet内容 poi_Excel隐藏了一个sheet表,java poi中是可以读出来的,现在我不想读取隐藏的sheet表。...
- linux交换内存_Linux中的交换内存如何工作?
- 客户端工具收取邮件提示-ERR maildrop alredy locked
- 拓端tecdat|在Python中使用LSTM和PyTorch进行时间序列预测
- 安卓beforetextchanged_Android TextWatcher.afterTextChanged与TextWatcher
- ANSYS网格划分标准及方法
- Linux环境下ATAPI MO的使用方法(转)
- EFI、UEFI、MBR、GPT的区别
- jQuery的id选择器
- 云原生时代,OAM模型加持下的应用交付与管理实践
- 《看不见的森林:林中自然笔记》书摘二
- Linux解压rar压缩文件的详细方法