JavaMail與Jsoup整合

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 {

@Test
public 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();
}

}

效果圖:
這裏寫圖片描述

發佈了27 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章