Agora que baixei todas as mensagens e as armazenei em
Message[] temp;
Como faço para obter a lista de anexos de cada uma dessas mensagens para
List<File> attachments;
Nota: sem libs de terceiros, por favor, apenas JavaMail.
java
attachment
javamail
folone
fonte
fonte
A pergunta é muito antiga, mas talvez ajude alguém. Eu gostaria de expandir a resposta de David Rabinowitz.
não deve retornar todos os anexos como você espera, porque você pode ter correspondência onde a parte mista está sem disposição definida.
então, neste caso, você também pode verificar o nome do arquivo. Como isso:
EDITAR
há todo o código de trabalho usando a condição descrita acima. Como cada parte pode encapsular outras partes e o anexo deve ser aninhado, a recursão é usada para percorrer todas as partes
fonte
null
. Isso é correto?Economize algum tempo para o código em que você salva o arquivo de anexo:
com javax mail versão 1.4 e posteriores, você pode dizer
ao invés de
fonte
bodyPart
deve ser convertido primeiro paraMimeBodyPart
, como:((MimeBodyPart) bodyPart).saveFile("/tmp/" + bodyPart.getFileName());
Você pode simplesmente usar a API MimeMessageParser do Apache Commons Mail - getAttachmentList () junto com Commons IO e Commons Lang.
fonte