java如何接收Email、阿里云邮箱、163邮箱,接收到邮箱正
前言:
这两天在搞数据整合,正好遇到技术总监让我整合阿里云邮箱7个月数据,一天一封邮件100多条数据这要手动搞这要到猴年马月。没办法到网上看各种奇葩邮箱博客。
这里直接留下源码Demo(备注这是获取163邮箱的):http://pan.baidu.com/s/1bOkCb0
不过事先声明这里163邮箱用到本人手机号,所以demo需要密码经过本人同意才行
qq:179061434
现在进入正题:
对应依赖:
mail依赖这三个比较重要新手很多都是在这里踩坑,幸好有几个开发好友做过,所以帮忙踩坑了。
先说第一个:Stringhost ="pop.163.com"; 这里其实就是pop3地址
这里很多人不知道填什么如图你就知道了:
通常163都是要自己开启授权的。
在说第二点 String username 其实就是邮箱帐号
第三点这里是重点:String password 猛一看是密码没错,不过不是帐号中的密码,而是授权码(如图):
这三个写对加上我的demo就可以获取所有邮箱了,就这么简单。
接下来说说阿里云邮箱,阿里云邮箱和163邮箱最大的区别就是,163需要授权而阿里云不要,只要帐号密码和第一个pop3地址
先说一下我用的是阿里云企业版,刚刚开始我测试的时候,阿里云企业版找不到pop3地址,蒙圈了,这里为了大众不像我那样,我还是截图一下:
添加帮助 这里就找到pop3地址了第一个有了,剩下的两个就是阿里云的帐号密码,剩下和163邮箱一样。
现在说一下最重要的问题,就是接收到email正文是html怎么办。。。。。?特伤脑经
先说一下我的任务:
特定主题:LOL游戏数据
那就是通过Jsoup解析
先看对应依赖
jsoup依赖首先 我的demo可以通过:
获取主题这样可以通过获取主题筛选出我要的邮件:
筛选要的邮件然后就是获取正文html页面:
获取的正文内容因为正文是html页面,这里就用到了Jsoup解析:
这里就是用到Jsoup解析标签提取数据箭头指的就是shoup获取所有div标签。
我要获取时间但是时间里面有汉字干扰,我就去掉所有除字母以外的正则。
第二个方框其实就是获取div标签下的li标签里面的数据存储数据库。
就是这么简单
这里源码比较重要:
http://pan.baidu.com/s/1slx8afj
需要本人同意方可!