Hi, How are you looking for the attachment ? In the class loader resource or using path ?
I guess your attachement files are not found (either because it’s not private package of your bundle, or not imported correctly). Regards JB > Le 4 juin 2020 à 15:03, Kushal Gautam <kushal.gau...@gmail.com> a écrit : > > Camel Version: 2.20.3 > Java: Open JDK 1.8.0_242 > Karaf: 4.2.0 > > Hi: > > Currently, I am using camel-mail to fetch mails via IMAP. > > The route is pretty simple and looks like: > > from("imaps://{{IMAP_SERVER_URL}}" > + "?username={{IMAP_EMAIL_USER}}" > + "&password={{IMAP_EMAIL_PASS}}" > + "&unseen=true" > + "&delete=false" > + "&initialDelay=100" > + "&delay={{IMAP_POLL_DURATION}}") > ..... > > My custom processor looks something like below (most of the stuffs taken > from the attachments example): > > ... > @Override > public void process(Exchange exchange) throws Exception { > > exchange.getIn().setHeader("HAS_ATTACHMENTS", false); > > Map<String, DataHandler> attachments = > exchange.getIn().getAttachments(); > > if (attachments.size() > 0) { > for (String name : attachments.keySet()) { > DataHandler dh = attachments.get(name); > // get the file name > String filename = dh.getName(); > > System.out.println(filename); > > // check if the attachment is an xml file > // if not continue to another attachment > if(!filename.endsWith(".xml")) { > continue; > } > > System.out.println("email has an xml attachment"); > > // get the content and convert it to byte[] > byte[] data = exchange > .getContext() > .getTypeConverter() > .convertTo(byte[].class, dh.getInputStream()); > > exchange.getIn().setHeader("FILE_NAME", filename); > exchange.getIn().setHeader("HAS_ATTACHMENTS", true); > > exchange.getIn().setBody(data); > break; > } > } > ... > > If I send an email with some attachments, this code works perfectly fine > when I execute it via Netbeans. But, attachments.size() returns 0 for the > same code and same email inside Karaf. > > Do I need to configure something specific for this? > > Any inputs on this would be helpful. > > Thanks, > Cooshal.