`
wyang2008
  • 浏览: 31174 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SMTP,POP3.IMAP的区别与联系

阅读更多
smtp协议简介    
 1. 介绍
  SMTP称为简单Mail传输协议(Simple Mail Transfer Protocal),目标是向用户提供高效、可靠的邮件传输。SMTP的一个重要特点是它能够在传送中接力传送邮件,即邮 件可以通过不同网络上的主机接力式传送。工作在两种情况下:一是电子邮件从客户机传输到服务器;二是从某一个服务器传输到另一个服务器。
 SMTP是个请求/响应协议,它监听25号端口,用于接收用户的Mail请求,并与远端Mail服务器建立SMTP连接

 2. Smtp工作机制
  SMTP通常有两种工作模式:发送SMTP和接收SMTP。具体工作方式为:发送SMTP在接到用户的邮件请求后,判断此邮件是否为本地邮件,若是直接投送到用户的邮箱,否则向dns查询远端邮件服务器的MX纪录,并建立与远端接收SMTP之间的一个双向传送通道,此后SMTP命令由发送SMTP发出,由接收SMTP接收,而应答则反方面传送。一旦传送通道建立,SMTP发送者发送MAIL命令指明邮件发送者。如果SMTP接收者可以接收邮件则返回OK应答。SMTP发送者再发出RCPT命令确认邮件是否接收到。如果SMTP接收者接收,则返回OK应答;如果不能接收到,则发出拒绝接收应答(但不中止整个邮件操作),双方将如此重复多次。当接收者收到全部邮件后会接收到特别的序列,如果接收者成功处理了邮件,则返回OK应答。
 POP协议    
   POP的全称是 Post Office Protocol ,即邮局协议,用于电子邮件的接收,它使用TCP的110端口,现在常用的是第三版 ,所以简称为 POP3。POP3仍采用Client/Server工作模式,。当客户机需要服务时,客户端的软件(OutlookExpress或FoxMail)将与POP3服务器建立TCP连接,此后要经过POP3协议的三种工作状态,首先是认证过程,确认客户机提供的用户名和密码,在认证通过后便转入处理状态,在此状态下用户可
 收取自己的邮件或做邮件的删除,在完成响应的操作后客户机便发出quit命令,此后便进入更新状态,将做删除标记的邮件从服务器端删除掉。到此为止整个POP过程完成。
 IMAP协议    
   IMAP是Internet Message Access Protocol的缩写(用于邮件的接收),顾名思义,主要提供的是通过Internet获取信息的一种协议。IMAP象POP那样提供了方便的邮件下载服务,让用户能进行离线阅读,但IMAP能完成的却远远不只这些。IMAP提供的摘要浏览功能可以让你在阅读完所有的邮件到达时间、主题、发件人、大小等信息后才作出是否下载的决定。

IMAP (Internet Message Access Potocol) 是一种用于邮箱访问的协议,使用IMAP协议可以在Client端管理 Server上的邮箱,它与pop不同,邮件是保留在服务器上而不是download到本地,在这一点上IMAP是与Webmail相似的。但IMAP有比Webmail更好的地方,它比webmail更高效和安全,可以离线阅读等等,如果想试试可以用Outlook Express,只要配好一个帐号,将我的邮件接收服务器设置为IMAP服务器就可以了。

IMAP(Internet消息访问协议)是与POP3对应的另一种协议,为美国斯坦福大学在1986年开始研发的多重邮箱电子邮件系统。它能够从邮件服务器上获取有关E-mail的信息或直接收取邮件,具有高性能和可扩展性的优点。IMAP为很多客户端电子邮件软件所采纳,如 OutlookExpress、NetscapeMessenger等,支持IMAP的服务器端的软件也越来越多,如CriticalPath、 Eudora、iPlanet、Sendmail等。
读者不禁要问,POP3也是接收邮件的协议,现在不是用得很好么,为何还要用IMAP协议呢?

POP3协议的不足
的确,POP作为Internet上邮件的第一个离线协议标准,允许用户从服务器上把邮件下载到本地主机上,同时删除保存在邮件服务器上的邮件,从而使用户不必长时间地与邮件服务器连接,很大程度上减少了服务器和网络的整体开销。
但 POP3有其天生的缺陷,即当用户接收电子邮件时,所有的信件都从服务器上清除并下载到客户机。在整个收信过程中,用户无法知道邮件的具体信息,只有照单全收入硬盘后,才能慢慢浏览和删除。这使用户几乎没有对邮件接收的控制决定权。一旦碰上邮箱被轰炸,或有比较大的邮件,用户不能通过分析邮件的内容及发信人地址来决定是否下载或删除,从而造成系统资源的浪费。而IMAP协议不但可以克服POP3的缺陷,而且还提供了更强大的功能。

     IMAP的解析

    对IMAP的解析
IMAP提供操作的三种模式
在线方式:邮件保留在Mail服务器端,客户端可以对其进行管理。其使用方式与WebMail相类似。
离线方式:邮件保留在Mail服务器端,客户端可以对其进行管理。这与POP协议一样。
分离方式:邮件的一部分在Mail服务器端,一部分在客户端。这与一些成熟的组件包应用(如LotusNotes/Domino)的方式类似。
IMAP工作原理及特性
在在线方式下,IMAP允许用户象访问和操纵本地信息一样来访问和操纵邮件服务器上的信息。IMAP软件支持邮件在本地文件夹间和服务器文件夹间的随意拖动,以把本地硬盘上的文件存放到服务器上,或将服务器上的文件取回本地,所有的功能仅需要一次鼠标拖放的操作来实现。
    在用户端可对服务器上的邮箱建立任意层次结构的文件夹,并可灵活地在文件夹间移动邮件,标出那些读过或回复过的邮件,删除对你来说无用的文件。
    IMAP 提供的摘要浏览功能可以让你在阅读完所有的邮件到达时间、主题、发件人、大小等信息,同时还可以享受选择性下载附件的服务。比如一封邮件里含有3个附件,而其中只有1个附件是您需要的,则可以选择只下载这1个附件。你可以充分了解后才作出是否下载,是全部下载还是仅下载一部分等决定,使用户不会因下载垃圾信息而占用宝贵的空间和浪费网费。
    IMAP还提供基于服务器的邮件处理以及共享邮件信箱等功能。邮件(包括已下载邮件的副本)在手动删除前保留在服务器中,这有助于邮件档案的生成和共享。用户可在任何客户机上都可查看服务器上的邮件。这让那些漫游用户感到很方便。
同时IMAP也象POP3一样,允许用户从服务器上下载信息到他们的电脑上,这意味着他们仍然可以在离线方式下阅读邮件。
在分离状态下,本地系统上的邮件状态和服务器上的邮件状态,可能和以后再连接时不一样。此时,IMAP的同步机制解决了这个问题。IMAP邮件的客户端软件能够记录用户在本地的操作,当他们连上网络后会把这些操作传送给服务器,服务器也会告诉客户端软件,当用户离线的时候服务器端发生的事件,比如有新邮件到达等,以保持服务器和客户端的同步。
在IMAP下可定义供其他拥有特别访问权利的用户使用的共享文件夹,而使用POP不能实现共享邮件信箱和共享邮件,仅能通过抄送给或用手工传送邮件。共享信箱将使以使用Internet邮件为主的工作组的工作变得更为容易。
IMAP还提供许多特别的功能比如建立子目录和通过IMAP访问Usenet。在系统管理员方面,IMAP也提供了一整套可用的特性。
IMAP 的监听端口为143,消息的内在时间和日期是由服务器给出的,而不是在RFC822中信头给出的时间和日期,是消息最后到达的真实日期和时间。如果信息是被IMAP的Copy命令投递的,这应当是源信息的内在时间和日期;如果信息是被IAMP的Append命令投递的,这应当是由Append命令专门描述的时间和日期。
在IMAP协议中定义了很多的命令,可用telnet来执行,例如Authenticate、List和Close等等,此处不再详述。
实现IMAP的不足
在利用服务器磁盘资源方面,IMAP不如POP3。由于使用POP时服务器端的邮件被下载到客户机的同时会删除,因而不占用额外空间用以存放旧的邮件。而IMAP服务器将保持旧的邮件,占用了额外空间,而且需要定期地删除旧邮件。
同时,由于用户查阅信息标题和决定下载哪些附件,也需要一定时间,因此链接时间也比POP方式长。
在应用方面,由于IMAP比较复杂,给开发者开发服务器和客户机的软件带来一些难题。对于ISP来说,采用IMAP意味着要花钱购买相关商业软件,同时会付出高额技术支撑费用,因而商用的实现方案还不多。

目前有一些国内的免费电子邮件站点提供IMAP4的服务,如广州的www.21cn.com,四川的mail.777.net.cn,北京的 btamail.net.cn等。只要我们到对应网址申请账号,设置好我们的客户端软件后就可体会到不同于POP3的IMAP新特性。
分享到:
评论

相关推荐

    邮件服务器支持SMTP/POP3/IMAP/WebMail.

    总结来说,这个资源与邮件服务器技术和协议紧密相关,对于开发者而言,它可能是一个有价值的工具,可以帮助他们构建或改进电子邮件系统,提供SMTP、POP3、IMAP以及WebMail的支持。对于那些想要理解邮件通信工作原理...

    email电子邮件接收程序,支持SMTP,POP3,IMAP4

    电子邮件是互联网上最基础的通信方式之一,而`email电子邮件接收程序`则是一个能够处理SMTP、POP3和IMAP4协议的应用程序。这些协议在电子邮件系统中各自扮演着不同的角色,使得用户能够发送、接收和管理邮件。 1. *...

    smtp pop3 imap 邮件命令

    SMTP(Simple Mail Transfer Protocol)、POP3(Post Office Protocol version 3)和IMAP(Internet Message Access Protocol)是电子邮件系统中的核心协议,它们各自承担着不同的职责。本文将深入探讨这三种协议的...

    c#写的邮件服务器实现了smtp pop3 imap ftp icmp 等协议

    标题中的"C#写的邮件服务器实现了smtp pop3 imap ftp icmp 等协议"表明这是一个使用C#编程语言开发的多协议邮件服务器程序。这个程序不仅支持SMTP(Simple Mail Transfer Protocol)、POP3(Post Office Protocol ...

    实验九 邮件协议SMTP、POP3与IMAP模板.pdf

    本实验主要探讨了三种关键的邮件协议:SMTP(Simple Mail Transfer Protocol)、POP3(Post Office Protocol version 3)和IMAP(Internet Message Access Protocol)。以下是关于这三种协议的详细解释和它们在实际...

    邮件服务器支持SMTP/POP3/IMAP/WebMail

    这些文件可能包含了实现SMTP、POP3、IMAP等协议的具体代码,以及与DNS查询、邮件服务配置等相关功能。 通过这些文件,开发者可以了解邮件服务器的工作原理,学习如何实现这些协议,甚至根据需求进行定制和扩展。...

    各大型邮箱smtp服务器及端口收集

    - POP3/IMAP服务器: `pop.x263.net` - SMTP服务器: `smtp.x263.net` - 默认端口: 25 - **其他域名263.net.cn** - POP3/IMAP服务器: `263.net.cn` - SMTP服务器: `263.net.cn` - 默认端口: 25 - **263Xmail子...

    java-mail 支持smtp pop3源码

    它提供了对SMTP(Simple Mail Transfer Protocol)、POP3(Post Office Protocol)和IMAP(Internet Message Access Protocol)等协议的支持,使得Java开发者能够轻松地发送、接收和管理邮件。在这个“java-mail ...

    smtp pop3

    ### 电子邮件SMTP/POP3收发协议的研究与实现 电子邮件作为互联网上最广泛的应用之一,其背后的协议和技术显得尤为重要。本文旨在深入探讨SMTP(简单邮件传输协议)与POP3(邮局协议第三版)这两种核心协议的工作...

    pop3.rar_邮件

    与之相对的是IMAP(Internet Message Access Protocol),IMAP允许用户在不下载邮件的情况下查看邮件,并且更便于在多设备间同步邮件状态。 在"pop3.c"这个文件中,可能包含了POP3协议的C语言实现代码。C语言是一种...

    邮件接收发送PHPMailreceivingandsendingPHPPOP3IMAPSMTP

    这涉及到三种主要的邮件协议:POP3(邮局协议)、IMAP(因特网消息访问协议)以及SMTP(简单邮件传输协议)。在PHP中,这些协议用于与邮件服务器进行交互,实现邮件的读取、发送和管理。 POP3协议是用于从邮件...

    POP3.rar_C#POP3

    POP3(Post Office Protocol version 3)是一种电子邮件协议,用于从邮件服务器检索电子邮件。在C#编程环境中,我们可以...在深入学习和实践过程中,还可以探索更高级的功能,如IMAP4协议、SMTP发送邮件、邮件过滤等。

    POP3_IMAP4_SMTP简介

    POP3、IMAP4和SMTP是互联网上电子邮件通信的核心协议,它们各自负责电子邮件的不同环节。 首先,SMTP(Simple Mail Transfer Protocol)是邮件传输协议,主要处理邮件的发送。SMTP允许用户从他们的邮件客户端向邮件...

    Lumisoft.Net 发送接收邮件代码Demo

    Lumisoft.Net是一个.NET Framework下的组件库,它提供了丰富的API接口,支持多种网络协议,如SMTP(Simple Mail Transfer Protocol)、POP3(Post Office Protocol version 3)和IMAP4(Internet Message Access ...

    SMTP/POP3通信系统设计与实现

    在“SMTP/POP3通信系统设计与实现”这一主题中,我们将深入探讨这两个协议的工作原理、如何结合它们构建一个邮件系统,以及如何优化用户体验,满足用户的基本需求。 首先,SMTP是发送邮件的协议。它定义了邮件...

    C#开发的Telnet模拟工具(基于SOCKET通信,可以直接按SMTP/POP3/IMAP通信协议操作)

    C#开发的Telnet模拟工具(基于SOCKET通信,可以按SMTP/POP3/IMAP通信协议操作) 需要注意的是,发送和接收都有编码的控制。比如SMTP基于UTF-8发送,但接收的可能是GBK的。 有的地方做了提示,需要点击控件,并悬停一段...

    Wireshark抓包分析POP3和SMTP协议.pdf

    Wireshark是一款强大的网络封包分析软件,常用于网络故障排查、网络安全...同时,这也提醒我们在进行邮件通信时要注意保护隐私,比如使用加密的IMAP或POP3S协议,以及SSL/TLS加密的SMTP服务,以防止敏感信息被截取。

    mailio是用于MIME格式和SMTP、POP3和IMAP协议的跨平台C++库。它基于标准C++17和Boost库。.zip

    `mailio` 是一个强大的C++库,专为处理MIME格式以及支持SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)通信而设计。它充分利用了C++17标准的特性,并依赖于Boost库,提供了一种高效且灵活...

    nginx-0.8.33.zip一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器

    1. Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器 。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的Rambler.ru 站点开发的,它已经在该站点运行超过四年多了。...

    javamail收发邮件加密和不加密

    它支持多种协议,包括POP3、IMAP和SMTP,这些协议分别用于接收、检索和发送邮件。在使用JavaMail时,了解如何进行加密和非加密通信对于确保数据安全至关重要。 1. **POP3(Post Office Protocol version 3)**: -...

Global site tag (gtag.js) - Google Analytics