首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

反垃圾邮件

技术综述 | 客户端 | 服务器端 |
首页 > 反垃圾邮件 > 服务器端反垃圾邮件技术 > 《梭子鱼用户大学》系列课程:第一章 > 正文

《梭子鱼用户大学》系列课程:第一章

出处:梭子鱼 作者:梭子鱼 时间:2007-12-20 1:05:00
   众所周知,目前的电子邮件(email)使用的是smtp协议和pop3协议。pop3主要用于客户端从服务器端收取及删除邮件操作,而我们管理员们接触的最多的邮件服务器的传输和接收发送中,最重要的就是smtp协议了。
    smtp(simple mail transfer protocol)协议是工作在两种情况下:一是电子邮件从客户机传输到服务器;二是从某一个邮件服务器传输到另一个邮件服务器。 smtp是个请求/响应协议,命令和响应都是基于ascii文本的,并以cr和lf符结束。响应包括一个表示返回状态的三位数字代码(如返回250表示ok成功收到命令或数据)。smtp通常在tcp协议25号端口监听连接请求。文件rfc821规定了该协议的所有细节。

smtp协议的基本结构

smtp (simple mail transfer protocol)协议是为了保证电子邮件的可靠和高效传送。tcp/ip 协议的应用层中包含有smtp协议,但事实上它与传输系统和机制无关,仅要求一个可靠的数据流通道。它可以工作在tcp上,也可以工作在ncp, nits 等协议上。在tcp上,它使用端口25进行传输。smtp的一个重要特点是可以在可交互的通信系统中转发邮件。

1. smtp的模型
smtp提供了一种邮件传输的机制,当收件方和发件方都在一个网络上时,可以把邮件直传给对方;当双方不在同一个网络上时,需要通过一个或几个中间服务器转发。smtp首先由发件方提出申请,要求与接收方smtp建立双向的通信渠道,收件方可以是最终收件人也可以是中间转发的服务器。收件方服务器确认可以建立连接后,双发就可以开始通信。下面是smtp的模型示意图。

发件方smtp向收件方发处mail命令,告知发件方的身份;如果收件方接受,就会回答ok。发件方再发出rcpt命令,告知收件人的身份,收件方smtp确认是否接收或转发,如果同意就回答ok;接下来就可以进行数据传输了。通信过程中,发件方smtp与收件方smtp 采用对话式的交互方式,发件方提出要求,收件方进行确认,确认后才进行下一步的动作。整个过程由发件方控制,有时需要确认几回才可以。

为了保证回复命令的有效,smtp要求发件方必须提供接收方的服务器及邮箱。邮件的命令和答复有严格的语法定义,并且回复具有相应的数字代码。所有的命令由ascii码组成。命令代码是大小写无关的,如mail和 mail ﹑mail是等效的。

2. smtp的基本命令
smtp定义了14个命令,它们是:

helo     mail from:     rcpt to:     data     rset     send from:     soml from:     saml from:     vrfy     expn     help [ ]     noop     quit     turn

其中使得smtp工作的基本的命令有7个,分别为:helo﹑mail﹑rcpt﹑data﹑rest﹑noop和quit.下面分别介绍如下。

helo--发件方问候收件方,后面是发件人的服务器地址或标识。收件方回答ok时标识自己的身份。问候和确认过程表明两台机器可以进行通信,同时状态参量被复位,缓冲区被清空。

mail--这个命令用来开始传送邮件,它的后面跟随发件方邮件地址(返回邮件地址)。它也用来当邮件无法送达时,发送失败通知。为保证邮件的成功发送,发件方的地址应是被对方或中间转发方同意接受的。这个命令会清空有关的缓冲区,为新的邮件做准备。

rcpt --这个命令告诉收件方收件人的邮箱。当有多个收件人时,需要多次使用该命令,每次只能指明一个人。如果接收方服务器不同意转发这个地址的邮件,它必须报550错误代码通知发件方。如果服务器同意转发,它要更改邮件发送路径,把最开始的目的地(该服务器)换成下一个服务器。

data--收件方把该命令之后的数据作为发送的数据。数据被加入数据缓冲区中,以单独一行是"."的行结束数据。结束行对于接收方同时意味立即开始缓冲区内的数据传送,传送结束后清空缓冲区。如果传送接受,接收方回复ok。

rest--这个命令用来通知收件方复位,所有已存入缓冲区的收件人数据,发件人数据和待传送的数据都必须清除,接收放必须回答ok.

noop--这个命令不影响任何参数,只是要求接收放回答ok, 不会影响缓冲区的数据。

quit--smtp要求接收放必须回答ok,然后中断传输;在收到这个命令并回答ok前,收件方不得中断连接,即使传输出现错误。发件方在发出这个命令并收到ok答复前,也不得中断连接。


下面是smtp答复中用到的代码和含义:

500 syntax error, command unrecognized
[this may include errors such as command line too long]
501 syntax error in parameters or arguments
502 command not implemented
503 bad sequence of commands
504 command parameter not implemented
211 system status, or system help reply
214 help message
[information on how to use the receiver or the meaning of a
particular non-standard command; this reply is useful only to the human user]
220 service ready
221 service closing transmission channel
421 service not available, closing transmission channel
[this may be a reply to any command if the service knows it must shut down]
250 requested mail action okay, completed
251 user not local; will forward to
450 requested mail action not taken: mailbox unavailable
[e.g., mailbox busy]
550 requested action not taken: mailbox unavailable
[e.g., mailbox not found, no access]
451 requested action aborted: error in processing
551 user not local; please try
452 requested action not taken: insufficient system storage
552 requested mail action aborted: exceeded storage allocation
553 requested action not taken: mailbox name not allowed
[e.g., mailbox syntax incorrect]
354 start mail input; end with .
554 transaction failed

最后,让我们看一个rfc821中给出的例子。这封信是smith在主机alpha.arpa 发给主机beta.arpa上的
jones,green和 brown.并且假定两台主机在同一个网络上。

s: mail from:
r: 250 ok
s: rcpt to:
r: 250 ok
s: rcpt to:
r: 550 no such user here
s: rcpt to:
r: 250 ok
s: data
r: 354 start mail input; end with .
s: blah blah blah...
s: ...etc. etc. etc.
s: .
r: 250 ok
邮件最后被对方接受。 


电子邮件的工作原理


电子邮件与普通邮件有类似的地方,发信者注明收件人的姓名与地址(即邮件地址),发送方服务器把邮件传到收件方服务器,收件方服务器再把邮件发到收件人的邮箱中。如下图所示:

更进一步的解释涉及到以下几个概念:

mua -- mail user agent, 邮件用户代理,帮助用户读写邮件。比如我们常用的outlook,foxmail程序就是;

mta -- mail transport agent, 邮件传输代理,负责把邮件由一个服务器传到另一个服务,比如你公司的邮件服务器,你使用sina信箱来发邮件拿sina的邮件服务器就是;

器或邮件投递代理;

mda -- mail delivery agent, 邮件投递代理,把邮件放到用户的邮箱里,比如你发给对方邮件地址,那对方邮件地址对应的邮件服务器就是,由此可见你的邮件服务器在你接收邮件的时候就是mda,在你发送邮件的时候它就是mta。

整个邮件传输过程如下:

目前使用的smtp 协议是存储转发协议,意味着它允许邮件通过一系列的服务器发送到最终目的地。服务器在一个队列中存储到达的邮件,等待发送到下一个目的地。下一个目的地可以是本地用户,或者是另一个邮件服务器,如下图所示。

如果下游的服务器暂时不可用,mta 就暂时在队列中保存信件,并在以后尝试发送。


电子邮件的信头结构及分析


1 .邮件的结构
在最高层,邮件的结构是非常简单的,用户从终端机上看到的邮件格式一般为:

1. from:
user1@domain1.com

2. to:
user2@domain2.com

3. subject: explaination of mail format

4. date: thu, 1 apr 1999. 10:00:00 gmt

5.
 
6. hi, jack

7. this mail is to explain you the mail format

8. - - - -

9. thanks

10. bob

其中, 1~~4 行称作信件信头(message header) 6~~10行描述信件要表达的内容,称为信体 (message body)。第5行是空行,根据rfc822的要求,信头和信体之间必须加入一空行。[i]信头通常包含字段from, to, subject 和date,有的邮件还包含cc,bcc等字段。

2. 邮件的信头

事实上,邮件在传输过程中,服务器要把它打包成一个数据对象,包括上面的信件和一个信封。邮件的投递是依靠信封上的地址或信封信头(envelop address 或envelop header),而不是上面讲的信件上的地址。

从表面上看,一封邮件是从发件人的机器直接传送到收件人的机器,但通常这并不正确,一封邮件发送和接受过程至少要经过四台计算机。参考下图所示。用户通常在自己的电脑前编写阅读邮件,我们把它叫做客户端 (client 1~~4 )。大部分组织里,都是用一台专门的机器处理邮件,称作邮件服务器 (smtp1, smtp2). 如果用户是从家里拨号上网,那末邮件服务器是isp 提供的。

当某个用户在自己的电脑 client1 前编写完一个邮件,然后把它发送到他的isp 的邮件服务器smtp1。此时她的机器已经完成了所有的工作,但邮件服务器smtp1还必须想法把邮件发送到目的地。smtp1 通过阅读信头或信封上的地址,找到收件认得邮件服务器smtp2, 然后与该服务器建立连接,把邮件发到收件人的服务器上,等待收件人来取阅。

下面我们将通过一个例子说明整个邮件传送过程及邮件的信头变化。假设发件人的名字叫 sender, email地址是
sender@domain1.com使用的电脑名字叫 client1, ip 地址是 [111.11.1.1] (假设的地址)。 收件人的名字叫 receipt, email 地址是 receipt@domain2.com, 使用的电脑的名字叫 client2,ip 地址是 [222.22.2.2] (假设的地址)。当邮件编辑完传送给其邮件服务器mail.domain1.com 时,邮件的信头格式为:

from:
sender@domain1.com

to:
receipt@domain2.com

date: tue, mar 18 1998 15:36:24 gmt

x-mailer:sendmail 8.9.0

subject: greetings

当邮件服务器 mail.domain1.com 把邮件传到接收方的服务器 mail.domain2.com 时,接受方服务器会在信头上记录下有关的计算机信息,邮件的信头变成:

received: from client1.domain1.com (client1.domain1.com [111.11.1.1]) by mail.domain1.com (8.8.5) id 004a21; tue, mar 18 1998 15:3 7:24 gmt

from:
sender@domain1.com

to:
receipt@domain2.com

date: tue, mar 18 1998 15:36:24 gmt

message-id:

x-mailer:sendmail 8.9.0

subject: greetings

当收件人服务器mail.domain2.com 把邮件接收并存初下来,等待收件人来阅读时,邮件的信头将会再加入一条记录:

received: from mail.domain1.com (mail.domain1.com [111.11.1.0] ) by mail.domain2.com (8.8.5/8.7.2) with esmtp id laa20869; tue, mar 18 1998 15:39:44 gmt

received: from client1.domain1.com (client1.domain1.com [111.11.1.1]) by mail.domain1.com (8.8.5) id 004a21; tue, mar 18 1998 15:37:24 gmt

from:
sender@domain1.com

to:
receipt@domain2.com

date: tue, mar 18 1998 15:36:24 gmt

message-id:

x-mailer:sendmail 8.9.0

subject: greetings

上面整个记录就将是收件人看到的完整的邮件信头。让我们逐行看一下信头中各行的含义:

received: from mail.domain1.com (mail.domain1.com [111.11.1.0] ) by mail.domain2.com (8.8.5/8.7.2) with esmtp id laa20869; tue, mar 18 1998 15:39:44 gmt

这封信是从一台自称为 mail.domain1.com 的机器上接收的;这台机器的ip 地址是[111.11.1.0],真实名字就是标称名字 mail.domain1.com; 接收方的机器名称是 mail.domain2.com, 运行的邮件服务器是 sendmail, 版本(8.8.5/8.7.2) 。接收方机器给邮件的编号是esmtp id laa20869, 接收到的时间是 tue, mar 18 1998 15:39:44 gmt。

received: from client1.domain1.com (client1.domain1.com [111.11.1.1]) by mail.domain1.com (8.8.5) id 004a21; tue, mar 18 1998 15:37:24 gmt

这条记录表明信件是由机器client1.domain1.com ( ip 地址是 [111.11.1.1]) 在tue, mar 18 1998 15:37:24 gmt交给mail.domain1.com,并赋给编号id 004a21。

from,to ,date和subject 都易于理解,分别指明发件人,收件人,信件编辑日期及信件主题。

message-id:

这是由发件方邮件服务器赋给这封邮件的编号。与其它编号不同,这个编号自始至终跟随邮件。

邮件编码:
 
一、为什么要编码?
在internet里,e-mail的传送是只能传送us-ascii格式的文字讯息,ascii是7位的,而非ascii格式的档案,在传送过程中若不先经过编码,先编成7位再传送,则在传送过程中会因为这7位元的限制而遭到拆解,拆解之后只会让收信方看到一堆乱七八糟不知所云的东西。经过编码后的资料,在传送过程中才可顺利传送,不会有“被截掉一个bit”的危险,但是收信方必须具有解码程序,将这份经过编码的东西还原,才能解读“天书”,看到寄信人要传送的真实信息。

二、mime/base64编码:
base64编码是用的最多的邮件编码格式,具体如下:
base64和quoted-printable都属于mime(多部分( multi-part)、多媒体电子邮件和 www 超文本的一种编码标准,用于传送诸如图形、声音和传真等非文本数据)。mime定义在rfc1341中。
    base64是现今在互联网上应用最多的一种编码,几乎所有的电子邮件软件头把它作为默认的二进制编码,它已经成了现今电子邮件编码的代名词。
    下面是base64的一个例子,从例子中,您也可以看到base64与电子邮件的的紧密联系:
content-type: text/plain;charset="cn-gb"
content-transfer-encoding: base64
 
cqkjicagikg2wtlc68vjt6i088irobcncgnx99xfom1vz2fvo6yw19tgu8a619w+o6h0zwxuzxq6
ly8ymdiumteyljiwljezmjoym6ops8nusagjdqojicagicagxkq438jtvp65pnf3ytkjumh0dha6
ly9tb2dhby5izw50axvulm5lda0kcqkjrw1hawx0bzptb2dhb0aznzeubmv0dqojicagkioqkioq
kioqkioqkioqkioqkioqkioqkioqkioqkioqkioqkioqkioqkioqicagicagicagicagicagdqoj
icagkicz/chlvmfs5mqyw7s2vlk7tpjx36oss/3by9fjvkpksso0tryyu8h0z8iqdqojicagkioq
kioqkioqkioqkioqkioqkioqkioqkioqkioqkioqkioqkioqkioqkioq
 
    base64的算法很简单:它将字符流顺序放入一个24位的缓冲区,缺字符的地方补零。然后将缓冲区截断成为4个部分,高位在先,每个部分6位(6位二进制数可表示0~63),用下面的64个字符重新表示(0就是a,1就是b...):“abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789+/”。如果输入只有一个或两个字节,那么输出将用等号“=”补足。这可以隔断附加的信息造成编码的混乱。它每行一般为76个字符。
 
三、其他编码方式介绍:
1、qp编码:
quoted-printable简称qp, 一般用在email系统中。它通常用于少量文本方式的8位字符的编码,例如foxmail就用它做对主题和信体的编码。这种编码的应该是很好辨认的:它有大量的“=”。下面是它的一个例子:
 
mime-version: 1.0
content-transfer-encoding: quoted-printable
 
       =a1=b6=c2=d2=c2=eb=cb=e3=b7=a8=b4=f3=c8=ab=a1=b7
 =d7=f7=d5=df:xxxx=a3=ac=b0=d7=d4=c6=bb=c6=ba=d7=d5=be=a3=a8telnet://61.129.63.131:23=a3=a9
 
=b3=c9=d4=b1=a1=a3
       =c4=aa=b8=df=c8=ed=bc=fe=b9=a4=d7=f7=ca=d2=a3=bahttp://docs.xuehu.com
   emailto:yin_jie@163.net
    *********************************************              
    * =b3=fd=c1=cb=bc=c7=d2=e4=ca=b2=c3=b4=b6=bc=b2=bb=b4=f8=d7=df=a3=ac=b3=fd=c1=cb=d7=e3=bc=a3=ca
 
=b2=c3=b4=b6=bc=b2=bb=c1=f4=cf=c2*
    *********************************************
 
    qp的算法可以说是最简单的也可以说是编码效率最低的(它的编码率是1:3),它是专门为了处理8位字符制定的。它的算法是:读一个字符,如果ascii码大于127,即字符的第8位是1的话,进行编码,否则忽略(有时也对7位字符编码)。
 
2.  unicode
    unicode应用中最典型的例子是:ie4以上版本对html的编码。它可以说是未来windows下唯一的字符集。但它还很不完善,而且win95和win98对它的支持还很有限,甚至它还没有一套完整的标准。不过,微软最新推出的office2000和马上就要推出的windows2000将全面支持unicode。unicode取代其他编码将会是必然的趋势。不过,在近一两年unicode并不会占主导地位,就是在占主导地位后,因为操作系统的差异,其他编码也不会立即消亡。它的中文资料可以在office2000和windows2000所带的文档中找到,它的官方网站是:http://www.unicode.org/
 
3. binhex
    binhex 编码是 macintosh 计算机(也就是俗称的“苹果电脑”)上用可打印字符表示/传输二进制文件的一种编码方法。它的主要用途是在电子邮件程序中attach二进制文件。大部分的电子邮件程序不支持这种格式(eudora支持),但用winzip可以进行解码。它的资料请查阅macintosh计算机带的相关文档。
 
4.uuencode
    uuencode 是将二进制文件以文本文件方式进行编码表示、以利于基于文本传输环境中进行二进制文件的传输/交换的编码方法之一, 在邮件系统/二进制新闻组中使用频率比较高,经常用于 attach 二进制文件。
    这种编码的特征是:每一行开头用“m”标志
uuencode的算法很简单,编码时它将3个字符顺序放入一个 24 位的缓冲区,缺字符的地方补零,然后将缓冲区截断成为 4 个部分,高位在先,每个部分 6 位,用下面的64个字符重新表示:
"`!"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_"
在文件的开头有“begin xxx 被编码的文件名”,在文件的结尾有“end”,用来标志uue文件的开始和结束。编码时,每次读取源文件的45个字符,不足45个的用“null”补足为3的整数倍(如:23补为24),然后输入目标文件一个ascii为:“32+实际读取的字符数”的字符作为每一行的开始。读取的字符编码后输入目标文件,再输入一个“换行符”。如果源文件被编码完了,那么输入“`(ascii为96)”和一个“换行符”表示编码结束。
    解码时它将4个字符分别转换为4个6位字符后,截取有用的后六位放入一个 24 位的缓冲区,即得3个二进制代码。
 
四、其他:
1、由于邮件编/解码要消耗大量的cup资源,所以邮件中不适合附加太大的附件程序,否则在阅读邮件和发送邮件时会导致资源消耗太多而死机。
2、由于邮件编码可能会增加容量,加上邮件头,所以实际邮件的大小比附加的附件加上邮件文本内容的大小和要大的多。
 
 
 
发邮件验证使用的esmtp
 
 
esmtp,英文全称是“extended smtp”,顾名思义,扩展smtp就是对标准smtp协议进行的扩展。它与smtp服务的区别仅仅是,使用smtp发信不需要验证用户帐户,而用esmtp发信时,服务器会要求用户提供用户名和密码以便验证身份。验证之后的邮件发送过程与smtp方式没有两样。
 
esmtp协议分析
 
  为了实现身份认证功能,目前esmtp协议中增加了一部分内容,这就是身份认证。下面我们看看这段认证过程,以网易的邮箱为例(其中c表示客户端,s表示邮件服务器):
 
  (1)c: auth login
 
  (2)s: 334 dxnlcm5hbwu6
 
  (3)c: d3lxx2pux3nkx2nu
 
  (4)s: 334 ugfzc3dvcmq6
 
  (5)c: 密码略去
 
  (6)s: 235 authentication successful
 
  详细说明:
 
  (1)客户端向服务器发送认证指令。在这之前一般要使用ehlo命令,宣告开始进行esmtp验证。
 
  (2)服务器返回base64编码串,334意味成功。编码字符串解码后为"username:",说明要求客户端发送用户名。
 
  (3)客户端发送base64编码的用户名串,此处为"wyq_jn_sd_cn"。
 
  (4)服务器返回base64编码串,334意味成功。编码字符串解码后为"password:",说明要求客户端发送用户口令。
 
  (5)客户端发送base64编码的口令串,此处略去。
 
  (6)服务器返回普通字符串,235意味成功,表示认证成功可以发送邮件了。
 
 
 
邮件的dns mx记录
 
 
mx记录来实现邮件路由,它规定了域名的邮件服务器要么处理,要么向前转发有关该域名的邮件.处理邮件是指将其传送给其地址所关联的个人,向前转发邮件是指通过smtp协议将其传送给其最终目的地.为了防止邮递路由,mx记录除了邮件交换器的域名外还有一个特殊参数:优先级值.优先级值是个从0 到65535的无符号整数,它给出邮件交换器的优先级别.

    优先级值自身并不重要,关键在于它同其它邮件交换器的优先级值的相对大小,优先级值相对越小,优先级越高.邮件总是首先试图传递给优先级值相对最小的邮件交换器.失败后才试图传递给优先级值稍大的邮件交换器.邮件总是试遍了同一优先级的邮件交换器,失败后才试图传递给优先级稍低的邮件交换器.

注意你列为邮件交换器的主机必须拥有地址记录.


下面列出几个我用nslookup程序查询的记录:
lee@work:~$ nslookup
> set type=mx
> hnby.com.cn
server:         10.10.16.60
address:        10.10.16.60#53

non-authoritative answer:
*** can't find hnby.com.cn: no answer    //没有邮件交换

authoritative answers can be found from:
hnby.com.cn
        origin = dns.hnby.com.cn
        mail addr = root.hnby.com.cn
        serial = 2002120101
        refresh = 900
        retry = 600
        expire = 86400
        minimum = 3600
> set type=mx
> henan.gov.cn
server:         10.10.16.60
address:        10.10.16.60#53

non-authoritative answer:
*** can't find henan.gov.cn: no answer

authoritative answers can be found from:
henan.gov.cn
        origin = ns.hazzptt.net.cn
        mail addr = root.ns.hazzptt.net.cn
        serial = 99968011
        refresh = 28899
        retry = 7200
        expire = 604800
        minimum = 86400
> set type=mx
> yahoo.com.cn
server:         10.10.16.60
address:        10.10.16.60#53

non-authoritative answer:
yahoo.com.cn    mail exchanger = 10 mta-v1.mail.vip.cnb.yahoo.com. //雅虎中国的邮件交换服务

authoritative answers can be found from:
yahoo.com.cn    nameserver = ns8.yahoo.com.
yahoo.com.cn    nameserver = ns9.yahoo.com.
yahoo.com.cn    nameserver = ns1.yahoo.com.
yahoo.com.cn    nameserver = ns3.yahoo.com.
yahoo.com.cn    nameserver = ns6.yahoo.com.
ns1.yahoo.com   internet address = 66.218.71.63
ns3.yahoo.com   internet address = 217.12.4.104
ns6.yahoo.com   internet address = 202.43.223.170
> set type=mx
> yahoo.com
server:         10.10.16.60
address:        10.10.16.60#53

non-authoritative answer:
yahoo.com       mail exchanger = 1 mx3.mail.yahoo.com.
yahoo.com       mail exchanger = 1 mx1.mail.yahoo.com.
yahoo.com       mail exchanger = 1 mx2.mail.yahoo.com.

authoritative answers can be found from:
yahoo.com       nameserver = ns1.yahoo.com.
yahoo.com       nameserver = ns2.yahoo.com.
yahoo.com       nameserver = ns3.yahoo.com.
yahoo.com       nameserver = ns4.yahoo.com.
yahoo.com       nameserver = ns5.yahoo.com.
mx3.mail.yahoo.com      internet address = 4.79.181.12
mx3.mail.yahoo.com      internet address = 67.28.113.10
mx3.mail.yahoo.com      internet address = 4.79.181.168
mx3.mail.yahoo.com      internet address = 4.79.181.134
mx3.mail.yahoo.com      internet address = 67.28.113.74
mx1.mail.yahoo.com      internet address = 67.28.113.71
mx1.mail.yahoo.com      internet address = 67.28.113.73
mx1.mail.yahoo.com      internet address = 67.28.113.19
mx1.mail.yahoo.com      internet address = 4.79.181.14
mx1.mail.yahoo.com      internet address = 4.79.181.15
mx1.mail.yahoo.com      internet address = 4.79.181.168
mx2.mail.yahoo.com      internet address = 4.79.181.135
mx2.mail.yahoo.com      internet address = 4.79.181.136
mx2.mail.yahoo.com      internet address = 4.79.181.168
mx2.mail.yahoo.com      internet address = 67.28.113.70
mx2.mail.yahoo.com      internet address = 67.28.113.72
ns1.yahoo.com   internet address = 66.218.71.63
ns2.yahoo.com   internet address = 66.163.169.170
ns3.yahoo.com   internet address = 217.12.4.104
ns4.yahoo.com   internet address = 68.142.196.63
> set type=mx
> dahew.com.cn
server:         10.10.16.60
address:        10.10.16.60#53

*** can't find dahew.com.cn: no answer
> set type=mx
> dahew.com
server:         10.10.16.60
address:        10.10.16.60#53

non-authoritative answer:
dahew.com       mail exchanger = 10 mail1.dahew.com.

authoritative answers can be found from:
dahew.com       nameserver = ns1.dns-diy.com.
dahew.com       nameserver = ns2.dns-diy.com.
mail1.dahew.com internet address = 219.156.123.177
ns1.dns-diy.com internet address = 210.51.187.81
ns1.dns-diy.com internet address = 218.16.225.50
ns1.dns-diy.com internet address = 60.191.252.66
ns2.dns-diy.com internet address = 218.107.207.123
ns2.dns-diy.com internet address = 218.85.134.143
ns2.dns-diy.com internet address = 64.84.29.59

 
注意:目前有不少的管理员不注意设置标准的mx记录,根据rfc 1035规定,mx只可以指向a记录,有的管理员偷懒,直接就设置成指向一个ip地址,造成本域的邮件接收有问题。如果你的域之前也有这方面的设置错误,请立即更正,将mx记录指定为一条a记录,然后将这条a记录指向你设置的ip地址,这样才能被正常解析接收邮件。
 
 
补充: 关于dns记录的使用注意和通过nslookup进行查询,请查看下面更多的文章了解:
 
 

相关文章 热门文章
  • 《梭子鱼用户大学》系列课程:第三章第七节--梭子鱼外发过滤功能介绍与设置
  • 《梭子鱼用户大学》系列课程:第三章第六节---梭子鱼高端扩展功能的介绍和使用
  • 《梭子鱼用户大学》系列课程:第三章第五节--梭子鱼专家模式及其使用
  • 《梭子鱼用户大学》系列课程:第三章
  • 《梭子鱼用户大学》系列课程:第二章
  • Imail反垃圾邮件技术
  • Qmail反垃圾邮件技术
  • 防范垃圾邮件技术
  • 谢绝第三方邮件转发
  • Postfix反垃圾邮件技术
  • Sendmail反垃圾邮件技术
  • 追踪垃圾邮件来源
  • 邮件过滤技术
  • OPEN RELAY的解决方案
  • 美讯智SMG邮件安全网关使用FAQ
  • 三分钟打造反垃圾邮件服务器
  • 黑名单服务器
  • 自由广告区
     
    最新软件下载
  • SharePoint Server 2010 部署文档
  • Exchange 2010 RTM升级至SP1 教程
  • Exchange 2010 OWA下RBAC实现的组功能...
  • Lync Server 2010 Standard Edition 标..
  • Lync Server 2010 Enterprise Edition...
  • Forefront Endpoint Protection 2010 ...
  • Lync Server 2010 Edge 服务器部署文档
  • 《Exchange 2003专家指南》
  • Mastering Hyper-V Deployment
  • Windows Server 2008 R2 Hyper-V
  • Microsoft Lync Server 2010 Unleashed
  • Windows Server 2008 R2 Unleashed
  • 今日邮件技术文章
  • 腾讯,在创新中演绎互联网“进化论”
  • 华科人 张小龙 (中国第二代程序员 QQ...
  • 微软推出新功能 提高Hotmail密码安全性
  • 快压技巧分享:秒传邮件超大附件
  • 不容忽视的邮件营销数据分析过程中的算..
  • 国内手机邮箱的现状与未来发展——访尚..
  • 易观数据:2011Q2中国手机邮箱市场收入..
  • 穿越时空的爱恋 QQ邮箱音视频及贺卡邮件
  • Hotmail新功能:“我的朋友可能被黑了”
  • 入侵邻居网络发骚扰邮件 美国男子被重..
  • 网易邮箱莫子睿:《非你莫属》招聘多过..
  • 中国电信推广189邮箱绿色账单
  • 最新专题
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • Apache James 专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2010 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号