Я разрабатываю почтовую почту клиента, используя 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
, a MimeMultiPart
, a SharedByteArrayInputstream
и другие (я думаю)... Есть ли способ всегда получать текст внутри тела сообщения? Благодарю!!