Chciałbym wczytać tytuły wszystkich załączników znajdujących się na skrzynce pocztowej. Jak można upewnić się, że wiadomość ma załącznik korzystając z biblioteki JavaMail i protokołu IMAP?
Pierwszy sposób to:

if ( messages[i].getContentType().startsWith("multipart/MIXED") )
System.out.println("Wiadomosc posiada zalacznik");

i jest to najszybszy sposób jaki znam, tylko że nie mam pewności, czy jeżeli wiadomość jest typu "multipart/MIXED" to na pewno oznacza, że ma załącznik?

Bo jeżeli nie, to jest jeszcze drugi sposób:

Part p = mp.getBodyPart(k);
..........
if( Part.ATTACHMENT.equalsIgnoreCase(type))
System.out.println("Wiadomosc posiada zalacznik");

i jest to chyba pewniejsze, ale trwa dłużej (trzeba już sprawdzać części wiadomości).

Testowałem na skrzynce z 218 wiadomościami i 9 załącznikami i o ile pobierania informacji o załącznikach przy tym drugim sposobie zajmowało 40 sekund, to przy pierwszym sposobie tylko 15-17 sekund, czyli sporo szybciej, nie wiem tylko czy to pierwsze sprawdzanie jest poprawne?