试玩Apache Commons之IMAPMail

来源:互联网 发布:python分析日志文件 编辑:程序博客网 时间:2024/05/24 03:14

每天都会用到邮件,在家里总是用web或者foxmail来登录邮箱,在公司也是专门有教程step by step来配置邮箱,太傻瓜,以至于总是感觉稀里糊涂的。因为其他地方用到apache的开源项目,就顺便下载了Commons Net来看看(http://commons.apache.org/net/download_net.cgi),提供的还挺多,什么ntp,ftp等,注意到关于邮件,提供了三个例子IMAPMail POP3Mail SMTPMail,似乎都见过,但是还是不太明白,所以姑且研究下。

IMAP:通俗的说,client通过这个协议与服务器通信的时候,邮件还是在服务器的,但是在client的所有操作,都会反馈到服务器上,保证了服务器上和client的完全一致。

POP3:是一种离线协议标准,它准许Client端将服务器上的邮件下载到本地,在client上的操作不会同步到服务器上(目前改进的pop3已经有所改变)

SMTP:它是邮件传输协议,帮助邮件找到目的地址,个人理解有点像路由协议的作用。

其中IMAP和POP3都是接受协议,SMTP是发送协议。

在下载的包里面就有一个例子,还是比较详细了,但是我在试图使用org.apache.commons.net.imap.IMAPClient提供的list(String refName, String mailboxName)方法时,总是出现错误,按照rfc的定义,这个命令是列举当前路径下面的所有文件夹,所以我就用list("","*"),但是始终达不到效果,出息参数检验错误,通过抓包对比,标准数据报文是list "" *,所以修改了下list("\"\"","*")就好了,试用了下如果查看邮件内容,主要参看帖子http://hi.baidu.com/shadouyou/blog/item/3238c42aa5feb228d52af10b.html,写得挺不错的。

原创粉丝点击