使用 Apache Camel 获取邮件附件信息
Get mail attachment information with Apache Camel
如何使用 Apache Camel 获取邮件附件信息,并且已经有一个 Exchange 对象?
如果你有maven项目,可以使用这个依赖:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-mail</artifactId>
<version>x.y.z</version>
</dependency>
然后如果您已经有一个 Exchange 对象,您可以试试这个:
Message message = exchange.getIn();
if (message.getAttachments().size() > 0) {
for (Map.Entry<String, DataHandler> entry : messageCopy.getAttachments().entrySet()) {
DataHandler dataHandler = entry.getValue();
//get the document filename
String attchmentFilename = dataHandler.getName();
String decodedFilename = MimeUtility.decodeText(attchmentFilename);
//get inputstream of attachment file
InputStream is = dataHandler.getInputStream();
//generic function for extracting attachment content
extractor(is);
}
}
我建议使用 Apache Tika inside extractor 函数来获取附件内容和其他信息
如何使用 Apache Camel 获取邮件附件信息,并且已经有一个 Exchange 对象?
如果你有maven项目,可以使用这个依赖:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-mail</artifactId>
<version>x.y.z</version>
</dependency>
然后如果您已经有一个 Exchange 对象,您可以试试这个:
Message message = exchange.getIn();
if (message.getAttachments().size() > 0) {
for (Map.Entry<String, DataHandler> entry : messageCopy.getAttachments().entrySet()) {
DataHandler dataHandler = entry.getValue();
//get the document filename
String attchmentFilename = dataHandler.getName();
String decodedFilename = MimeUtility.decodeText(attchmentFilename);
//get inputstream of attachment file
InputStream is = dataHandler.getInputStream();
//generic function for extracting attachment content
extractor(is);
}
}
我建议使用 Apache Tika inside extractor 函数来获取附件内容和其他信息