JavaMail与Jsoup整合

来源:互联网 发布:无翼鸟app软件下载 编辑:程序博客网 时间:2024/06/05 20:32

Javamail与Jsoup整合

开发需求:通过第三方获取各邮箱内容
主要jar包:jsoup.jar-1.6.0.jar,javax.mail-1.5.0.jar

说明:
1.测试目标为163或126网易邮箱,功能实现且数据无误;QQ邮箱存在SSL加密,需手动设置。
2.三方登陆需要开启邮箱的POP3(发送还需要开启SMTP)功能。
3.程序中的密码为开启POP3时设置的密码,不是邮箱登陆密码。
4.不同邮箱的服务器属性不同,百度一下就有。

网易邮箱开启POP3截图:

这里写图片描述

这里写图片描述

代码:
public class SendTest {

@Testpublic void test() throws MessagingException, IOException {    //配置pop3服务器属性    String pop3Server = "pop.163.com";    String protocol = "pop3";    String user = "15021234103";    String pwd = "lucky123";    //创建具有连接信息的properties对象    Properties props = new Properties();    props.setProperty("mail.store.protocol", protocol);    props.setProperty("mail.pop3.host", pop3Server);    //使用properties对象获取session对象    Session session = Session.getInstance(props);//  session.setDebug(true);    //利用session对象获取store对象,并链接pop3服务器    Store store = session.getStore();    store.connect(pop3Server,user,pwd);    //获得邮箱内的邮件夹folder对象,只读    Folder folder = store.getFolder("inbox");    folder.open(Folder.READ_ONLY);    //获得邮件夹folder内所有邮件messages对象    Message[] messages = folder.getMessages();    int mailCounts = messages.length;    System.out.println("共有"+mailCounts+"封邮件");    for(int i=0;i<mailCounts;i++){        String subject = messages[i].getSubject();        String from = (messages[i].getFrom()[0]).toString();        System.out.println("第"+(i+1)+"封邮件的主题:"+subject);        System.out.println("第"+(i+1)+"封邮件的发件人地址:"+from);        //System.out.println("是否打开该邮件(yes/no)?:");        /*        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));        String input = br.readLine();        if("yes".equalsIgnoreCase(input)){            messages[i].writeTo(System.out);        }*/        System.out.println("start!");        BodyPart messageBodyPart = new MimeBodyPart();        messageBodyPart.setContent("内容", "text/plain;charset=GB2312");        messageBodyPart.setDataHandler(messages[0].getDataHandler());    //  System.out.println(messageBodyPart.getContent());        String domtemp = (String) messageBodyPart.getContent();        //System.out.println(domtemp);        System.out.println("-----------------------------------");        Document dom = Jsoup.parse(domtemp);        Elements strongs = dom.select("div");        for(Element strong:strongs){            System.out.println(strong.text());        }        System.out.println("over!-----------------------------");    }    folder.close(false);    store.close();}

}

效果图:
这里写图片描述

1 0
原创粉丝点击