电子邮件electronicmail,简称E-mail,又称电子信箱,电子邮政,它是一种用电子手段提供信息交换的通信方式。是Internet应用最广的服务,通过网络的电子邮件系统,用户可以用非常低廉的价格,以非常快速的方式与世界上任何一个角落的网络用户联系,这些电子邮件可以是文字、图像、声音等各种方式。同时,用户可以得到大量免费的新闻、专题邮件,并实现轻松的信息搜索。SMTPSMTP(SimpleMailTransferProtocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。SMTP的通信过程:针对用户的邮件请求,在发送SMTP和接收SMTP之间建立一个双向通道。接收SMTP可以使最终的接收者也可以是中间的传送者。SMTP命令由发送SMTP发出,由接收SMTP接收,而应答则反方向传送。过程如下:POP3POP3(PostOfficeProtocol3)即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。它是因特网电子邮件的第一个离线协议标准,POP3协议允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时根据客户端的操作删除或保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。POP3协议是TCP/IP协议族中的一员。工作原理:1.适用范围POP适用于C/S结构的脱机模型的电子邮件协议,目前已发展到第三版,称POP3。POP3脱机模型即不能在线操作,POP不支持对服务器邮件进行扩展操作,此过程需要更高级的IMAP4协议来完成。支持POP协议使用ASCII码来传输数据消息,这些数据消息可以是指令,也可以是应答。2.POP协议协议支持离线邮件处理,当邮件发送到服务器后,电子邮件客户端会调用邮件客户端程序,下载所有未阅读的电子邮件(这种离线访问模式是一种存储转发服务).当邮件从邮件服务器发送到个人计算机上,同时邮件服务器会删除该邮件(但是目前很多POP3服务器都支持“下载邮件,服务器并不删除邮件”,也就是说在POP3中改进了POP协议).3.命令和响应POP3客户向POP3服务器发送命令并等待响应,POP3命令采用命令行形式,用ASCII码表示。服务器响应是由一个单独的命令行组成或多个命令行组成,响应第一行以ASCII文本+OK或-ERR(OK指成功,-ERR指失败)指出相应的操作状态是成功还是失败。4.在POP3协议中的三种状态认证状态,处理状态和更新状态。当客户机与服务器建立连接时,客户机向服务器发送自己身份(这里指的是账户和密码)并由服务器成功确认,即客户端由认可状态转入处理状态,在完成列出未读邮件等相应的操作后客户端发出quit命令,退出处理状态进入更新状态,开始下载未阅读过的邮件到计算机本地之后最后重返认证状态确认身份后断开与服务器的连接。具体原理如下图等待连接身份确认quit命令C——|认证|—————|处理|——————|更新|----S|__________________________________|重返认证状态。5.认证状态的命令语句目前大多数POP客户端和服务端都是采用ASCII码来明文发送用户名和密码,在认证状态下服务端等待客户端连接时,客户端发出连接请求,并把由命令构成的user/pass用户身份信息数据明文发送给服务端。服务端确认客户端身份以后,连接状态由认证状态转入处理状态,为了避免发送明文口令的安全问题,有一种新的更为安全的认证方法,命名为APOP,使用APOP,口令在传输之前就被加密,当客户端与服务端第一次建立连接时,POP3服务器向客户端发送一个ASCII码文本的问候,这个问候是由遗传字符组成对每个客户机是唯一的,内容一般都是当地时间之类的。然后客户端吧它的纯文本口令附加到刚才接受的字符串之后,接着计算出新的字符串的MD5单出函数值的消息数据,最后客户机把用户名和MD5加密后的消息摘要作为APOP命令的参数一起发送到服务器。但是目前大多数windows上的邮件客户端不支持APOP协议。qpopper支持。6.POP3命令码命令参数状态描述POP3示意图------------------------------------------USERusername认可此命令与下面的pass命令若成功,将导致状态转换PASSpassword认可APOPName,Digest认可Digest是MD5消息摘要------------------------------------------STATNone处理请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数UIDL[Msg#]处理返回邮件的唯一标识符,POP3会话的每个标识符都将是唯一的LIST[Msg#]处理返回邮件数量和每个邮件的大小RETR[Msg#]处理返回由参数标识的邮件的全部文本DELE[Msg#]处理服务器将由参数标识的邮件标记为删除,由quit命令执行RSETNone处理服务器将重置所有标记为删除的邮件,用于撤消DELE命令TOP[Msg#]处理服务器将返回由参数标识的邮件前n行内容,n必须是正整数NOOPNone处理服务器返回一个肯定的响应------------------------------------------QUITNone更新a.客户机希望结束这次会话b.如果服务器处于‘处理’状态,那么将进入‘更新’状态以删除任何标记为删除的邮件c.导致由处理状态到更新状态,又重返认可状态的转变d.如果这个命令发出时服务器处于‘认可’状态,则结束会话,不进行‘更新’状态。7.等待POP3协议在UDP/110端口上等待客户连接请求。8.监听若密码为明文,我如何监听?POP3下面的命令在服务器运行后在屏幕上显示POP3连接及命令发送的过程:#sniffit-a-A.-p110-b-s192.169.11.12note:192.168.11.12是客户机IP地址你需要事先安装sniffit这个端口监听程序9.中断考虑这种情况,若客户在收取邮件时,假定为15封信等待接收,但由于线路问题,收到第10封时断线了,为什么下次收时仍然从第一封开始,也即为什么前10封没有被从服务器上删除掉?任何邮件的删除都必须在quit命令发出后对已标记为删除的邮件执行删除操作,由于中途断线,仍处于处理状态,没有机会执行quit命令以进行状态转换。10.锁定pop3sessionislockedbyanothersession,pleasewait10minutesthentryagain.由于非正常操作引起POP3程序内部机制锁住该次会话。11.不同处理机制Foxmail与OE(outlookexpress)的处理机制的不同。a.假定服务器上有三封邮件等待客户机接收。用foxmail与OE的不同之处在于foxmail每收一封标记删除一封,而OE则等全部接收完后再全部标记为删除最后执行quit命令。FoxmailOE-------------------------------retr1retr1POP3dele1retr2retr2retr3dele2dele1retr3dele2dele3dele3quitquitb.Foxmail的远程邮件管理是非常优秀的管理工具,假定服务器上有三封信,对第一封,我们不想接收,想从服务器直接删除;对第二封,想接收但不删除,对第三封,这一次不想接收,分别标记后最后foxmail发出的命令是dele1retr2quitc.若没有foxmail,正好有几封很大的信堵住了,我不想接收,想直接删除它,或者想查看这两封是谁发的?直接在windows的DOS窗口下用命令行操作,如:#telnetmy.isp.net110userusernamepasspasswordlistdele3dele5quit--IMAP4IMAP4(InternetMessageAccessProtocol4)即交互式数据消息访问协议第四个版本。IMAP协议是由斯坦福大学的MarkCrispin教授在1986年开发的,后期版本是华盛顿州立大学进行开发的,IMAP4是TCP/IP协议族中的一员,现在的版本是“IMAP第四版第一次修订版”(IMAP4rev1)。可以搜索GFax网络传真了解更多。