我能够正确地从字段和主题字段获取,但即使我使用toString()方法,我仍然以对象格式获取邮件内容.
请查看以下源代码
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();
}
}
Run Code Online (Sandbox Code Playgroud)
}
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
Run Code Online (Sandbox Code Playgroud)
您需要遍历所有多部分,然后检查其MIME类型,Part以便知道您是否必须将其视为文本或附件.
for(int i=0;i<multipart.getCount();i++) {
BodyPart bodyPart = multipart.getBodyPart(i);
if (bodyPart.isMimeType("text/*")) {
String s = (String) bodyPart.getContent();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12623 次 |
| 最近记录: |