使用Java Mail API读取邮件内容 [英] Reading Mail Content Using Java Mail API

查看:2059
本文介绍了使用Java Mail API读取邮件内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我能够正确获取from字段和subject字段,但即使我使用toString()方法,我也会以对象格式获取邮件内容..

I am able to get the from field and subject field correctly , But i am getting the Mail Content in Object Format even though i m using toString() method..

请查看以下源代码

    try {
        Session session = Session.getInstance(props, null);
        Store store = session.getStore();
        store.connect("imap.gmail.com", "mymail@gmail.com", "****");
        Folder inbox = store.getFolder("INBOX");
        inbox.open(Folder.READ_ONLY);
        Message msg = inbox.getMessage(inbox.getMessageCount());
        Address[] in = msg.getFrom();
        for (Address address : in) {
            System.out.println("FROM:" + address.toString());
        }

        Object obj = msg.getContent();
        //Multipart mp = (Multipart)obj;

        Multipart mp = (Multipart) msg.getContent();
       // MimeBodyPart part = (MimeBodyPart)mp.getBodyPart(0);
        BodyPart bp = ((Multipart) msg.getContent()).getBodyPart(0);

        // Object body = msg.getContent();

        //String value = String.valueOf(body);

        System.out.println("SENT DATE:" + msg.getSentDate());
        System.out.println("SUBJECT:" + msg.getSubject());
        System.out.println("CONTENT:" + bp.getContent().toString());
    } catch (Exception mex) {
        mex.printStackTrace();
    }
}

}

    output console:

   FROM:Myname <mymail@gmail.com>
   SENT DATE:Tue Nov 05 12:28:24 IST 2013
   SUBJECT:test
  CONTENT:javax.mail.internet.MimeMultipart@5117f31e


推荐答案

您需要遍历所有多部分,然后检查 MIME Part 的类型,以便知道您是否必须将其视为文本或附件。

You need to iterate through all multiparts, then check MIME type of the Part in order to know if you have to treat it like a text or an attachment.

for(int i=0;i<multipart.getCount();i++) {
    BodyPart bodyPart = multipart.getBodyPart(i);
    if (bodyPart.isMimeType("text/*")) {
        String s = (String) bodyPart.getContent();
    }
}

这篇关于使用Java Mail API读取邮件内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆