Mere Javamail mailfetching
Som opfølger på mit spørgsmål fra sidste uge, har jeg nu fået et nyt problem.Sender jeg en mail fra outlook til min test-konto, kan jeg fint fetche og læse body med ((MimeMessage)msgs[i]).getContent());
Sender jeg derimod en mail via Javamail-APIet over samme Exchange-server som min outlook bruger, kan jeg ikke bruge "((MimeMessage)msgs[i]).getContent());", da jeg får en javax.mail.internet.MimeMultipart@4b4333 tilbage.
Bruger jeg derimod (((MimeMultipart)((MimeMessage)msgs[i]).getContent()).getBodyPart(0)).getContent(); kan jeg fint læse body på de mails, men tilgengæld virker denne metode ikke på mails sendt fra outlook, da jeg får en exception.
Forvirret? Ja jeg er.
Lige nu gør jeg således for at omgå problemet:
for(int i = 0; i < msgs.length; i++) {
try {
System.out.println((((MimeMultipart)((MimeMessage)msgs[i]).getContent()).getBodyPart(0)).getContent());
} catch (Exception e) {
System.out.println(((MimeMessage)msgs[i]).getContent());
} finally {
msgs[i].setFlag(Flags.Flag.DELETED, true);
}
}
Er der en nemmere/smartere måde at gøre det på?