【发布时间】:2012-06-29 17:18:05
【问题描述】:
我正在使用 javax.mail 开发客户端邮件来阅读邮箱内的邮件:
Properties properties = System.getProperties();
properties.setProperty("mail.store.protocol", "imap");
try {
Session session = Session.getDefaultInstance(properties, null);
Store store = session.getStore("pop3");//create store instance
store.connect("pop3.domain.it", "mail.it", "*****");
Folder inbox = store.getFolder("inbox");
FlagTerm ft = new FlagTerm(new Flags(Flags.Flag.SEEN), false);
inbox.open(Folder.READ_ONLY);//set access type of Inbox
Message messages[] = inbox.search(ft);
String mail,sub,bodyText="";
Object body;
for(Message message:messages) {
mail = message.getFrom()[0].toString();
sub = message.getSubject();
body = message.getContent();
//bodyText = body.....
}
} catch (Exception e) {
System.out.println(e);
}
我知道getContent() 方法返回一个对象,因为内容可能是String、MimeMultiPart、SharedByteArrayInputstream 和其他(我认为)......有没有办法让消息正文中的文本?谢谢!!
【问题讨论】:
-
你得到什么样的输出???你不能利用
msg.getContentType()来识别类型并根据类型处理邮件吗?? -
我不需要知道内容是什么类型,我只需要知道里面的文字
-
每个具有不同 MIME 类型的邮件都需要以不同的方式处理才能获得文本。所以你需要切换使用
getContentType -
这里有一个非常奇怪的 POP3 和 IMAP 组合。
标签: java mime multipart jakarta-mail