Boa tarde Pessoal,
Alguém já se deparou com este erro ao tratar os anexos de um e-mail usando a API java mail?
private void extractAttachmentsFromMultipart(Multipart mp, List<MailAttachment> anexos, String chaveUnica)
throws Exception {
for (int i = 0; i < mp.getCount(); i++) {
MimeBodyPart part = (MimeBodyPart) mp.getBodyPart(i);
...
[ERROR] [08/Jul/2013 17:09:20.062] [PollingComponentSupport] Caught exception while polling: javax.mail.MessagingException: Missing start boundary
javax.mail.MessagingException: Missing start boundary
at javax.mail.internet.MimeMultipart.parsebm(MimeMultipart.java:713)
at javax.mail.internet.MimeMultipart.parse(MimeMultipart.java:383)
at javax.mail.internet.MimeMultipart.getCount(MimeMultipart.java:229)
at br.inf.gati.nfe.componentes.mail.NFeMailForNfeProcPoller.extractAttachmentsFromMultipart(NFeMailForNfeProcPoller.java:1905)
at br.inf.gati.nfe.componentes.mail.NFeMailForNfeProcPoller.poll(NFeMailForNfeProcPoller.java:569)
at org.apache.servicemix.components.util.PollingComponentSupport.run(PollingComponentSupport.java:65)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Pesquisar no google a respeito do erro, não?
Veja isto
olha eu não conheço essa api aew, mas já usei para teste essa aqui
http://commons.apache.org/proper/commons-net/
é bem fácil e n tive problema. funcionou com minha conta do hotmail
Prezados,
Bom dia,
No meu caso é uma aplicação comercial que faz uso bem abrangente do javax.mail https://javamail.java.net/nonav/docs/api/ e a esta altura do campeonato, é inviável mudar de API.
Eu o utilizo basicamente para verificar os anexos, extrair o que é de meu interesse e mover o e-mail para outra pasta de acordo com o resultado da análise sobre os anexos.
O Erro ocorre justamente na hora de aplicar um for();
sobre os anexos.
Em relação aos parâmetros mime, já tentei vários sem resultado.
Properties props = MailUtils.getPropertiesForProtocol(this.config, this.customTrustManagers);
props = MailUtils.getPropertiesForProtocol(this.config, this.customTrustManagers);
props.put("mail.debug", isDebugMode() ? true : false);
props.put("mail.mime.multipart.ignoreexistingboundaryparameter", true);
props.put("mail.mime.multipart.ignoremissingboundaryparamete", true);
props.put("mail.mime.multipart.ignorewhitespacelines", true);
props.put("mail.mime.ignoreunknownencoding", true);
props.put("mail.mime.parameters.strict", false);
System.setProperty("mail.mime.multipart.ignoreexistingboundaryparameter", "true");
System.setProperty("mail.mime.multipart.ignoremissingboundaryparamete", "true");
System.setProperty("mail.mime.multipart.ignorewhitespacelines", "true");
props.put("mail.imap.auth.plain.disable", false);
props.put("mail.imap.auth.ntlm.disable", false);
props.put("mail.imap.auth.gssapi.disable", false);
// para contas gmail
info("Protocolo: [ " + config.getProtocol() + " ]");
// if (config.getProtocol().toLowerCase().contains("imaps")){
props.put("mail.imap.ssl.checkserveridentity", false);
props.put("mail.imap.ssl.trust", "*");
props.put("mail.imaps.ssl.checkserveridentity", false);
props.put("mail.imaps.ssl.trust", "*");
// }
// props.put("javax.net.ssl.trustStore", "*");
applyCustomProperties(props);
session = Session.getInstance(props, config.getAuthenticator());