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

}

效果图:
这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千杯不醉476

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值