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

2016-02-19 21:09 3 1 收藏

下面图老师小编跟大家分享怎样接收电子邮件(POP3协议简介),一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

【 tulaoshi.com - 编程语言 】

在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-你想要显示的行数->

来源:https://www.tulaoshi.com/n/20160219/1625412.html

延伸阅读
标签: 电脑入门
POP3/SMTP开关如何开启_QQ邮箱里的POP3/SMTP什么开启 为了保障用户邮箱的安全,QQ邮箱设置了POP3/SMTP的开关。系统缺省设置是“关闭”,在用户需要POP3/SMTP功能时请“开启”。
发送和接收电子邮件,对于某些执行特殊任务的应用程序而言,是一个十分有用的功能。例如,一个监视网络服务器资源使用情况的工具软件,如果它具有自动发送电子邮件的功能,那么当它发现服务器的资源使用已经接近事先设定的临界状态时,便可以向系统管理员发送一封告警的电子邮件,从而使系统管理员能够及时地采取措施,以避免重大事故的出现。在...
标签: SQLServer
通常大家都知道:SQL Server与Microsoft Exchange Server集成性很好,关于这方面的配置,在SQL Server的联机帮助里有详细的说明,在此不再赘述。然而我们更关心的问题是:在没有Exchange Server的情况下,如何配置SQL Server利用Internet 邮件服务器发送邮件? 笔者曾为这问题伤透了脑筋,搜遍了互联网上...
标签: Web开发
用Socket发送电子邮件在作者所申请的几个PHP 主页空间中,能够提供mail功能的实在不多,总是调用完mail()函数之后就毫 无下文了。但是电子邮件在网上生活中的作用越来越大。想一想网虫上网不收邮件能叫真正的网虫吗?邮件 的作用我不想再说了,但是如果主页空间不支持mail()发送那么怎么办呢?我也想过通过socket来实现邮件 发送,但无奈...
标签: 电脑入门
现在的网络越来越不安全,很多人会选择加密以防泄露,那么电子邮件要如何加密呢?下面图老师小编就给大家介绍下Linux系统下加密电子邮件的方法,一起来学习下吧。 在众多的邮件服务和邮件客户端中挑来挑去一定是件头痛的事情.可以考虑两种加密方法:SSL或TLS加密会保护发送到邮件服务器的登录名和密码.Gunpg是一款标准的、强大的Linux加密工...

经验教程

451

收藏

58
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部