网站运营
位置:首页>> 网站运营>> Linux服务器:邮件系统的原理

Linux服务器:邮件系统的原理

 来源:Asp之家 发布时间:2010-08-15 18:56:00 

标签:Linux,服务器

究竟什么是邮件服务器呢?邮件服务器提供了邮件系统的基本结构,包括邮件传输、邮件分发、邮件存储等功能,以确保邮件能够发送到Internet网络中的任意地方。目前先进的邮件服务器会包括:短信邮件,防毒反垃圾模块,地址簿功能,用户群组功能,代收 POP3等,邮件服务器有两种不同的应用群体:ISP提供商和企事业单位。电子邮件是Internet应用服务之一。下面详细讲一下邮件系统具体的一些技术要点。
  MUA( 客户端程序,如 outlook )
  MTA(mail transfer agent, 邮件传输代理 )
  MDA(mail delivery agent, 邮件投递代理 )
  MRA(mail retrieval agent, 邮件获取代理 )
  真实邮件发送流程模拟
  假设 Alex 使用的信箱是 alex@gmail.com,则当 Alex 要寄信给 john@yahoo.com 时,会经过下列步骤:
  · 首先 Alex 从个人计算机中写好一封信,送到他所属的 gmail.com 的主机中。
  · gmail.com 会先将信件存在自己的机器上的暂存区。
  · gmail.com 会检查信件目的地,并查找 yahoo.com 的 IP 地址。
  · 接着经由因特网将信件送到 yahoo.com 的主机。
  · yahoo.com 的主机收到信后,发现是给自己机器中的使用者,所以将信件存放到使用者的新件匣中。
  · 当 John 有空时,从家里打开计算机,并主动去 yahoo.com 检查是否有新的信件,当发现有新的信,则下载到自己的计算机中。  
  从寄信到收信的流程中,每一个网络上的组件都扮演着不同的角色
  · Mail User Agent (MUA):邮件使用者代理人,这是使用者用来写信、收信的程序。例如,我们常用的 Outlook Exporess、Thunderbird 等。它的作用在于提供使用者一个好用的收发信件接口,并将信传到自己的邮件服务器。
  · Mail Delivery Agent (MDA):邮件递送代理人,负责将要给本地使用者的邮件分配到使用者的信箱中。在 UNIX 中,MDA 通常是 mail 这支程序。
  · Mail Transfer Agent (MTA):邮件转送代理人,是一个负责转送信件的服务器。UNIX 中使用的 Sendmail、Postfix 就是 MTA 软件。它的作用在于收到 MTU 寄来的信后,根据信件地址,将信件转送到目的地。在目的地中,也有另一台 MTA 会负责接收信件。有时候信件并不会一次就从使用者的计算机传送到目的地的主机,而是会经由许多 MTA 转送到目的地的主机。这种 MTA 接收非自己的信件,并转送到别台 MTA 的动作就叫作「Relay」。
  当我们在寄信时,所使用的是 SMTP (Simple Mail Transfer Protocol) 通讯协议,在一台邮件服务器上,必须要先安装邮件服器软件,以接收 SMTP 协议所寄来的信件。MTA 和 MTA 之间传送信件时也是使用 SMTP 协定。而收信时,使用的是 POP3 (Post Office Protocol) 或是 IMAP (Internet Message Access Protocol) 协定。
  什么是POP
  POP的全称是 Post Office Protocol,即邮局 协议 ,用于电子邮件的接收,它使用TCP的110端口。现在常用的是第三版 ,所以简称为 POP3。POP3仍采用Client/Server工作模式,Client被称为客户端,一般我们日常使用电脑都是作为客户端,而Server(服务器)则是 网管人员进行管理的。举个形象的例子,Server(服务器)是许多小信箱的集合,就像我们所居住楼房的信箱结构,而客户端就好比是一个人拿着钥匙去信箱开锁取信一样的道理。
  POP工作原理简介
  下面就让我们一起来看看电子邮件软件收取电子邮件的过程,一般我们在电子邮件软件的账号属性上设置一个 POP服务器的URL(比如pop. 21cn .com),以及邮箱的账号和密码。这个在收信过程中都是用得到的。当我们按下电子邮件软件中的收取键后,电子邮件软件首先会调用DNS协议对POP服务器进行解析IP地址,当IP地址被解析出来后,邮件程序便开始使用TCP协议连接 邮件服务器 的110 端口,因为POP服务器是比较忙的,所以在这个过程中我们相对要等比较长的时间。当邮件程序成功地连上POP服务器后,其先会使用USER命令将邮箱的账号传给POP服务器,然后再使用PASS命令将邮箱的账号传给服务器,当完成这一认证过程后,邮件程序使用STAT命令请求服务器返回邮箱的统计资料,比如邮件总数和邮件大小等,然后LIST便会列出服务器里邮件数量。然后邮件程序就会使用RETR命令接收邮件,接收一封后便使用DELE命令将邮件服务器中的邮件置为删除状态。当使用QUIT时,邮件服务器便会将置为删除标志的邮件给删了。通俗地讲,邮件程序从服务器接收邮件,其实就是一个对话过程, POP协议就是用于电子邮件的一门语言。
  命令行pop邮件
  telnet pop. 21cn .com 110
  +OK Hermes POP service () is ready.
  user mr22
  +OK
  pass svtest
  +OK mr22@21cn.com has 42 messages (3846240 octets)
  stats
  +OK 42 3846240
  list
  +OK 42 3846240
  1 637170
  2 7047
  3 1444
  4 10938
  5 3573
  R etr 6

SMTP协议原理
  SMTP-简单邮件传输协议(Simple Mail Transfer Protocol),是定义邮件传输的协议,它是基于TCP服务的应用层协议 。  
  命令行发邮件
  ehlo xxxx
  250-21cn.com, helo (DELAYED)
  250-EXPN
  250-HELP
  250-8BITMIME
  250-AUTH=LOGIN PLAIN
  250-AUTH LOGIN PLAIN
  250 XTMD
  auth login  
  什么是域名? 域名由什么构成?
  域名是internet上用来寻找网站所用的名字,是internet上的重要标识,相当于主机的门牌号码。每一台主机都对应一个IP地址,每一个IP地址由一连串的数字组成,如101.25.11.34。人们为了方便记忆就用域名来代替这些数字来寻找主机,如mydomain.com。每一个域名与IP地址是一一对应的,人们输入域名,再由域名服务器(DNS)解析成IP地址,从而找到相应的网站。每一个网址和EMAIL都要用到域名。在英文国际域名中,域名可以英文字母和阿拉伯数字以及横杠"-"组成,最长可达67个字符(包括后缀),并且字母的大小写没有区别,每个层次最长不能超过22个字母。在国内域名中, * 域名长度不得超过20个字。
  什么是DNS?
  域名管理系统DNS(Domain Name System)是域名解析服务器的意思.它在互联网的作用是:把域名转换成为网络可以识别的ip地址.比如:我们上网时输入的www.163.com会自动转换成为202.108.42.72
  什么是A记录?
  A (Address)记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置您域名的二级域名。
  什么是NS记录?  
  NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。  
  什么是别名记录(CNAME)?
  也被称为规范名字。这种记录允许您将多个名字映射到同一台计算机。通常用于同时提供WWW和MAIL服务的计算机。例如,有一台计算机名为 “host.mydomain.com”(A记录)。它同时提供WWW和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个别名 (CNAME):WWW和MAIL。这两个别名的全称就是“www.mydomain.com”和“mail.mydomain.com”。实际上他们都指向“host.mydomain.com”。
  什么是泛域名解析?  
  泛域名解析定义为:客户的域名a.com,之下所设的*.a.com全部解析到同一个IP地址上去。比如客户设b.a.com就会自已自动解析到与a.com同一个IP地址上去。
  什么是MX记录?  
  MX(Mail Exchanger)记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。例如,当 Internet上的某用户要发一封信给user@mydomain.com时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX 记录,如果MX记录存在,用户计算机就将邮件发送到MX记录所指定的邮件服务器上。
  检查MX记录是否存在的方法
  进行DNS查询的一个非常有用的工具是nslookup,可以使用它来查询DNS中的各种数据。可以在Windows的命令行下直接运行nslookup进入一个交互模式,在这里能查询各种类型的DNS数据。
  DNS的名字解析数据可以有各种不同的类型,有设置这个zone的参数的SOA类型数据,有设置名字对应的IP地址的A类型数据,有设置邮件交换的MX类型数据。这些不同类型的数据均可以通过nslookup的交互模式来查询,在查询过程中可以使用set type命令设置相应的查询类型。如:C:\>nslookupDefault Server: [202.106.184.166]Address: 202.106.184.166
  > set type=mx
  > sina.com.cnDefault Server: [202.106.184.166]Address: 202.106.184.166
  Non-authoritative answer:
  sina.com.cn MX preference = 10, mail exchanger = sinamx.sina.com.cn
  sina.com.cn nameserver = ns1.sina.com.cn
  sina.com.cn nameserver = ns3.sina.com.cnsinamx.sina.com.cn internet address = 202.106.187.179sinamx.sina.com.cn internet address = 202.106.182.230ns1.sina.com.cn internet address = 202.106.184.166ns3.sina.com.cn internet address = 202.108.44.55
  如果所要查的某域名的MX记录不存在,则出现与以下类似的提示: C:\>nslookup> set type=mx> amaxit.com.cnDefault Server: [202.106.184.166]Address: 202.106.184.166
  *** 202.106.184.166 can’t find amaxit.com.cn: Non-existent domain
  命令确认邮件是否接收到。如果SMTP接收者接收,则返回OK应答;如果不能接收到,则发出拒绝接收应答(但不中止整个邮件操作),双方将如此重复多次。当接收者收到全部邮件后会接收到特别的序列,如果接收者成功处理了邮件,则返回OK应答。SMTP提供传送邮件的机制,如果接收方与发送方连接在同一个传送服务下时,邮件可以直接由发送方主机传送到接收方主机;或者,当两者不在同一个传送服务下时,通过中继SMTP服务器传送。为了能够对SMTP服务器提供中继能力,它必须拥有最终目的主机地址和邮箱名称。  MAIL命令参数是回复路径,它指定邮件从何处来;而RCPT命令的参数是转发路径的,它指定邮件向何处去。向前路径是源路径,而回复路径是返回路径(它用于发生错误时返回邮件)。  当同一个消息要发往不同的接收者时,SMTP遇到了向不同接收者发送同一份数据的复制品的问题,邮件命令和应答有一个比较奇怪的语法,应答也有一个数字代码。在下面,例子中可以看到哪些使用实际的命令和应答。完整的命令和应答在第四节。  命令与应答对大小写不敏感,也就是说,命令和应答可以是大写,小写或两者的混合,但这一点对用户邮件名称却不一定是对的,因为有的主机对用户名大小写是敏感的。这样SMTP实现中。
 

0
投稿

猜你喜欢

  • 网站终于做好了,接下来要做的就要把网站发布出去。使用尽可能多的方法将网站推广出去,最大限度的让更多的人知道你网站,来获取更多流量才是关键。但
  • 北京时间10月9日消息,据国外媒体报道,YouTube CEO查德·赫尔利(Chad Hurley)今天表示,该网站每
  • 裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊字符设备。本文收集裸设备和Oracle问答20例。
  • 自己也是菜鸟一个(文中若有错误之处欢迎各位大虾们指出)但还是希望能将我自己的一些作站经历写出来,为广大菜鸟朋友们做一些参考。试验目的:在只有
  • 做流量,效果最好的还是靠搜索引擎,那么怎样能够使网站在搜索引擎的排名上升?怎样能让搜索引擎快速的抓取网站的页面?要做到上面这些,我们有必要了
  • 有时在我们刺探竞争对手的情报时,会发现:此站既没有客观的外链,内容又谈不上多好。可为什么就是排名比我好呢?我曾经遇到过这样的情况,起初也未太
  • 论坛,又名网络论坛BBS,是互联网上一种电子信息服务系统。它提供一块公共电子白板,让每个用户都可以在上面发布信息或提出看法等。其交互性较强,
  • 你完全不必耐心看完所有内容:简要安装说明如下安装http://sourceforge.net/projects/awstats/ 下载安装包
  • 3、与MySQL结合的配置及数据表结构注意:配置mysql相关部分要写127.0.0.1而不要写localhost,如果使用localhos
  • 在垃圾评论泛滥的年代,无数站长都在寻找对策。虽然有许多很好的垃圾评论过滤插件,但还是无法完全避免垃圾评论,尽管WordPress中评论作者的
  • 从昨天22:00开始,在落伍者就不断有站长就在说自己的站点解封了,如果仅仅是几个站长在说的话我们会当作是正常范围内的小调整,但是越来越多的站
  • 由于刚进了高中,高一的学业还是比较繁忙的,已经近乎几个月没有来Chinaz侃侃了,今天由于我身体的不适,没有去学校上课,于是闲着闲着便来到了
  • 对于很多WordPress新手来说,不懂任何代码的情况下去瞎改WordPress主题,得出的效果往往会出现语法错误之类的东西或效果不尽人意。
  • 粗略算下来,阿里妈妈离开张已经有一段时间了,跟一开始的高调宣传有所不同的是,阿里妈妈在做完了前期的网站积累之后,开始了自身消化的过程,炒作的
  • 1、 选择有效的关键字: 关键字是描述你的产品及服务的词语,选择适当的关键字是建立一个高排名网站的第一步。选择关键字的一个重要的技巧是选取那
  • IE6是无数网页设计者和开发人员的噩梦,如果要兼容IE6,都必须写很多的代码去照顾它,NeoEase的IE6必死这篇文章很清楚地讲到了为什么
  • 写在前面:本文为落叶原创帝国CMS、PHPCMS及DEDECMS对比系列文章之自定义模型功能对比分析,其它不同切入点的CMS对比分析文章将陆
  • 最近几年来,基于Web的免费Email系统非常流行,当前,几个著名的免费Email网站基本上已经成为大多数人的选择,建立单纯提供免费Emai
  • 1、做友情链接要有的放矢。不能够乱撒网!做友情链接就要做和我们自己网站内容相关的网站的链接!这就和国家确定自己的外交政策一样,和自己国家的政
  • 网站寄宿的空间来说,的确会有出现宕机的现象,或者是出现VPS服务器所在的区块因受到DOS攻击而不能访问的现象。作为站长,如果不能及时发现,那
手机版 网站运营 asp之家 www.aspxhome.com