MIME协议及邮件格式分析
MIME协议(五)--MIME邮件的编码方式
MIME协议(五)--MIME邮件的编码⽅式5 MIME邮件的编码⽅式由于每个ASCII码字符只占⽤⼀个字节(8个bit位),且最⾼bit位总为0,即ASCII码字符中的有真正意义的信息只是后⾯的7个低bit位,⽽传统的SMTP协议⼜是基于ASCII码字符设计的,因此,⼀些基于传统SMTP协议设计的SMTP服务器在处理邮件内容时只取出每个字节中的7个低bit位进⾏处理,⽽将最⾼bit位忽略不计。
显然,这样的SMTP服务器在处理包含有⾮ASCII码字符的邮件内容时,会出现严重的问题,这就限制了邮件中只能出现英⽂的ASCII码字符,⽽不能出现中⽂字符或⼆进制数据。
为了能够在邮件内容中包含中⽂、图像或声⾳等⾮ASCII字符的数据,⼈们想到了采⽤某种编码⽅式将⾮ASCII字符的数据转换成可打印的ASCII字符后再发送,邮件阅读程序则按照相应的解码⽅式从邮件中还原出原始数据即可,⽐较常⽤的两种邮件编码⽅式为BASE64和Quoted-printable。
后来的扩展SMTP协议允许直接在邮件中传递⼆进制数据,⽽不⽤对它们进⾏邮件编码,⼈们将这种没有进⾏邮件编码的⼆进制数据的邮件内容称为8bit编码,为了与此相区别,⼈们将没有进⾏邮件编码的纯ASCII码字符的邮件称为7bit编码。
MIME消息体的邮件编码⽅式通过MIME消息头中的Content- Transfer- Encoding头字段指定,每种邮件编码⽅式的介绍如下:— 7Bit指消息体内容全部是没有经过编码的ASCII字符。
— 8Bit指消息体内容是没有经过编码的原始数据,且其中包含有⾮ASCII字符的数据。
现在的邮件服务器基本上都⽀持8Bit编码,使⽤⽀持8Bit 编码的邮件服务器可以简化邮件的处理过程。
— BASE64Base64是将⼆进制数据转换成可打印的ASCII字符的⼀种最常见的编码⽅式,它的基本原理是将⼀组连续的字节数据按6个bit位进⾏分组,然后对每组数据⽤⼀个ASCII字符来表⽰。
计算机网络原理 多用途因特网邮件扩展(MIME)
计算机网络原理多用途因特网邮件扩展(MIME)前面我们学习SMTP发送程序,而在读取邮件过程中又分为两种协议。
一种是邮局协议第3个版本POP3和因特网报文存取协议IMAP。
邮局协议POP是一个非常简单、但功能有限的邮件读取协议。
邮局协议POP最初公布于1984年。
现在所使用的POP3是通过多次更新,也称为POP第三个版本。
它已经成为Internet的正式标准。
POP也使用客户服务器的工作方式。
在接收邮件的用户计算机中必须运行POP客户程序,而在用户所连接的ISP的邮件服务中则运行POP服务器程序以及SMTP服务器程序,以便接收发送方邮件服务器的SMTP客户程序发来的邮件。
POP服务器需要用户输入用户名和口令后才允许对邮箱进行读取。
在这里用户需要了解,邮件服务器只能向其邮件服务器传输电子邮件,而POP服务器除了传输电子邮件外还能向用户提供邮箱内容的信息。
POP3协议的特点是只要用户从POP服务读取邮件,POP服务器就将邮件删除。
下面我们来详细学习邮件扩展协议(MIME)。
Internet邮件扩展协议是RFC822框架结构的扩展,用于解决SMTP和RFC822传递电子邮件时遇到的问题和局限性。
1.MIME概述最初的Internet电子邮件系统只能处理文本,并且信息的主体被限制为ASCII字符,不能包含二进制数据。
但为了发送二进制数据,必须引进一些新的机制。
于是便产生了二进制数据编码成文本形式的方法,以方便这些数据在电子邮件信息中发送。
例如,使用十六进制表示,即数据中每4位映射为0~F中的一个字符。
然后在电子邮件信息中发送个字符序列,并由接收方将这些字符转换成二进制表示。
IETF为了协调和统一发送二进制数据而发明的多种编码方案,而推出了MIME。
MIME 协议定义了5个新报文报头字段,以提供与该报文主体相关的信息;定义了一些内容格式,将支持多媒体电子邮件表示方法标准化;定义了传送编码,使任何内容格式都能转化成一种受邮件系统保护而不被随意改变的格式。
MIME协议多用途互联网邮件扩展的标准
MIME协议多用途互联网邮件扩展的标准MIME(Multipurpose Internet Mail Extensions)即多用途互联网邮件扩展,是一种应用于电子邮件的标准协议。
它的主要作用是扩展了传统的纯文本邮件,使电子邮件可以携带更多类型的数据,包括图像、音频、视频等文件格式。
本文将介绍MIME协议的起源、工作原理以及对互联网邮件系统的影响。
一、MIME协议的起源MIME协议最早由Nathaniel Borenstein和Ned Freed于1992年提出,目的是解决传统纯文本邮件无法携带多媒体文件的问题。
在起初的互联网时代,电子邮件只能发送纯文本内容,无法传输图片、音频和视频等媒体文件。
随着互联网的发展,人们对邮件内容的需求逐渐增加,MIME协议应运而生。
二、MIME协议的工作原理MIME协议通过在邮件头部添加额外的信息来标识邮件的内容类型和编码方式。
这些额外的信息被称为MIME头部信息,通常包括Content-Type、Content-Transfer-Encoding和Content-Disposition等字段。
其中,Content-Type用于指示邮件主体的数据类型,Content-Transfer-Encoding用于指定编码方式,而Content-Disposition则用于指定邮件主体的呈现方式。
MIME协议允许邮件主体以纯文本和HTML格式呈现,并支持多种文件类型的附件。
对于非文本文件,MIME协议会将它们编码成纯文本格式,以便在电子邮件传输过程中不会出现乱码或错误。
接收方的电子邮件客户端会根据MIME头部信息解析邮件内容,并以对应的方式展示给用户。
三、MIME协议对互联网邮件系统的影响MIME协议的引入极大地扩展了电子邮件的功能和应用场景。
通过MIME协议,用户可以通过邮件发送和接收各种类型的文件,如照片、音频文件和视频文件等。
这不仅提升了邮件的表现力,也方便了用户之间的信息交流。
电子邮件协议
? MOTIS的电子邮件传输是存储转 发型的,其中的MTA 扮演网关的 角色,邮件经逐个MTA 传输直至 信宿用户所在的MTA
发送者 UA
接收者 UA
MS MTA
MS MTA
表示层
MOTIS电子邮件系统的模型
10.2.5 电子邮件的结构
? 邮件中常见的标题域:
? Received域:邮件每经过一台主机时,就产生一个Received域, 用来记录所经过主机的地址和经过时间,回复的信件可以按原路 返回,而不必去选择路由。此域常拆为多行显示。
? Date域:记录邮件发送日期(本地主机的日期和时间)。 ? Message-ID域:邮件惟一的标识号。 ? From域:发信人邮件地址。 ? To 域:收信人邮件地址。 ? Cc域:抄送邮件地址,需要将邮件发送给多个收信人时使用。 ? Reply-to域:回复邮件地址,当发信人有几个邮件账号,且要求
代码 500 501 502 503 504 550 551 552 553 554
描述 命令不可识别或语法错 参数语法错 命令不支持 命令顺序错 命令参数不支持 操作未执行:邮箱不可用 非本地用户,请尝试<forward-path> 操作中止:存储空间不足 操作未执行:邮箱名不正确 传输失败
10.2.5 电子邮件的结构
常用SMTP命令一览表
用于启动邮件传输过程
描述
用于初始化邮件传输 用于标识单个邮件接收人,在 MAIL命令后面可有多个 RCPT命令 用于将邮件报文发送给服务器
用于终止客户端与服务器之间的连接 用于中止当前的邮件事务并使两端复位 用于验证指定的用户 /邮箱是否存在,即验证接收方地址是否正确 空操作命令
MIME协议的内容分析及解析说明
MIME协议的内容分析及解析说明作者:李鹏博时间:2016/06一、MIME协议说明MIME, 全称为“Multipurpose Internet Mail Extensions”, 比较确切的中文名称为“多用途互联网邮件扩展”。
它是当前一种电子邮件技术规范。
MIME不是一种传输协议,而是一种编写规范,常常建立在SMTP协议、HTTP 协议等之上。
二、MIME协议的使用场景MIME协议可以在SMTP基础上,使得邮件可以传输任意二进制文件,广泛用在邮件源码的编写规范上。
除此之外,MIME协议可以在HTTP协议基础上通过POST方法上传附件,有很多站点是使用该协议完成,如SOHU邮箱、263邮箱、QQ邮箱(部分)等。
三、MIME协议包头内容说明及解析以下,将统一名词为:boundary(节)、Content-Type(内容类型)。
1.建立在SMTP协议上的邮件编码关于SMTP协议的说明请参见《简析SMTP协议》,此处主要说明客户端向服务器请求发送DATA之后,整个DATA包体(或一封邮件本身的编码)。
邮件源码查看方式如下,在邮件客户端右击选择“更多操作”->“查看邮件源码”即可。
以上,是一封简单邮件的包头信息,其中关键字说明如下:关于出现汉字,上述示例邮件并未出现汉字,如果出现汉字,就会出现对其编码的现象,比如,这种情况就需要将=?GB2312?B?与?=之间的内容拿出来进行BASE64解码。
这种情况出现在主题、文件名等位置。
关于Content-Type,Content-Type也是个很重要的关键字,他是该包体内容类型的说明。
可能出现的有很多,常用的有:multipart/related;multipart/mixed; multipart/alternative;等。
其中,multipart/alternative出现说明邮件中无附件且只有文字信息;multipart/related出现则说明无附件有文字信息和图片信息;multipart/mixed出现这说明邮件存在附件。
mime 用法
mime 用法
Mime(Multipurpose Internet Mail Extensions)是一种用于标识文件类型的方法,常用于互联网传输和文件处理。
它通过一个独特的标识符来表示每种文件类型,并且可以帮助计算机系统识别文件的正确方式来处理它们。
在互联网上,Mime 用法主要用于电子邮件和浏览器之间的文件传输。
当您发
送电子邮件时,您可以指定邮件的内容类型,以便接收者的邮件客户端知道如何正确地显示或处理该邮件。
这就是 Mime 的作用。
常见的邮件内容类型包括纯文本、HTML、图片、音频和视频等。
此外,Mime 用法在网页开发中也非常重要。
在编写 HTML 代码时,您可以通
过指定相应的 Mime 类型来确保浏览器正确解析和显示您的网页内容。
例如,当您引用外部的 CSS 样式文件时,需要使用 text/css 的 Mime 类型;如果您要嵌入图像
文件,可以使用 image/jpeg、image/png 或 image/gif 等适当的 Mime 类型。
同时,Mime 用法还可以扩展到其他的应用和文件类型。
例如,在服务器上,
通过配置可以为特定的文件扩展名指定正确的 Mime 类型。
这有助于确保当浏览器请求该文件时,服务器能够正确地标识它的内容类型,并采取相应的处理方式。
总之,Mime 用法在互联网传输和文件处理中起着关键的作用。
通过使用正确
的 Mime 类型,我们可以确保文件以正确的方式进行传输和处理,从而为用户提供更好的体验。
无论是在发送电子邮件、编写网页还是处理文件类型,请记住使用适当的 Mime 类型来确保正确解析和显示。
网络安全协议范例
网络安全协议范例在当今信息化时代,网络安全问题日益突出,各种网络攻击和数据泄露事件频频发生,给个人和企业的信息安全带来了巨大威胁。
为了保护网络安全,各国纷纷推出了一系列的网络安全协议。
本文将以网络安全协议范例为题,介绍几种常见的网络安全协议,以供参考。
一、传输层安全协议(TLS)传输层安全协议(Transport Layer Security,简称TLS)是一种常用的网络安全协议,用于保护网络通信的安全性和完整性。
TLS协议通过使用加密算法和身份验证机制,确保数据在传输过程中不被窃听、篡改或伪装。
TLS协议的工作原理如下:首先,客户端和服务器之间建立连接,并协商加密算法和密钥交换方式;然后,双方进行身份验证,确保通信双方的真实身份;最后,使用协商好的密钥对数据进行加密和解密,确保数据的安全性。
二、虚拟专用网络协议(VPN)虚拟专用网络协议(Virtual Private Network,简称VPN)是一种通过公共网络建立起加密通道的安全通信方式。
通过VPN协议,用户可以在不安全的公共网络上建立起一条加密的通信隧道,确保数据在传输过程中不被窃听和篡改。
VPN协议的工作原理如下:首先,用户通过VPN客户端向VPN服务器发起连接请求;然后,VPN服务器对用户进行身份验证,并为用户分配一个虚拟IP地址;最后,用户和VPN服务器之间建立起加密通道,所有经过该通道的数据都会进行加密和解密。
三、域间安全协议(IPsec)域间安全协议(Internet Protocol Security,简称IPsec)是一种用于保护IP数据包传输安全的协议。
IPsec协议通过对IP数据包进行加密和身份验证,确保数据在传输过程中不被窃听、篡改或伪装。
IPsec协议的工作原理如下:首先,通信双方之间建立起安全关联,协商加密算法和密钥交换方式;然后,对IP数据包进行加密和解密,确保数据的机密性;最后,对IP数据包进行身份验证,确保通信双方的真实身份。
MIME文档说明书
MIME协议文档说明书RFC#1521协议简介RFC#822定义了消息头的传输标准,而把消息体当成纯ASCII文本。
这个文档重新定义了消息体的格式,使得消息体在交换非文本信息时不会失真。
同时也使得消息可以在RFC#822主机和X.400主机(认为在消息体中加入非文本信息是合法的)之间进行交换。
该文档主要描述了MIME-Version字段、Content-Type字段、Content-Transfer-Encoding字段。
另外还简单的介绍了两个额外的字段:Content-ID和Content-DescriptionMIME是可扩展的,它允许通过一定的方式向IANA注册新的字段或对现有字段的取值范围进行扩充。
在对文档进行进一步描述之前,需要先界定如下字段的含义:✧"message",当没有进一步说明,它可以表示一个正在网上传输的完整消息,也可表示封装在一个Content Type值为"message/rfc822"或"message/partial"的"body"里的消息。
✧"body part",表示Content-Type值为"multipart"的消息实体的一部分,它有一个头和一个体。
✧"entity",实体,由MIME定义的头和消息或"body part"中的内容组成。
✧"body",表示"message"或"body part"的体部分。
MIME-Version字段该字段用一个版本号说明了消息所要遵循的规范,以区别不兼容的消息版本。
如,MIME-Version: 1.0表示该消息遵循rfc#1521。
为了便于描述以后扩展的消息格式,我们把MIME-Version字段定义为:version := "MIME-Version" ":" 1*DIGIT "." 1*DIGIT;两个被点(".")分开的整数。
邮件协议解释
过程如下图所示:说明:1、连接SMTP服务器的用户名和密码需要经过base64编码,下面是对用户名和密码进行base64编码的JAVA程序:[java] view plaincopy1.package org.yangxin.study.jm.util;2.3.import java.io.BufferedReader;4.import java.io.IOException;5.import java.io.InputStreamReader;6.7.import sun.misc.BASE64Encoder;8.9.public class Base64Util {10.11.public static void main(String[] args) throws IOException {12. BASE64Encoder encoder = new BASE64Encoder();13. System.out.println("请输入用户名:");14. String username = new BufferedReader(new InputStreamReader(System.in)).readLine();15. System.out.println(encoder.encode(username.getBytes()));16. System.out.println("请输入密码:");17. String password = new BufferedReader(18.new InputStreamReader(System.in))19. .readLine();20. System.out.println(encoder.encode(password.getBytes()));21. }22.}下面通过telnet程序连接163的POP3服务器,来分析邮件的接收过程。
电子邮件的传输协议
电子邮件的传输协议电子邮件(Email)是当今信息传输中最常用的方式之一,它可以快速、方便地传递文字、图片、文件等各种形式的信息。
而要实现电子邮件的传输,就需要依靠一系列的协议来完成。
本文将介绍电子邮件的传输协议,帮助大家更好地理解电子邮件的传输原理。
首先,我们要了解的是SMTP协议(Simple Mail Transfer Protocol),它是用于发送邮件的协议。
当你发送一封电子邮件时,SMTP协议将会把这封邮件从你的计算机传输到邮件服务器,然后再由邮件服务器发送到接收方的邮件服务器。
SMTP协议是一个简单而有效的协议,它使用TCP协议的25端口进行通信,确保了邮件的可靠传输。
其次,POP3协议(Post Office Protocol 3)和IMAP协议(Internet Message Access Protocol)则是用于接收邮件的协议。
当你的邮件服务器收到新邮件时,它会保存在服务器上,然后你可以通过POP3或IMAP协议从服务器上下载这些邮件到你的计算机或移动设备上。
POP3协议会把邮件下载到本地设备后删除服务器上的邮件,而IMAP协议则会保留服务器上的邮件副本,可以实现多设备同步查看邮件。
另外,还有SMTPS和IMAPS协议,它们是SMTP和IMAP协议的加密版本,用于保护邮件的安全传输。
SMTPS和IMAPS协议使用SSL/TLS加密邮件的传输过程,确保邮件内容不会被窃取或篡改,提高了邮件传输的安全性。
除了上述的协议外,还有一些辅助协议如DNS(Domain Name System)协议和MIME(Multipurpose Internet Mail Extensions)协议等,它们都在电子邮件的传输过程中发挥着重要的作用。
DNS协议用于解析邮件服务器的域名,找到接收方的邮件服务器地址;而MIME协议则是用于在邮件中传输非文本内容(如图片、音频、视频等)的协议。
总的来说,电子邮件的传输协议是一个复杂而完善的系统,它通过一系列的协议和技术保证了电子邮件的可靠传输和安全性。
MIME简介
Content-Transfer-Encoding: 7bit //编码方式:7位
Content-Description: cc:Mail note part
在用于浏览器时,用户不需要知道那么多的信息,所以MIME头就比较简单了。在访问一个网页时,浏览器和服务器之间产生一个会话,作为请求内容的一部分,浏览器发送它能够理解的MIME类型的描述,这就告诉服务器,浏览器除了网页外还可以支持什么,服务器对这个信息一般不作为什么修改。
MIME是服务器通知客户机传送文件是什么类型的主要方法,客户机浏览器也通过MIME告诉服务器它的参数。在网上,如果接收到的文件没有MIME头,就默认它为HTML格式。但这样也不好,因为当MIME的包头是text/plain时,浏览器将直接显示而不关心它的什么字体,颜色之类的参数,这样显示出来的内容可不是很好看呀。
服务器通过发向客户机的MIME头通知客户浏览器内容是什么,我们看看下面这个头:
Content-type: text/html
在实现的时候,一定要注意MIME头后要跟一个空行,不然这个头会被浏览器忽略,这个头会被当作文本显示出来。当服务器传送GIF图象时,头会如下:
Content-type: image/gif
Quoted-printable算法根据输入的字符串或字节范围进行编码,若是不需编码的字符,直接输出;若需要编码,则先输出''='',后面跟着以2个字符表示的十六进制字节值。
二、设计目标
我们计划开发一套MIME编码和解码的类,适用于可以想到的多种应用场合:
· Email客户端程序
· 乱码察看程序
Audio. 声音,用于标明声音文件。
Video. 影象,用于标明动画文件。
mime协议
mime协议MIME 协议。
MIME(Multipurpose Internet Mail Extensions)是一种互联网标准,最初是为了解决电子邮件中的多媒体文件传输问题而设计的。
随着互联网的发展,MIME 协议已经被广泛应用于 Web 页面的传输、HTTP 协议中的数据交换、以及其他许多互联网应用中。
本文将介绍 MIME 协议的基本概念、作用和应用,以及在实际开发中的一些注意事项。
MIME 协议的基本概念。
MIME 协议是一种在互联网上传输多媒体文件的标准。
它通过在数据中添加一些描述性的信息(例如文件类型、编码方式等),使得接收方能够准确地识别和处理这些文件。
MIME 协议最初是为了解决电子邮件中的附件传输问题而设计的,但它的作用并不仅限于此,它也被广泛应用于 Web 页面的传输、HTTP 协议中的数据交换等方面。
MIME 协议的作用和应用。
MIME 协议的主要作用是在互联网上传输多媒体文件。
它通过在数据中添加一些描述性的信息,使得接收方能够准确地识别和处理这些文件。
MIME 协议定义了一种通用的文件格式描述方式,可以描述几乎所有类型的文件,包括文本、图像、音频、视频等。
这使得互联网上的不同应用能够以统一的方式处理各种类型的文件,极大地提高了文件传输的效率和可靠性。
在实际开发中的注意事项。
在实际开发中,开发人员需要注意以下几点:1.正确设置 MIME 类型,在开发 Web 页面或者其他互联网应用时,开发人员需要正确地设置文件的 MIME 类型。
这样可以确保浏览器或者其他客户端能够正确地识别和处理这些文件,从而提供更好的用户体验。
2.处理文件编码,在传输文件时,开发人员需要正确地处理文件的编码方式。
不同的文件可能需要使用不同的编码方式,开发人员需要根据文件的类型和具体要求来选择合适的编码方式。
3.处理文件的安全性,在接收和处理文件时,开发人员需要注意文件的安全性。
特别是在处理用户上传的文件时,开发人员需要进行严格的文件类型和内容检查,以防止恶意文件的传输和执行。
第三章 MIME
• 一些邮件系统允许邮件接收者将接收到的 邮件转发给他人,并保留原有的邮件头。 • 这种情况下为了与原来邮件头中的头段相 区别,新加上的头段的段名前要加上 Resent-,即Resent-From、 ResentSender或 Resent-Reply-To,它们的作用 与From、Sender和Reply-To相同。 • 在邮件头中各段的段体中,可以插入注释。 注释用一对圆括号括起来,内容可以是任 何字符串。注释是给人看的,在语法上没 有其它意义。
• 邮箱地址中的local-part一般不能使用圆括号、尖 括号、方括号、逗号、分号、冒号、@、斜杠和 空格这些字符,如果要使用这些字符,则整个 local-part部分必须用双引号括起来。
Sender: mailbox
• 如果某些程序使得信件不是从写信人的邮 箱寄出,而是从另一个邮箱寄出,则必须 用Sender再加上From,这时Sender的段体 是寄出的邮箱地址,而From的段体是写信 人的邮箱地址。
• RFC822对于信件正文没有什么规定,只是要求 必须由ASCII字符组成 。 • 而“信封”上的信息则是要由机器处理的,因而 有着严格的语法规定。 • “信封”的正式名称是邮件头(header),邮件 头由若干“头段”(header field)组成,每一头 段的格式为: field-name : [field-body] CRLF • 其中field-name是段名,RFC822定义了常用的段 名及其语义,应用程序也可以定义自己的段名及 其语义,但不得与已定义的段名同名。 • field-body是段体,即段的具体内容。段名和段体 用一个冒号分隔。 • 最后用CRLF(回车换行)结束整个段。
Reply-To: mailbox
• Reply-To是由最初发出邮件的机器填写的 头段,它直接指出信件的回复地址。 • 段体mailbox就是回复的邮箱地址。
MIME协议简介
MIME协议简介MIME的编码介绍(base64)及使⽤的意义三MIME的头信息邮件头在邮件头中,有很多从RFC 822沿⽤的域名,MIME也增加了⼀些。
常见的标准域名和含义如下:域名含义添加者Received 传输路径各级邮件服务器Return-Path 回复地址⽬标邮件服务器Delivered-To 发送地址⽬标邮件服务器Reply-To 回复地址邮件的创建者From 发件⼈地址邮件的创建者To 收件⼈地址邮件的创建者Cc 抄送地址邮件的创建者Bcc 暗送地址邮件的创建者Date ⽇期和时间邮件的创建者Subject 主题邮件的创建者Message-ID 消息ID 邮件的创建者MIME-Version MIME版本邮件的创建者Content-Type 内容的类型邮件的创建者Content-Transfer-Encoding 内容的传输编码⽅式邮件的创建者⾮标准的、⾃定义域名都以X-开头,例如X-Mailer, X-MSMail-Priority等,通常在接收和发送邮件的是同⼀程序时才能理解它们的意义。
段头在段头中,⼤致有如下⼀些域:域名含义Content-Type 段体的类型Content-Transfer-Encoding 段体的传输编码⽅式Content-Disposition 段体的安排⽅式Content-ID 段体的IDContent-Location 段体的位置(路径)Content-Base 段体的基位置有的域除了值之外,还带有参数。
值与参数、参数与参数之间以“;”分隔。
参数名与参数值之间以“=”分隔。
1.MIME-Version 表⽰使⽤的MIME的版本号,⼀般是1.0;如:MIME-Version: 1.02.Content-TypeContent-Type定义了正⽂的类型,我们实际上是通过这个标识来知道正⽂内是什么类型的⽂件。
⽐如:text/plain 表⽰的是⽆格式的⽂本正⽂,text/html 表⽰的 Html ⽂档,image/gif 表⽰的是 gif 格式的图⽚等等。
四、E-mail的工作原理 的工作原理
邮件传输
五、 E-mail客户端软件 客户端软件
一些免费的基于Web的E-Mail可以用 的 可以用WWW方式, 方式, 一些免费的基于 可以用 方式 通过浏览器来阅读 若要将E-Mail下载到自己的计算机进行管理,就必 下载到自己的计算机进行管理, 若要将 下载到自己的计算机进行管理 须要用到邮件客户软件 E-Mail客户端软件是安装在客户计算机上,用于对 客户端软件是安装在客户计算机上, 客户端软件是安装在客户计算机上 E-Mail进行收、发、编辑和管理的一类软件 进行收、 进行收 常用的E-Mail客户端软件: Outook Express 客户端软件: 常用的 客户端软件 Foxmail
二、 E-maiL的协议 的协议
邮件服务器按照为用户提供E-mail发送和接收的服 发送和接收的服 邮件服务器按照为用户提供 务的不同, 务的不同,可以分为发送邮件服务器和接收邮件服 务器。 务器。 发送邮件服务器: 发送邮件服务器: SMTP协议(Sampel Mail Transfer Protocol) 协议( 协议 )
三、E-mail的标准 的标准
RFC822标准 标准 MIME标准 标准 SMTP的局限: 的局限: 的局限 SMTP不能传送可执行文件和二进制对象的文件。 不能传送可执行文件和二进制对象的文件。 不能传送可执行文件和二进制对象的文件 SMTP不能传送包含了自然语言的字符,SMTP能传输 不能传送包含了自然语言的字符, 不能传送包含了自然语言的字符 能传输 的是限制在7bit的ASCII字符。 字符。 的是限制在 的 字符 SMTP服务器拒绝超过一定长度的电子邮件报文。 服务器拒绝超过一定长度的电子邮件报文。 服务器拒绝超过一定长度的电子邮件报文 为此, 中定义了以下一些扩展: 为此,MIME中定义了以下一些扩展: 中定义了以下一些扩展 定义了扩展的内容格式,支持多媒体电子邮件。 定义了扩展的内容格式,支持多媒体电子邮件。 定义了传送编码, 定义了传送编码,使得任何格式的内容都可以转换为 与电子邮件系统无关的格式。 与电子邮件系统无关的格式。
电子邮件收发协议总结
电⼦邮件收发协议总结说明:本⽂仅供学习交流,转载请标明出处,欢迎转载!电⼦邮件发送协议是⼀种基于“推”的协议,主要包括SMTP;邮件接收协议则是⼀种基于“拉”的协议,主要包括POP协议和IMAP协议,在正式介绍这些协议之前,我们先给出邮件收发的体系结构:从上图可以看出邮件收发的整个过程⼤致如下:(1)发件⼈调⽤PC机中的⽤户代理编辑要发送的邮件。
(2)发件⼈点击屏幕上的”发送邮件“按钮,把发送邮件的⼯作全部交给⽤户代理来完成。
⽤户代理通过SMTP协议将邮件发送给发送⽅的邮件服务器(在这个过程中,⽤户代理充当SMTP客户,⽽发送⽅的邮件服务器则充当SMTP服务器)。
(3)发送⽅的邮件服务器收到⽤户代理发来的邮件后,就把收到的邮件临时存放在邮件缓存队列中,等待时间成熟的时候再发送到接收⽅的邮件服务器(等待时间的长短取决于邮件服务器的处理能⼒和队列中待发送的信件的数量)。
(4)若现在时机成熟了,发送⽅的邮件服务器则向接收⽅的邮件服务器发送邮件缓存中的邮件。
在发送邮件之前,发送⽅的邮件服务器的SMTP 客户与接收⽅的邮件服务器的SMTP服务器需要事先建⽴TCP连接,之后再将队列中的邮件发送出去。
值得注意的是,邮件不会在因特⽹中的某个中间邮件服务器落地。
(5)接收邮件服务器中的SMTP服务器进程在收到邮件后,把邮件放⼊收件⼈的⽤户邮箱中,等待收件⼈进⾏读取。
(6)收件⼈在打算收信时,就运⾏PC机中的⽤户代理,使⽤POP3(或IMAP)协议读取发送给⾃⼰的邮件。
注意,在这个过程中,收件⼈是POP3客户,⽽接收邮件服务器则是POP3客户,箭头的⽅向是从邮件服务器指向接收⽤户,因为这是⼀个“拉”的操作。
下⾯我们根据上⾯的总体过程介绍下各个组件。
⽤户代理⽤户代理UA(User Agent)是⼀个软件包(程序),它的功能是:撰写、阅读、回复和转发报⽂,还能处理邮箱(如创建收信箱和发信箱)。
共有两种类型的⽤户代理:命令驱动和GUI。
[JavaMail]8 详解Message和MIME
A.0、MIMEMultipurpose Internet Mail Extension(多功能Internet 邮件扩充服务)它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。
服务器会将它们发送的多媒体数据的类型告诉浏览器,而通知手段就是说明该多媒体数据的MIME类型,从而让浏览器知道接收到的信息哪些是MP3文件,哪些是Shockwave文件等等。
服务器将MIME标志符放入传送的数据中来告诉浏览器使用哪种插件读取相关文件。
MIME能够支持非ASCII字符、二进制格式附件等多种格式的邮件消息。
这个标准被定义在; RFC 2045,; RFC 2046,; RFC 2047,; RFC 2048,; RFC 2049等RFC中。
由RFC 822转变而来的RFC 2822,规定电子邮件标准并不允许在邮件消息中使用7位ASCII字符集以外的字符。
正因如此,一些非英语字符消息和二进制文件,图像,声音等非文字消息都不能在电子邮件中传输。
MIME规定了用于表示各种各样的数据类型的符号化方法。
MIME意为多功能Internet邮件扩展,它设计的最初目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理。
然而当它被HTTP协议支持之后,它的意义就更为显著了。
它使得HTTP传输的不仅是普通的文本,而变得丰富多彩。
由于MIME类型与文档的后缀相关,因此服务器使用文档的后缀来区分不同文件的MIME类型,服务器中必须定义文档后缀和MIME类型之间的对应关系。
而客户程序从服务器上接收数据的时候,它只是从服务器接受数据流,并不了解文档的名字,因此服务器必须使用附加信息来告诉客户程序数据的MIME类型。
服务器在发送真正的数据之前,就要先发送标志数据的MIME类型的信息,这个信息使用Content-type关键字进行定义,例如对于HTML文档,服务器将首先发送以下(Content-type: text/html)MIME标识信息,这个标识并不是真正的数据文件的一部分。
MIME关于附件的传输
Q什么是MIME?什么是MIME邮件?A MIME, 全称为“Multipurpose Internet Mail Extensions”, 比较确切的中文名称为“多用途互联网邮件扩展”。
它是当前广泛应用的一种电子邮件技术规范,基本内容定义于RFC 2045-2049。
自然,MIME邮件就是符合MIME规范的电子邮件,或者说根据MIME规范编码而成的电子邮件。
在MIME出台之前,使用RFC 822只能发送基本的ASCII码文本信息,邮件内容如果要包括二进制文件、声音和动画等,实现起来非常困难。
MIME提供了一种可以在邮件中附加多种不同编码文件的方法,弥补了原来的信息格式的不足。
实际上不仅仅是邮件编码,现在MIME经成为HTTP协议标准的一个部分。
下面举几个MIME邮件的例子,让我们先对MIME编码的格式有个直观的印象。
例1是最简单的,只带纯文本正文,基本上就是RFC 822格式;例2复杂一些,包含纯文本和超文本正文;例3是最复杂的,包含纯文本正文、超文本正文、内嵌资源和文件附件。
其中,行号和行号后的空格是为了分析方便而另外加的,“... ... ... ...”表示此处省略了大段编码。
例11 Date: Thu, 18 Apr 2002 09:32:45 +08002 From: <bhw98@>3 To: <bhwang@>4 Subject: Test5 Mime-Version: 1.06 Content-Type: text/plain; charset="iso-8859-1"78 This is a simple mail.9例21 From: "bhw98" <bhw98@>2 Reply-To: bhw98@3 To: <bluesky7810@>4 Subject: Re: help5 X-Mailer: Foxmail 4.2 [cn]6 Mime-Version: 1.07 Content-Type: multipart/alternative;8 boundary="=====002_Dragon307572345230_====="91011 This is a multi-part message in MIME format.1213 --=====002_Dragon307572345230_=====14 Content-Type: text/plain; charset="GB2312"15 Content-Transfer-Encoding: quoted-printable1617 bluesky7810=A3=AC=C4=FA=BA=C3=A3=A11819=A1=A1=A1=A1=D4=DA=CF=C2=C6=AA=D7=EE=BA=F3=BF=C9=D2=D4=CF=C2=D4=D8=B0=A1=A3=AC=C4=E3... ... ... ...30=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A12003-04-073132 --=====002_Dragon307572345230_=====33 Content-Type: text/html; charset="GB2312"34 Content-Transfer-Encoding: quoted-printable3536 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">37 <HTML><HEAD>38 <META content=3D"text/html; charset=3Dgb2312"=39 http-equiv=3DContent-Type>40 <META content=3D"MSHTML 5.00.2920.0" name=3DGENERATOR>... ... ... ...79 </HTML>8081 --=====002_Dragon307572345230_=====--82例31 Return-Path: <bluesky7810@>2 Delivered-To: bhw98@3 Received: (qmail 75513 invoked by alias); 20 May 2002 02:19:53 -00004 Received: from unknown (HELO bluesky) (61.155.118.135)5 by 202.106.187.143 with SMTP; 20 May 2002 02:19:53 -00006 Message-ID: <007f01c3111c$742fec00$0100007f@bluesky>7 From: "=?gb2312?B?wLbAtrXEzOwNCg==?=" <bluesky7810@>8 To: "bhw98" <bhw98@>9 Cc: <bhwang@>10 Subject: =?gb2312?B?ztK1xLbgtK6/2rPM0PI=?=11 Date: Sat, 20 May 2002 10:03:36 +080012 MIME-Version: 1.013 Content-Type: multipart/mixed;14 boundary="----=_NextPart_000_007A_01C3115F.80DFC5E0"15 X-Priority: 316 X-MSMail-Priority: Normal17 X-Mailer: Microsoft Outlook Express 5.00.2919.670018 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.67001920 This is a multi-part message in MIME format.2122 ------=_NextPart_000_007A_01C3115F.80DFC5E023 Content-Type: multipart/related; type="multipart/alternative";24 boundary="----=_NextPart_001_007B_01C3115F.80DFC5E0"252627 ------=_NextPart_001_007B_01C3115F.80DFC5E028 Content-Type: multipart/alternative;29 boundary="----=_NextPart_002_007C_01C3115F.80DFC5E0"3031 ------=_NextPart_002_007C_01C3115F.80DFC5E032 Content-Type: text/plain; charset="gb2312"33 Content-Transfer-Encoding: quoted-printable3435 bhw98, =C4=E3=BA=C3!36=D5=E2=CA=C7=CE=D2=D0=B4=B5=C4=B6=E0=B4=AE=BF=DA=CD=A8=D0=C5=B5=C4=B3=CC=D0=37 =F2, =C7=EB=D6=B8=BD=CC!383940 ------=_NextPart_002_007C_01C3115F.80DFC5E041 Content-Type: text/html; charset="gb2312"42 Content-Transfer-Encoding: quoted-printable4344 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">45 <HTML><HEAD><TITLE>=C7=E7=C0=CA</TITLE>46 <META content=3D"text/html; charset=3Dgb2312"http-equiv=3DContent-Type>47 <STYLE>BODY {48 COLOR: #0033cc; FONT-FAMILY: =CB=CE=CC=E5, Arial, Helvetica;FONT-SIZE: =49 9pt; MARGIN-LEFT: 10px; MARGIN-TOP: 25px50 }51 </STYLE>52 <META content=3D"MSHTML 5.00.2920.0" name=3DGENERATOR></HEAD>53 <BODY background=3Dcid:007901c3111c$72b978a0$0100007f@bluesky =54 bgColor=3D#ffffff>55 <DIV>56 <DIV>bhw98, =C4=E3=BA=C3!</DIV>57<P>=D5=E2=CA=C7=CE=D2=D0=B4=B5=C4=B6=E0=B4=AE=BF=DA=CD=A8=D0=C5=B5=C4=B3=CC=58 =D0=F2, =C7=EB=D6=B8=BD=CC!</P></DIV>59 <P> </P></BODY></HTML>6061 ------=_NextPart_002_007C_01C3115F.80DFC5E0--6263 ------=_NextPart_001_007B_01C3115F.80DFC5E064 Content-Type: image/jpeg; name="=?gb2312?B?x+fAyrGzvrAuSlBH?="65 Content-Transfer-Encoding: base6466 Content-ID: <007901c3111c$72b978a0$0100007f@bluesky>6768/9j/4AAQSkZJRgABAgEASABIAAD/7QVoUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA69 AQBIAAAAAQABOEJJTQPzAAAAAAAIAAAAAAAAAAA4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgAB70AAAAAAAAAAI4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEA... ... ... ...169 RxVw98Vawq12xQ44q0cKtHFDWKGsKt4EtiuKt4q//9k=170171 ------=_NextPart_001_007B_01C3115F.80DFC5E0--172173 ------=_NextPart_000_007A_01C3115F.80DFC5E0 174 Content-Type: application/msword; name="readme.doc"175 Content-Transfer-Encoding: base64176 Content-Disposition: attachment; filename="readme.doc"1771780M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAJgAAAAAAAAAA179EAAAKAAAAAEAAAD+////AAAAACUAAAD/////////////////////////////////////////////180////////////////////////////////////////////////////////////////////////////... ... ... ...1688 AAAAAAAAAAAAAAAAAAA=16891690 ------=_NextPart_000_007A_01C3115F.80DFC5E01691 Content-Type: application/x-zip-compressed;1692 name="=?gb2312?B?tuC0rr/azajQxbXE1LTC6y56aXA=?="1693 Content-Transfer-Encoding: base641694 Content-Disposition: attachment;1695 filename="=?gb2312?B?tuC0rr/azajQxbXE1LTC6y56aXA=?="16961697UEsDBBQAAAAIAFKAoi7qOMOvLw0AAABWAAAUAAAAtuC0rr/azajQxbXE1LTC6y5kb2PtXHtwVNUZ1698/+4+kk3IQoAkBkRYQkSgbrKb7IYNEMwmm6ckG0jCI0boZneTbJJ9sNlAEsdOtFqd8Z846tQ6PhB11699hrZTJoK0Vhgf1aGt4rMy6D8tdugfTjuOpcBIR9j+vvsIy4YkRNTRen87v/ud53cee+6557vn7L73... ... ... ...3125 zajQxbXE1LTC6y5kb2NQSwUGAAAAAAEAAQBCAAAAYQ0AAA==31263127 ------=_NextPart_000_007A_01C3115F.80DFC5E0--3128Q在开始研究MIME邮件的时候,如何得到这样的源码?A一些功能比较完善的邮件客户端软件,如微软的Outlook Express,国产的Foxmail等,都提供了查看和保存邮件源码(原始信息)的功能。
IMAP4及MIME协议剖析
什么是RFC ?
request for comment的缩写 不断更新的结果集 。正式标准,提供信息
RFC 2045/2046的主要内容
规定了用于描述MIME消息结构的多种报头 定义了MIME媒体类型系统的总体结构并且定 义了媒体类型的初始集 允许在Internet邮件头域中有非US-ASCII文本 说明了与MIME相关设备的多种注册程序
什么是MIME协议 ?
Multipurpose Internet Mail Extensions 当前广泛应用的一种电子邮件技术规范
为什么要有MIME协议?
在MIME出台之前, 使用RFC 822只能发送基本的ASCII码文本信息
使邮件内容可以包括二进制文件、声音和动画等 MIME是HTTP协议标准的一个部分
IMAP4的工作模式
离线方式 在线方式 分离方式
需要发送和接受消息时,才连接服务器
访问的邮箱直接在邮件服务器上,与POP离线管 理相同
把用户选定的消息和附件复制或缓存到本地磁 盘上,并把原始副本留存在邮件服务器上。
IMAP4的工作原理
同步机制
离线状态
IMAP 邮件的设置
邮件接收服务器类型: IMAP 邮件接收服务器: 邮件发送服务器: IMAP的监听端口为143
IMAP4及MIME协议剖析 IMAP4及MIME协议剖析
宋美兰 01661108 指导老师:聂哲、 指导老师:聂哲、袁梅冷
一个邮件系统结构
POP3/IMAP4 POP3/IMAP4SMTPຫໍສະໝຸດ 邮件客户A邮件服务器A
邮件服务器B
邮件客户B
IMAP4?
什么是IMAP4?
Internet Message Access Protocol的缩写
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子邮件也许是一个Internet上的流行最广泛的应用。
也是我们现在的大多数网络办公流程的基础。
各种邮件服务器很多,但都大都遵循以1982年出版的RFC822--《ARPA网络文本信息格式标准(STANDARD FOR THE FORMAT OF ARPA INTERNET TEXT MESSAGES)》为基础的一系列邮件格式的规定。
RFC(The Requests for Comments)是用来规定互联网工作标准的文档。
我们使用的时候并没有注意到这些协议在我们的邮件通信过程中默默的发挥着的作用,这丝毫也不能减低这些作用的重要性。
邮件内部还有很多不为人知的秘密。
在RFC822中规定一封信包括一个必须的多个头部域(header fields)和一个可选的体部(body)组成。
从一封信头开始至第一个空行都是头部。
头部定义了一个邮件的各项基本要素,路由信息等内容。
在Outlook Express中选定一封信看它的属性。
在详细资料选项卡中显示的就是这封邮件的头部内容。
也可以选定一封信,另存为一个.eml文件。
由于文件是一个纯文本文件,用一般的编辑器打开就可以看到邮件的内容。
头部有各个头部域组成,每一个头部域都包括域名(field-name)和域体(field-body),它们之间以":"分隔。
每一个头部域都可以看作由ASCII码字符组成的独立的文本。
常见的头部域包括:"Return-Path", "Received", "Date", "From", "Subject", "Sender","To", "cc","MIME-Version"等。
各头部域之间没有规定顺序。
就像各个域的名字一样。
他们表示的具体意义也不同。
Return-Path域表示退信的地址。
Received域表示路由信息。
Internet上的信件可能是由多个服务器依靠协议传递到达最终的目的邮箱的。
每一个服务器都会把自己的一段Received域信息添加近信件。
所以可能有多段Received域,依传递次序排列。
这个域的内容很有意思,我们可以根据每一段的内容来跟踪一封信在internet上的传递过程。
网管人员也可以根据这些信息做出很有价值的判断。
例如一段代码中Received: from unknown (unknown [202.108.44.208]) by (Postfix) with SMTP id 74E0E8 for; Fri, 28 Feb 2003 18:10:25 +0800 (CST)中,from 表示发送主机,by表示接受主机,via物理路径(本例没有),with表示使用的协议,id表示接受消息号,for表示目的邮件地址,分号后面表示时间。
Date域表示建立信件的时间。
From域表示邮件作者。
Subject域就是邮件的主题。
Sender域表示邮件的实际发送者。
To,cc域都表示接受的邮件地址。
MIME-Version域表示MIME的版本(以后扩充的域)还有一个域—Content-Type。
标识了一个重要的概念:邮件内容的格式。
这个域的内容根据互联网的发展产生,使邮件可以用来传输非文本内容,在RFC822中并没有定义,而是在后续的RFC2045,RFC2046等文档中有定义。
还有一些不太常见的头部域,如"References","Message-ID"域。
以及一些由不同厂家定义的自己的域(域名以"X-"开头)。
知道了这些知识,就可以看懂邮件头部。
了解到那些邮件的秘密。
比如这是一封邮件的头部。
Return-Path: "sea"Received: from unknown (unknown [202.108.44.208])by (Postfix) with SMTP id 74E0E8for ; Fri, 28 Feb 2003 18:10:25 +0800 (CST)Received: from (unknown [211.150.100.6])by 192.168.1.208 (Coremail:) with SMTP id cAsAAJY1Xz7kAmQG.1for ; Fri, 28 Feb 2003 18:10:30 +0800 (CST)Received: from sea (unknown [192.168.18.160])by (Postfix) with ESMTP id E55D02675Ffor ; Fri, 28 Feb 2003 18:09:58 +0800 (CST)Message-ID: <000901c2df11$2fcac090$a012a8c0@sea>From: "sea"To: "=?gb2312?B?usK6vQ==?="Message-ID: <000901c2df11$2fcac090$a012a8c0@sea>References: <000c01c2decb$9c7b7860$a012a8c0@sea><004601c2dee2$28a348c0$2400a8c0@haostation><001501c2deeb$352b34a0$a012a8c0@sea>Subject: Re: helloDate: Fri, 28 Feb 2003 18:07:22 +0800MIME-Version: 1.0Content-Type: multipart/alternative;boundary="----=_NextPart_000_0006_01C2DF54.3DDEBE50"X-Priority: 3X-MSMail-Priority: NormalX-Mailer: Microsoft Outlook Express 6.00.2600.0000X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000通过辨认就可以知道这是一封从(From域)"sea" 写给(To域)"=?gb2312?B?usK6vQ==?=" 的Id (Message-ID域)为<000901c2df11$2fcac090$a012a8c0@sea>的回信。
退信的地址(Return-Path域)是haibo.yang@netcscom可以看出(References域)这封信已经经过了连续三次回复。
主题(Subject域)是Re: hello。
时间(Date域)是2003年的3月28日。
邮件优先级(X-Priority域)是普通。
邮件的传递依次经过了三个服务器(Received域):;unknown;和。
还可以看到各服务器的协议和到达各服务器的时间。
其中Postfix和Coremail都是常见的邮件系统。
其中邮件接收地址中的内容由于包含汉字进行了编码。
一封邮件首先建立的是核心的几个域:From,To,Message-Id,Subject,Date等,在传输过程中每通过一个服务器再由此服务器在邮件头部添加一行Received信息,最后一个服务器添加退信地址(Return-Path)。
邮件头的格式制定的细节是根据信息交流和网络传输的特点制定的。
阅读它们不仅可以知道邮件传输的秘密,还可以让我们体会到协议制定与实现间的互相关联的紧密关系。
可以通过/ 查询到RFC822,同时可以查询到其它重要的RFC文档。
MX记录的应用在DNS服务器上除了可以建立主机名与IP地址的映射外,还可以建立其他多种映射,例如,建立某个主机名与其别名的映射;建立某个域名与其SMTP服务器的映射。
在DNS服务器上创建的各项映射关系称为记录,一项映射关系就是一条记录,在DNS服务器上创建的主机名与IP地址的映射关系称为A记录,主机名与别名的映射关系称为CNAME记录,域名与其SMTP服务器的映射关系称为MX记录。
在DNS服务器上为什么要建立MX记录呢?即为什么要建立域名与其SMTP服务器的映射关系呢?这与电子邮件地址的表示形式和工作原理有关。
邮件地址后缀部分表示的通常都是一个域名,而不是接收邮件的服务器的主机名,例如,邮件地址“zxx@”中的“”对应的就是一个域名。
域只是一个逻辑组合概念,它并不代表真正的计算机,对于使用某个域名作为后缀的邮件地址,外界发送给它的电子邮件必须由一台专门的SMTP服务器来进行接收和处理,接收和处理某个域的电子邮件的SMTP服务器即为该域的SMTP服务器,外界发送给某个域的电子邮件实际上都是发送给该域的SMTP服务器。
外界如何知道一个域的SMTP服务器的地址呢?这就是通过管理该域的DNS服务器上的MX记录来获得的,这也就是在DNS服务器上为什么要建立域名与其SMTP服务器的映射关系的原因。
当某台SMTP服务器要给“zxx@”发送一封电子邮件时,该SMTP服务器将根据邮件地址的后缀部分而去查询“”这个域的MX记录,得到这个域的SMTP服务器的主机名为“”,然后将邮件发送给“”这个SMTP服务器。
动手实践根据域名查询SMTP服务器Windows操作系统自带的nslookup命令可以查询一个域的MX记录。
要想知道负责接收某个电子邮箱的邮件的SMTP 服务器,可以先根据该邮件地址的后缀部分推断出其域名,然后使用nslookup命令进行查询即可。
下面以查找负责接收“zxx@”这个邮件地址的SMTP服务器的信息为例进行讲解。
启动Windows下的DOS命令行窗口,执行nslookup命令,结果如图1.16所示。
图1.16中“”表示执行nslookup命令的这台计算机当前所使用的DNS查询服务器的主机名,“211.161.46.84”则表示该DNS服务器的IP地址。
在图1.16中的“>”提示符后面先输入“set type=mx”命令,设置所要查询的记录类型为MX,然后输入域名“”,结果如图1.17所示。
图1.16 图1.17图1.17中显示了“”这个域的SMTP服务器的主机名和IP地址,其中“”为SMTP 服务器的主机名,并且该主机名对应了3个IP地址。
这说明“”为了扩充其邮件处理能力,使用了3台SMTP 服务器来接收外界发送给该域的邮件,这3台服务器的主机名都为“”,外界的SMTP服务器可以选择其中任何一台进行连接,然后将邮件发送给该服务器。