`
jimmy.shine
  • 浏览: 395052 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

怎样接收电子邮件(POP3协议简介)

    博客分类:
  • Mail
阅读更多
在Internet,POP3(PostOfficeProtocol3)协议通常被用来接收电子邮件。这个协议很容易学,因为它只包含12个命令(其中有3个你完全可以忽略它们的存在)。这些命令被客户端计算机用来发送给远程服务器。反过来,服务器返回给客户端计算机两个回应代码。如果你还没有看本站另一篇文章-“WinsockTerminal示例程序”的话,请先阅读那篇文章,因为你需要那个程序来做实验。
运行示例程序,单击工具栏上的"Connectto"按钮。在弹出的对话框中输入你要连机的邮件服务器的地址例如:
mail.comset.net
选择POP3协议,然后单击"Connect"按钮。如果成功的话(如果出错,肯定是你服务器地址有问题,别怀疑到程序头上来),你会在文本框中看到服务器返回给你的信息。我的服务器的应答如下:
+OKPOP3mail.comset.netv5.49serverready
这个字符串告诉你连机成功了。不同服务器的回应会有所不同,但开头部分都是一样的,那就是:
"+OK"。它的意思是服务器接受客户端计算机所使用的命令顺序及语法。如果开头是"-ERR",则表示你使用了错误的命令。在你的应用程序中,只须处理来自服务器的回应的前面几个字符。这么小的处理量正是POP3相对其它协议的优势所在。
授权状态
好了,现在我们已经建立了同服务器的连接并且从服务器那里得到了肯定的回答。接下来要做的就是告诉服务器你的身份。服务器要管理成千上万个邮箱并不是件好难的事。它已为每个邮箱建立好了一个帐户。每个帐户由用户名和密码构成。当你连上服务器后,要发送的第一个命令就是USER,用户名是该命令的参数。具体写法如下:
USERusername
如果用户名已注册,服务器将返回一条正确的消息,然后你就可以输入下面的命令,告诉服务器你的密码。
PASSpassword
如果用户名和密码吻合的话,服务器同样会返回一条正确的消息,告诉你可以进入下一阶段,即TRANSACTIONstate.
TRANSACTION状态
为了知道你的邮箱中目前有多少封邮件以及这些邮件的大小,可使用STAT命令。它会告诉你邮箱目前的状态。服务器所返回的信息可能会是下面的样子:
+OK00(你的邮箱中没有邮件)
+OK3825(你的邮箱中有三封邮件,大小为825个八位字节)
如果邮箱中没有邮件,就没有什么好做的了,用QUIT命令就可结束同服务器的连接。如果邮箱中有邮件的话,你可以用RETR命令把邮件下载到你自己的机器上。这个命令要求邮件的索引作为其参数。例如,如果我们想收第一封邮件,可输入如下命令:
RETR1
要想取回其它的邮件,用上面的命令加上相应的邮件编号就行了。如果你输入的邮件编号超过了信箱中的邮件数量,服务器就会返回一个"-ERR"给你。作为对RETR命令的回应,服务器会返回给你一个字符串。这个字符串包含下面这些东西:"+OK"、邮件大小、邮件文本以及一个包含小数点的字符串。最后一个字符串,也就是小数点表示消息的结束。例如:
Client:RETR2
Server:+OK234octets
Server:<邮件文本>
Server:.
注意上面收邮件的过程并不意味着将这些邮件转移到你的计算机上。你是得到这些邮件的一份拷贝,你的住信箱中仍会存放这些邮件直到你用DELE命令删除它们。同样地,DELE命令也需要你提供邮件的索引号。实际上,当你使用了DELE命令后,这些邮件并不是立即从服务器上删除。这些邮件只是被做上了一个删除的标记,当你断开同服务器的连接后,才真正从服务器上删除。如果你想移除这些删除标记,用RSET命令。这个命令并不针对某一个特定的邮件,而是移除所有删除标记,所以你不需要提供邮件索引号给这个命令。
除了上面所说的命令之外,当你还处在TRANSACTION状态时,POP3还支持另外两个命令。这两个命令是:LIST和NOOP。LIST命令可用来列出邮件的信息。就象下面所显示的一样:
Client:LIST
Server:+OK2messages(320octets)
Server:1120
Server:2200
Server:.
通过对LIST命令提供邮件索引号,可列出特定邮件的信息,如下例:
Client:LIST2
Server:+OK2200
NOOP命令具体的事情不做,只是用来检查同服务器的连接。
UPDATE状态
当你处于UPDATE状态时,你只有一个命令可用,那就是:QUIT。用这个命令来确认你所做的所有改变,删除被标上删除标记的邮件以及关闭连接。
其它POP3命令
POP3协议还支持另外三个命令:TOP、UIDL及APOP。这里只介绍第一个命令。TOP命令可用来获取邮件头及被预定义的一块字符串。通常如果你的邮箱中中一封容量很大的邮件时,这个命令特别有用。用TOP命令,你可以只显示邮件头的信息,从中找出邮件作者有主题。你甚至可以只下载这部分信息。该命令的语法如下:
TOPmsgn
msg-邮件的索引号
n-你想要显示的行数
分享到:
评论

相关推荐

    精彩编程与编程技巧-怎样接收电子邮件(POP3协议简介)...

    ### 知识点详解:如何通过POP3协议接收电子邮件 #### POP3协议简介 POP3(Post Office Protocol Version 3)是一种互联网标准协议,用于从邮件服务器上接收电子邮件。它是客户端/服务器架构的一种典型应用,允许...

    提供接收电子邮件的POP3协议.zip

    在这个“提供接收电子邮件的POP3协议.zip”压缩包中,包含了一系列与实现POP3协议相关的源代码文件,适合于VC++开发环境。 首先,我们看到的`Pop3.cpp`和`Pop3.h`是实现POP3功能的核心文件。`Pop3.cpp`通常包含了...

    C++开发的基于POP3协议的电子邮件接收端

    本项目是使用C++实现的一个基于POP3协议的电子邮件接收端,它允许用户从邮件服务器下载并管理他们的邮件。 POP3协议的基本工作流程如下: 1. 客户端连接到服务器:用户使用电子邮件客户端(在这种情况下,是用C++...

    提供接收电子邮件的POP3协议(19KB)

    POP3(Post Office Protocol version 3)是一种网络通信协议,主要用于从邮件服务器接收电子邮件。它在互联网上广泛应用,是客户端与邮件服务器之间交互的核心技术之一。这个压缩包包含的资源和源码似乎是为了帮助...

    vb接收电子邮件email的程序(pop3协议),支持附件.zip

    在"vb接收电子邮件email的程序(pop3协议),支持附件.zip"这个项目中,开发者已经创建了一个VB应用程序,能够通过POP3协议获取并处理电子邮件,包括下载带有附件的邮件。以下是该程序可能涉及的关键知识点: 1. **...

    pop3协议,收邮件!

    POP3(Post Office Protocol version 3)协议是互联网上用于接收电子邮件的标准协议之一。它允许用户从邮件服务器上下载邮件到本地设备,通常用于离线阅读邮件。在本项目中,我们看到的是一个使用C++编写的源代码...

    Pop3协议_收发邮件

    POP3(Post Office Protocol version 3)是一种电子邮件协议,它允许用户从邮件服务器上下载电子邮件。这个协议在互联网通信中扮演着重要的角色,特别是在那些需要离线阅读邮件的场景下。下面将详细介绍POP3协议的...

    基于SMTP_POP3协议的电子邮件自动收发系统的开发

    ### 基于SMTP_POP3协议的电子邮件自动收发系统的开发 #### 1. 引言 随着互联网技术的发展,电子邮件已经成为人们日常生活中不可或缺的一部分。它不仅提供了快速、便捷的信息交流方式,还支持多种格式的数据传输,...

    一个可移植的邮件接收(支持POP3协议)程序

    标题中的“一个可移植的邮件接收(支持POP3协议)程序”指的是一个软件应用程序,它设计成可以在多种操作系统或环境中运行,并且能够通过POP3(Post Office Protocol version 3)协议来接收电子邮件。POP3是一种广泛...

    RFC1939-POP3协议

    《POP3协议》RFC1939 是互联网标准草案,主要描述了Post Office Protocol的第三版,即POP3,这是一个用于接收电子邮件的协议。该协议主要用于小型设备或资源有限的节点,比如个人计算机或工作站,这些设备无法长期...

    修改后的POP3源代码,提供接收电子邮件的POP3协议(4KB)

    POP3(Post Office Protocol version 3)是一种网络通信协议,主要用作从邮件服务器接收电子邮件。这个标题和描述提到的是一个经过修改的POP3源代码,用于实现这一功能。源代码通常由程序员编写,用于控制计算机如何...

    电子邮件接收pop3

    电子邮件接收POP3是一种常见的电子邮件协议,用于从邮件服务器下载邮件到本地客户端。在这个主题中,我们将深入探讨POP3协议的工作原理、Java编程语言如何实现POP3邮件接收,以及与之相关的可视化界面设计。 POP3...

    pop3协议

    **POP3协议**(Post Office Protocol Version 3)是一种互联网标准协议,主要用于客户端从服务器上获取电子邮件。该协议最初是为了满足那些资源有限的小型网络节点的需求,例如工作站和个人计算机,这些设备可能不...

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

    POP3(Post Office Protocol 3)是一种电子邮件协议,用于从邮件服务器上下载电子邮件。它是 TCP/IP 协议族中的一个成员,由 RFC 1939 定义。POP3 协议允许用户从服务器上把邮件下载到本机主机上,同时根据客户端的...

    pop3协议 下载

    POP3协议的设计目的是为了简化电子邮件的接收过程,使得用户可以在本地计算机上管理邮件,而不是在服务器上。 #### 二、通信过程 用户从邮件服务器上接收邮件的过程遵循以下典型步骤: 1. **启动用户代理**:用户...

    利用Wirshark抓包分析SMTP协议和POP3协议.rar

    在本资源包中,我们重点关注的是如何使用Wireshark来分析SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)两种电子邮件传输协议。 SMTP是互联网上传输电子邮件的标准协议,它负责将...

    C语言的邮件pop3协议实现

    POP3(Post Office Protocol version 3)是一种电子邮件协议,用于从邮件服务器检索电子邮件。在C语言中实现POP3协议可以帮助我们理解网络通信的基本原理以及如何处理邮件数据。本项目是教师上课时的一个示例,旨在...

    Qt pop3接收邮件并下载附件程序

    Qt是一个跨平台的应用程序开发框架,广泛应用于C++编程,它提供了丰富的功能,包括网络通信模块,使得我们可以方便地处理电子邮件。POP3(Post Office Protocol version 3)是一种用于从邮件服务器检索邮件的协议,...

    pop3.rar_libnids smtp_libnids pop3_pop3_pop3 协议_pop3 邮件

    POP3(Post Office Protocol version 3)是一种广泛用于接收电子邮件的互联网标准协议。它允许用户从邮件服务器上下载新邮件,通常使用客户端软件如Outlook、Thunderbird等进行操作。在给定的“pop3.rar”压缩包中,...

Global site tag (gtag.js) - Google Analytics