java邮件第二篇--使用命令行接收邮件

   前言:为了知识的完整性,在这里将使用命令行接收邮件,也简单的介绍,本人使用命令行也仅仅会这些邮件的操作,主要是理解邮件发送的原理;

   邮件的发送主要是依据SMTP协议;邮件的接收则是依据POP协议,目前是POP3协议;

一、简介

        POP3(Post Office Protocol 3)即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。它是因特网电子邮件的第一个离线协议标准,POP3协议允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时根据客户端的操作删除或保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。POP3协议是TCP/IP协议族中的一员,,由RFC 1939 定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。

  POP3的常用命令:

  rfc1939文档中对pop3进行了定义,它采用的网络监听端口默认为110.

pop3协议中共定义了12条命令。 具体如下:

user username

该命令是pop3邮件客户端与邮件服务器建立链接后通常发送的第一条命令,username是收件人的帐户名称;



pass password

user成功登录后,pass命令用于传送用户明码


apop name,digest

它一md5摘要的形式向pop3邮件服务器提交帐户密码,用于替代user、pass命令;


stat

用于查询邮箱中的统计信息


uidl msg#

用于查询某封邮件的唯一标识符,msg#表示邮件的序号



list【msg#】

用于列出邮箱中的邮件信息msg#是不可选的参数,就是列出所有邮件,并列出序列


retr msg#

用于列出msg#所指的某封邮件的内容


dele msg#

删除msg#所指的邮件,pop3执行该命令时并不是真正把邮件删除,只有pop3客户端发出quit命令后,pop3服务器才真正删除所有设置了标记的邮件


rset

用于清除所有邮件的删除标记



top msg# n

用于获取某封邮件的邮件头和邮件体中的前n行内容,n表示要返回的邮件的前n行内容


noop

用于检测客户端与服务器的链接情况


quit

结束邮件接收过程,pop3接收到此命令后删除所有设置标记的邮件,并关闭与pop3客户端程序的网络链接。

二、演示邮件的接收

 首先,确定自己的收件箱的邮件,如下:来自新浪的一封邮件!

192723396.jpg



   邮件已经在网易的邮件服务器上了,我们所要做的就是,登录到网易的邮件服务器上,拿走我们的邮件;邮件的接收,依据的POP3协议,所以,我们登录的服务器,端口不一样,登录的用户名和密码也不需要base64的加密;

   网易的POP3服务器和端口为:pop3.163.com  11

我们打开DOS:

1、先连上网易的邮件服务器:telnet pop3.163.com  110

2、连上后,使用POP3的命令,便可输入用户名和密码(明码):

user  junxiuxiao

pass xxx

3、要看到你邮箱的状态,使用命令:stat

4、看到邮箱,状态之后要列出详细信息,可使用:  list

5、然后, 你需要指定需要接收的邮件:list 1

6、最后查看内容:retr 1

到此为止就已经完成邮件的接收!下图为邮件的内容:

201943330.jpg

你可能感兴趣的:(java)