`
linkyou66
  • 浏览: 227979 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

smtp的基本原理

 
阅读更多
<p><span style="font-size: medium;">转自<a href="http://www.corp-email.com/support/basic/128.html">http://www.corp-email.com/support/basic/128.html</a></span></p>
<p><span style="font-size: medium;">把文章摘抄在这里只是方便自己学习,马上要开展邮件测试了,先把基础打扎实咯.</span></p>
<p><span style="font-size: medium;"></span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;">的基本结构 <br>SMTP (Simple Mail Transfer Protocol)协议是为了保证电子邮件的可靠和高效传送。TCP/IP 协议的应用层中包含有SMTP协议,但事实上它与传输系统和机制无关,仅要求一个可靠的数据流通道。它可以工作在TCP上,也可以工作在NCP, NITS 等协议上。在TCP上,它使用端口25进行传输。</span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;">的一个重要特点是可以在可交互的通信系统中转发邮件。 <br><br>1. </span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;">的模型 <br>SMTP提供了一种邮件传输的机制,当收件方和发件方都在一个网络上时,可以把邮件直传给对方;当双方不在同一个网络上时,需要通过一个或几个中间服务器转发。SMTP首先由发件方提出申请,要求与接收方SMTP建立双向的通信渠道,收件方可以是最终收件人也可以是中间转发的服务器。收件方服务器确认可以建立连接后,双发就可以开始通信。下面是</span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;">的模型示意图。 <br><br></span>
</p>
<table style="width: 400px;" border="0" cellspacing="0" cellpadding="4" align="center"><tbody><tr>
<td><a href="http://www.mailer.com.cn/imagecatalogue/imageview/927/?RefererURL=/article/articleview/1431/1/157/"><span style="font-size: medium;"><img src="support/UploadFiles_6087/200706/20070625144823501.jpg" border="0" alt="" width="400" height="224"><span style="color: #0000ff;"><span style="text-decoration: underline;"> </span></span></span></a></td>
</tr></tbody></table>
<p><br><br><span style="font-size: x-small;"><span style="font-size: medium;">发件方SMTP向收件方发处MAIL命令,告知发件方的身份;如果收件方接受,就会回答OK。发件方再发出RCPT命令,告知收件人的身份,收件方SMTP确认是否接收或转发,如果同意就回答OK;接下来就可以进行数据传输了。通信过程中,发件方SMTP与收件方</span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;"> 采用对话式的交互方式,发件方提出要求,收件方进行确认,确认后才进行下一步的动作。整个过程由发件方控制,有时需要确认几回才可以。 <br><br></span></span></p>
<table style="width: 400px;" border="0" cellspacing="0" cellpadding="4" align="center"><tbody><tr>
<td><a href="http://www.mailer.com.cn/imagecatalogue/imageview/928/?RefererURL=/article/articleview/1431/1/157/"><span style="font-size: medium;"><img src="support/UploadFiles_6087/200706/20070625144824498.jpg" border="0" alt="" width="400" height="332"><span style="color: #0000ff;"><span style="text-decoration: underline;"> </span></span></span></a></td>
</tr></tbody></table>
<p><br><br><span style="font-size: x-small;"><span style="font-size: medium;">为了保证回复命令的有效,</span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;">要求发件方必须提供接收方的服务器及邮箱。邮件的命令和答复有严格的语法定义,并且回复具有相应的数字代码。所有的命令由ASCII码组成。命令代码是大小写无关的,如MAIL和 mail ﹑mAIL是等效的。 <br><br>2. </span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;">的基本命令 <br></span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;">定义了14个命令,它们是: <br><br>HELO <br>MAIL FROM: <br>RCPT TO: <br>DATA <br>RSET <br>SEND FROM: <br>SOML FROM: <br>SAML FROM: <br>VRFY <br>EXPN <br>HELP [ ] <br>NOOP <br>QUIT <br>TURN <br>其中使得</span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;">工作的基本的命令有7个,分别为:HELO﹑MAIL﹑RCPT﹑DATA﹑REST﹑NOOP和QUIT.下面分别介绍如下。 <br><br>HELO--发件方问候收件方,后面是发件人的服务器地址或标识。收件方回答OK时标识自己的身份。问候和确认过程表明两台机器可以进行通信,同时状态参量被复位,缓冲区被清空。 <br><br>MAIL--这个命令用来开始传送邮件,它的后面跟随发件方邮件地址(返回邮件地址)。它也用来当邮件无法送达时,发送失败通知。为保证邮件的成功发送,发件方的地址应是被对方或中间转发方同意接受的。这个命令会清空有关的缓冲区,为新的邮件做准备。 <br><br>RCPT --这个命令告诉收件方收件人的邮箱。当有多个收件人时,需要多次使用该命令,每次只能指明一个人。如果接收方服务器不同意转发这个地址的邮件,它必须报550错误代码通知发件方。如果服务器同意转发,它要更改邮件发送路径,把最开始的目的地(该服务器)换成下一个服务器。 <br><br>DATA--收件方把该命令之后的数据作为发送的数据。数据被加入数据缓冲区中,以单独一行是"."的行结束数据。结束行对于接收方同时意味立即开始缓冲区内的数据传送,传送结束后清空缓冲区。如果传送接受,接收方回复OK。 <br><br>REST--这个命令用来通知收件方复位,所有已存入缓冲区的收件人数据,发件人数据和待传送的数据都必须清除,接收放必须回答OK. <br><br>NOOP--这个命令不影响任何参数,只是要求接收放回答OK, 不会影响缓冲区的数据。 <br><br>QUIT--</span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;">要求接收放必须回答OK,然后中断传输;在收到这个命令并回答OK前,收件方不得中断连接,即使传输出现错误。发件方在发出这个命令并收到OK答复前,也不得中断连接。 <br><br>下面是</span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;">答复中用到的代码和含义: <br><br>500 Syntax error, command unrecognized <br>[This may include errors such as command line too long] <br>501 Syntax error in parameters or arguments <br>502 Command not implemented <br>503 Bad sequence of commands <br>504 Command parameter not implemented <br>211 System status, or system help reply <br>214 Help message <br>[Information on how to use the receiver or the meaning of a <br>particular non-standard command; this reply is useful only to the human user] <br>220 Service ready <br>221 Service closing transmission channel <br>421 Service not available, closing transmission channel <br>[This may be a reply to any command if the service knows it must shut down] <br>250 Requested mail action okay, completed <br>251 User not local; will forward to <br>450 Requested mail action not taken: mailbox unavailable <br>[E.g., mailbox busy] <br>550 Requested action not taken: mailbox unavailable <br>[E.g., mailbox not found, no access] <br>451 Requested action aborted: error in processing <br>551 User not local; please try <br>452 Requested action not taken: insufficient system storage <br>552 Requested mail action aborted: exceeded storage allocation <br>553 Requested action not taken: mailbox name not allowed <br>[E.g., mailbox syntax incorrect] <br>354 Start mail input; end with . <br>554 Transaction failed <br>最后,让我们看一个RFC821中给出的例子。这封信是Smith在主机Alpha.ARPA 发给主机Beta.ARPA上的 <br>Jones,Green和 Brown.并且假定两台主机在同一个网络上。 <br><br>S: MAIL FROM: <br>R: 250 OK <br>S: RCPT TO: <br>R: 250 OK <br>S: RCPT TO: <br>R: 550 No such user here <br>S: RCPT TO: <br>R: 250 OK <br>S: DATA <br>R: 354 Start mail input; end with . <br>S: Blah blah blah... <br>S: ...etc. etc. etc. <br>S: . <br>R: 250 OK <br>邮件最后被对方接受。 <br><br><br>◆ 电子邮件的工作原理 <br><br><br>电子邮件与普通邮件有类似的地方,发信者注明收件人的姓名与地址(即邮件地址),发送方服务器把邮件传到收件方服务器,收件方服务器再把邮件发到收件人的邮箱中。如下图所示: <br><br></span></span></p>
<table style="width: 400px;" border="0" cellspacing="0" cellpadding="4" align="center"><tbody><tr>
<td><a href="http://www.mailer.com.cn/imagecatalogue/imageview/929/?RefererURL=/article/articleview/1431/1/157/"><span style="font-size: medium;"><img src="support/UploadFiles_6087/200706/20070625144824187.jpg" border="0" alt="" width="400" height="72"><span style="color: #0000ff;"><span style="text-decoration: underline;"> </span></span></span></a></td>
</tr></tbody></table>
<p><br><br><span style="font-size: x-small;"><span style="font-size: medium;">更进一步的解释涉及到以下几个概念: <br><br>MUA -- Mail User Agent, 邮件用户代理,帮助用户读写邮件; <br><br>MTA -- Mail Transport Agent, 邮件传输代理,负责把邮件由一个服务器传到另一个服务 <br><br>器或邮件投递代理; <br><br>MDA -- Mail Delivery Agent, 邮件投递代理,把邮件放到用户的邮箱里。 <br><br>整个邮件传输过程如下: <br><br>目前使用的</span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;"> 协议是存储转发协议,意味着它允许邮件通过一系列的服务器发送到最终目的地。服务器在一个队列中存储到达的邮件,等待发送到下一个目的地。下一个目的地可以是本地用户,或者是另一个邮件服务器,如下图所示。 <br><br></span></span></p>
<table style="width: 400px;" border="0" cellspacing="0" cellpadding="4" align="center"><tbody><tr>
<td><a href="http://www.mailer.com.cn/imagecatalogue/imageview/930/?RefererURL=/article/articleview/1431/1/157/"><span style="font-size: medium;"><img src="support/UploadFiles_6087/200706/20070625144824204.gif" border="0" alt="" width="400" height="87"><span style="color: #0000ff;"><span style="text-decoration: underline;"> </span></span></span></a></td>
</tr></tbody></table>
<p><br><br><span style="font-size: medium;">如果下游的服务器暂时不可用,MTA 就暂时在队列中保存信件,并在以后尝试发送。 <br><br><br><br>◆ 电子邮件的信头结构及分析 <br><br>1 .邮件的结构 <br>在最高层,邮件的结构是非常简单的,用户从终端机上看到的邮件格式一般为: <br><br>1. From: </span><a href="mailto:user1@domain1.com?subject="><span style="font-size: x-small; color: #0000ff;"><span style="text-decoration: underline;"><span style="font-size: medium;">user1@domain1.com</span></span></span></a><span style="font-size: medium;"> <br><br>2. To: </span><a href="mailto:user2@domain2.com?subject="><span style="font-size: x-small; color: #0000ff;"><span style="text-decoration: underline;"><span style="font-size: medium;">user2@domain2.com</span></span></span></a><span style="font-size: x-small;"><span style="font-size: medium;"> <br><br>3. Subject: Explaination of mail format <br><br>4. Date: Thu, 1 Apr 1999. 10:00:00 GMT <br><br>5. Hi, Jack <br><br>7. This mail is to explain you the mail format <br><br>8. - - - - <br><br>9. Thanks <br><br>10. Bob <br><br>其中, 1~~4 行称作信件信头(message header) 6~~10行描述信件要表达的内容,称为信体 (message body)。第5行是空行,根据RFC822的要求,信头和信体之间必须加入一空行。[i]信头通常包含字段From, To, Subject 和Date,有的邮件还包含cc,bcc等字段。 <br><br>2. 邮件的信头 <br><br>事实上,邮件在传输过程中,服务器要把它打包成一个数据对象,包括上面的信件和一个信封。邮件的投递是依靠信封上的地址或信封信头(envelop address 或envelop header),而不是上面讲的信件上的地址。 <br><br>从表面上看,一封邮件是从发件人的机器直接传送到收件人的机器,但通常这并不正确,一封邮件发送和接受过程至少要经过四台计算机。参考下图所示。用户通常在自己的电脑前编写阅读邮件,我们把它叫做客户端 (client 1~~4 )。大部分组织里,都是用一台专门的机器处理邮件,称作邮件服务器 (SMTP1, </span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;">2). 如果用户是从家里拨号上网,那末邮件服务器是ISP 提供的。 <br><br></span></span></p>
<table style="width: 400px;" border="0" cellspacing="0" cellpadding="4" align="center"><tbody><tr>
<td><a href="http://www.mailer.com.cn/imagecatalogue/imageview/931/?RefererURL=/article/articleview/1431/1/157/"><span style="font-size: medium;"><img src="support/UploadFiles_6087/200706/20070625144824595.gif" border="0" alt="" width="400" height="176"><span style="color: #0000ff;"><span style="text-decoration: underline;"> </span></span></span></a></td>
</tr></tbody></table>
<p><br><br><span style="font-size: x-small;"><span style="font-size: medium;">当某个用户在自己的电脑 Client1 前编写完一个邮件,然后把它发送到他的ISP 的邮件服务器SMTP1。此时她的机器已经完成了所有的工作,但邮件服务器SMTP1还必须想法把邮件发送到目的地。SMTP1 通过阅读信头或信封上的地址,找到收件认得邮件服务器</span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;">2, 然后与该服务器建立连接,把邮件发到收件人的服务器上,等待收件人来取阅。 <br><br>下面我们将通过一个例子说明整个邮件传送过程及邮件的信头变化。假设发件人的名字叫 Sender, email地址是 </span></span><a href="mailto:sender@domain1.com?subject="><span style="font-size: x-small; color: #0000ff;"><span style="text-decoration: underline;"><span style="font-size: medium;">sender@domain1.com</span></span></span></a><span style="font-size: medium;">使用的电脑名字叫 client1, IP 地址是 [111.11.1.1] (假设的地址)。 收件人的名字叫 receipt, email 地址是 receipt@domain2.com, 使用的电脑的名字叫 client2,IP 地址是 [222.22.2.2] (假设的地址)。当邮件编辑完传送给其邮件服务器mail.domain1.com 时,邮件的信头格式为: <br><br>From: </span><a href="mailto:sender@domain1.com?subject="><span style="font-size: x-small; color: #0000ff;"><span style="text-decoration: underline;"><span style="font-size: medium;">sender@domain1.com</span></span></span></a><span style="font-size: medium;"> <br><br>To: </span><a href="mailto:receipt@domain2.com?subject="><span style="font-size: x-small; color: #0000ff;"><span style="text-decoration: underline;"><span style="font-size: medium;">receipt@domain2.com</span></span></span></a><span style="font-size: medium;"> <br><br>Date: Tue, Mar 18 1998 15:36:24 GMT <br><br>X-mailer:Sendmail 8.9.0 <br><br>Subject: Greetings <br><br>当邮件服务器 mail.domain1.com 把邮件传到接收方的服务器 mail.domain2.com 时,接受方服务器会在信头上记录下有关的计算机信息,邮件的信头变成: <br><br>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 <br><br>From: </span><a href="mailto:sender@domain1.com?subject="><span style="font-size: x-small; color: #0000ff;"><span style="text-decoration: underline;"><span style="font-size: medium;">sender@domain1.com</span></span></span></a><span style="font-size: medium;"> <br><br>To: </span><a href="mailto:receipt@domain2.com?subject="><span style="font-size: x-small; color: #0000ff;"><span style="text-decoration: underline;"><span style="font-size: medium;">receipt@domain2.com</span></span></span></a><span style="font-size: x-small;"><span style="font-size: medium;"> <br><br>Date: Tue, Mar 18 1998 15:36:24 GMT <br><br>Message-Id: <br><br>X-mailer:Sendmail 8.9.0 <br><br>Subject: Greetings <br><br>当收件人服务器mail.domain2.com 把邮件接收并存初下来,等待收件人来阅读时,邮件的信头将会再加入一条记录: <br><br>Received: from mail.domain1.com (mail.domain1.com [111.11.1.0] ) by mail.domain2.com (8.8.5/8.7.2) with E</span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;"> id LAA20869; Tue, Mar 18 1998 15:39:44 GMT <br><br>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 <br><br>From: </span></span><a href="mailto:sender@domain1.com?subject="><span style="font-size: x-small; color: #0000ff;"><span style="text-decoration: underline;"><span style="font-size: medium;">sender@domain1.com</span></span></span></a><span style="font-size: medium;"> <br><br>To: </span><a href="mailto:receipt@domain2.com?subject="><span style="font-size: x-small; color: #0000ff;"><span style="text-decoration: underline;"><span style="font-size: medium;">receipt@domain2.com</span></span></span></a><span style="font-size: x-small;"><span style="font-size: medium;"> <br><br>Date: Tue, Mar 18 1998 15:36:24 GMT <br><br>Message-Id: <br><br>X-mailer:Sendmail 8.9.0 <br><br>Subject: Greetings <br><br>上面整个记录就将是收件人看到的完整的邮件信头。让我们逐行看一下信头中各行的含义: <br><br>Received: from mail.domain1.com (mail.domain1.com [111.11.1.0] ) by mail.domain2.com (8.8.5/8.7.2) with E</span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;"> id LAA20869; Tue, Mar 18 1998 15:39:44 GMT <br><br>这封信是从一台自称为 mail.domain1.com 的机器上接收的;这台机器的IP 地址是[111.11.1.0],真实名字就是标称名字 mail.domain1.com; 接收方的机器名称是 mail.domain2.com, 运行的邮件服务器是 Sendmail, 版本(8.8.5/8.7.2) 。接收方机器给邮件的编号是E</span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;"> id LAA20869, 接收到的时间是 Tue, Mar 18 1998 15:39:44 GMT。 <br><br>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 <br><br>这条记录表明信件是由机器client1.domain1.com ( IP 地址是 [111.11.1.1]) 在Tue, Mar 18 1998 15:37:24 GMT交给mail.domain1.com,并赋给编号id 004A21。 <br><br>From,TO ,Date和Subject 都易于理解,分别指明发件人,收件人,信件编辑日期及信件主题。 <br><br>Message-Id: <br><br>这是由发件方邮件服务器赋给这封邮件的编号。与其它编号不同,这个编号自始至终跟随邮件。 <br><br><br>◆ OPEN RELAY 的原理及测试 <br><br>1.OPEN RELAY 的原理 <br><br>由于技术的原因,在80年代前,网络还不是很健全,机器之间很少能直接对话发送邮件,人们必须得找出一条有效的连接通路来,然后信件沿着通路一步一步传送到目的地。</span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;">协议中就明确指出当邮件在不同的网络间传送时,需要借助中间服务器的RELAY。 <br><br>邮件在收件方和发件方之间会经过毫不相干的第三方服务器,这就是邮件转发 (RELAY)。 如下图所示: <br><br></span></span></p>
<table style="width: 400px;" border="0" cellspacing="0" cellpadding="4" align="center"><tbody><tr>
<td><a href="http://www.mailer.com.cn/imagecatalogue/imageview/932/?RefererURL=/article/articleview/1431/1/157/"><span style="font-size: medium;"><img src="support/UploadFiles_6087/200706/20070625144826293.gif" border="0" alt="" width="400" height="218"><span style="color: #0000ff;"><span style="text-decoration: underline;"> </span></span></span></a></td>
</tr></tbody></table>
<p><br><br><span style="font-size: x-small;"><span style="font-size: medium;">图中的 MAIL SERVER 是可以对要求转发的邮件进行限制的,如只转发来自某个域的邮件或来自于某些IP 得邮件。如果转发没有任何限制,就被称为 OPEN RELAY 或 THIRD PARTY RELAY。 <br>从历史上看,relay 曾经发挥过重要作用。而且当时这些工作主要靠手工来做,就像我们今天通过邮局发一封信一样。假如我想从沈阳发一封信件到深圳,我再信封上写好收信地址深圳,邮局就需要找到定义的运送路线: 沈阳,北京,郑州,长沙,广州,深圳。甚至还要长一些。其中很重要一点是每一个中继站都能很好的理解这封信将被送到哪里,下一个接收站是谁。在电子邮件里,这就相当于每个</span><a class="channel_keylink" href="smtp/index.html"><span style="font-size: medium;">中继服务器</span></a><span style="font-size: medium;">清楚下一个服务起是谁,这就是邮件的转发。 <br><br>目前,正常邮件转发已经不再必要,相反,无限制转发常常被发送垃圾邮件的人利用,隐藏真实的邮件来源,让别人以为是从另外的ISP 发出的信件;同时,也把大量的处理工作转移到别人机器上。 <br>由于前面提到的历史的原因,最初的绝大多数邮件服务器都允许OPEN RELAY的。今天,大部分邮件服务器升级版本已经在缺省设置中关闭了OPEN RELAY, 如Sendmail 从8.9.3版本开始,Exchange Server从5.5版本开始关闭了open relay。有的服务器虽然没有相应的升级版本,也都提供了关闭open relay 的方法,如在NOTES SERVER的配置文件notes.ini 中加入一行:</span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;">MTA_REJECT_RELAYS=1。但由于很多服务器管理员的疏忽而没能及时的修补这些安全漏洞,被利用来转发垃圾邮件。 <br><br>2. 如何确认邮件服务器是否RELAY <br><br>假设要测试的IP是202.112.0.0. 可以使用下列命令进行测试,文中的绿色斜题字为测试邮件服务器的反馈信息: <br><br>#telnet 202.112.0.0 25 <br>Trying 202.112.0.0... <br>Connected to 202.112.0.0. <br>Escape character is '^]'. <br>220 dns.ccert.edu.cn E</span><a class="channel_keylink" href="zhidao/281.html" target="_blank"><span style="font-size: medium;">smtp</span></a><span style="font-size: medium;"> Sendmail 8.11.1/8.11.1; Sat, 30 Jun 2001 21:07:10 +0800 <br>helo mydomain <br>250 dns.ccert.edu.cn Hello point.ccert.edu.cn [202.112.50.3], pleased to meet you <br>mail from:nobody@yahoo.com <br>250 2.1.0 nobody@#yahoo.com... Sender ok <br>rcpt to:nobody@hotmail.com <br>550 5.7.1 nobody@hotmail.com... Relaying denied <br><br>最后的Relaying denied 表明该服务器已经安全设置,不会再relay无关邮件了。如果显示的结果是下面的样子,这表明服务器可以转发任何人的邮件。 <br><br>rcpt to:nobody@hotmail.com <br>250 nobody@hotmail.com... Recipient ok <br>data <br>354 Enter mail, end with "." on a line by itself <br>this is a test of the relay <br>. <br>250 VAA00289 Message accepted for delivery <br><br>除了用上面的命令行的方法测试外,下面的链接提供了一个测试工具,只需输入IP即</span></span></p>
分享到:
评论

相关推荐

    邮件发送基本原理简易说明(配图)

    文字配图,简易说明邮件的发送原理。不懂的值得一看。清晰明了,容易理解。

    基于SMTP邮件截获与还原技术研究.pdf

    1.3.1 SMTP协议 3 1.3.2 POP3协议 5 1.3.3 IMAP协议 7 1.4多用途Internet邮件扩展(Multipurpose Internet Mail Extensions) 9 1.4.1 Base64编码 9 1.4.2 Base64编码/解码的算法实现 10 1.4.3 MIME简介 11 1.4.4 ...

    基于Python进行TCP套接字编程的基础知识 实验报告

    熟悉基于Python进行UDP套接字编程的基础知识,掌握使用UDP套接字发送和接收数据包,以及设置正确的套接字超时,了解Ping应用程序的基本概念,并理解其在简单判断网络状态,例如计算数据包丢失率等统计数据方面的意义...

    计算机网络期末复习.txt

    数据通信与传输介质:复习数据通信的基本原理,包括数字信号与模拟信号、基带传输与频带传输等。了解常见的传输介质,如双绞线、同轴电缆、光纤等,以及它们的特性和应用场景。 网络设备与硬件:熟悉常见的网络...

    计算机网络课件ppt(概述+物理层+数据链路层+网络层+运输层+应用层)

    数据在物理媒介上传输的基本原理和方式。介质的类型,如双绞线、光纤、无线信道等。调制解调、编码和物理信号的传输。物理层的标准和协议,如Ethernet、Wi-Fi等。 数据链路层: 数据链路层的作用和功能,如数据帧的...

    网络协议大全

    ARP协议 PPP(Point-to-Point Protocol点到点协议 RIP协议 ...多协议标志交换(MPLS)基本原理 POP3 邮局协议-版本3 CIP 传输协议 802.1x协议解析 X.25 协议 XKMS协议介绍及其工作原理 技术简述

    21世纪计算机网络技术系

    第8~10章主要介绍了网络层与协议、静态路由的基本原理与配置、RIP动态路由的基本原理与配置;第11章主要介绍了传输层协议与应用;第12章主要介绍应用层协议与应用,内容主要包括DNS、SMTP、POP3、TELNET、FTP等;第...

    Visual C++网络通信编程实用案例精选_3

    142 4.7.2 实例实现 142 4.8 设置桌面快捷方式和活动桌面 145 4.8.1 实现原理 145 4.8.2 实例实现 146 &lt;br&gt;第5章 基本网络编程实例 150 5.1 点对点文件传输 150 5.2 端口扫描程序...

    Visual C++网络通信编程实用案例精选_7

    142 4.7.2 实例实现 142 4.8 设置桌面快捷方式和活动桌面 145 4.8.1 实现原理 145 4.8.2 实例实现 146 &lt;br&gt;第5章 基本网络编程实例 150 5.1 点对点文件传输 150 5.2 端口扫描程序...

    Visual C++网络通信编程实用案例精选_9(全)

    142 4.7.2 实例实现 142 4.8 设置桌面快捷方式和活动桌面 145 4.8.1 实现原理 145 4.8.2 实例实现 146 &lt;br&gt;第5章 基本网络编程实例 150 5.1 点对点文件传输 150 5.2 端口扫描程序...

    Visual C++网络通信编程实用案例精选_6

    142 4.7.2 实例实现 142 4.8 设置桌面快捷方式和活动桌面 145 4.8.1 实现原理 145 4.8.2 实例实现 146 &lt;br&gt;第5章 基本网络编程实例 150 5.1 点对点文件传输 150 5.2 端口扫描程序...

    swjtu西南交大计算机网络课程设计-网络协议及流程分析(实验报告)

    (4)典型网络应用(例如PPPoE,HTTP,FTP,SMTP/POP3等)的工作原理及其实现流程 提纲: 课程设计2(实验)-协议及流程分析 2.1 网络层次结构及协议 2.2 TCP/IP协议的报文封装方式 2.3 主要的TCP/IP协议及其层次结构 ...

    中南大学网络工程实验-服务器搭建实验原创40页超详细手册-之EMAIL篇

    在EMAIL篇章中,手册详细解释了电子邮件的基本原理,包括SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol 3)等关键协议,为学生建立了扎实的理论基础。 随后,手册逐步引导学生完成EMAIL...

    建立基于Linux的邮件服务器.doc

    学习目标 通过本章节的学习,能够了解电子邮件服务器的工作原理,并能够在Linu x系统上建立一台postfix+cyrus- imapd+squirrelmail电子邮件服务器,实现Web方式的电子邮件收发服务。 考核评价 能够在Linux系统上...

    电子邮件发送程序的设计与实现.doc

    目录 1 前沿 1 1.1课题背景 1 1.2课程设计目的 2 1.3课程设计基本任务 2 2 设计平台简介 3 3、设计原理 4 3.1 软件总体架构 4 3.2 程序功能框架图 4 3.3 SMTP协议研究与分析 5 3.4 环境说明 6 4.详细设计 7 4.1窗体...

    利用python发送和接收邮件

    大学之前,基本不用邮箱,所以基本感觉不到它的存在,也不知道有什么用;然而大学之后,随着认识的人越来越多,知识越来越广泛,邮箱已然成为很重要的通讯工具,大学一些课程作业需要有邮箱发给老师,注册网站需要...

    计算机毕业设计(c#实现电子邮件)

    本文阐述了电子邮件的基本原理及用于发送邮件的SMTP协议、接收邮件的POP3协议,分析了该协议的工作原理和命令。该系统可以发送一个纯文本邮件,也可以发送一个带有附件的邮件或多附件支持多收信人的邮件,对局域网...

    doc.rar_doc_java at指令

    本课题研究目的在于了解和掌握电子邮件发送的原理,了解和掌握SMTP协议的相关原理和操作指令,在此基础上设计实现一个简单的邮件发送系统。 本课题要求能够完成电子邮件发送系统的最基本的功能,主要包含以下内容:

    postfix 权威指南

    队列管理 qmgr的运行原理 队列管理工具 第六章 E-mail与DNS DNS概论 决定邮件路由 Postfix与DNS 常见问题 第七章 本地投递与 POP/IMAP Postfix的投递代理程序 邮箱格式 本地邮件的投递操作 POP与IMAP 本地邮件传输...

    简单电子邮件客户端的实现

    (2)SMTP协议和POP3协议基本实现原理;(3)使用Windows下的Ecilpse编译器的使用方法;(4)熟悉邮件的各项功能。 要实现所需功能通过查阅资料,决定采用基于JavaMail来设计,利用SMTP协议实现邮件传输,该实现方法...

Global site tag (gtag.js) - Google Analytics