本文整理汇总了Java中org.apache.james.mime4j.parser.MimeStreamParser类的典型用法代码示例。如果您正苦于以下问题:Java MimeStreamParser类的具体用法?Java MimeStreamParser怎么用?Java MimeStreamParser使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
MimeStreamParser类属于org.apache.james.mime4j.parser包,在下文中一共展示了MimeStreamParser类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: parse
import org.apache.james.mime4j.parser.MimeStreamParser; //导入依赖的package包/类
public static MimeBodyPart parse(FileFactory fileFactory, InputStream inputStream)
throws MessagingException, IOException {
MimeBodyPart parsedRootPart = new MimeBodyPart();
MimeConfig parserConfig = new MimeConfig.Builder()
.setMaxHeaderLen(-1)
.setMaxLineLen(-1)
.setMaxHeaderCount(-1)
.build();
MimeStreamParser parser = new MimeStreamParser(parserConfig);
parser.setContentHandler(new PartBuilder(fileFactory, parsedRootPart));
parser.setRecurse();
try {
parser.parse(new EOLConvertingInputStream(inputStream));
} catch (MimeException e) {
throw new MessagingException("Failed to parse decrypted content", e);
}
return parsedRootPart;
}
示例2: parseMessageContent
import org.apache.james.mime4j.parser.MimeStreamParser; //导入依赖的package包/类
/**
* Parse the provided inputstream into the message domain
* @param rawContentStream The inputstream to the message RAW content
* @return A {@link MessageContent} object representing the parsed content, or
* a {@link HoldMailException} if parsing failed.
*/
public static MessageContent parseMessageContent(final InputStream rawContentStream) {
try {
MessageContentExtractor bodyPartExtractor = new MessageContentExtractor();
MimeStreamParser parser = new MimeStreamParser();
parser.setContentDecoding(true);
parser.setContentHandler(bodyPartExtractor);
parser.parse(rawContentStream);
return bodyPartExtractor.getParts();
} catch (MimeException | IOException e) {
throw new HoldMailException("Failed to parse body", e);
}
}
示例3: shouldFindAllBodyPartsOnParse
import org.apache.james.mime4j.parser.MimeStreamParser; //导入依赖的package包/类
@Test
public void shouldFindAllBodyPartsOnParse() throws Exception {
MessageContent expectedParts = mock(MessageContent.class);
whenNew(MimeStreamParser.class).withAnyArguments().thenReturn(mimeStreamParserMock);
whenNew(MessageContentExtractor.class).withNoArguments().thenReturn(messageContentExtractorMock);
when(messageContentExtractorMock.getParts()).thenReturn(expectedParts);
MessageContent actualParts = MimeUtils.parseMessageContent(inputStreamMock);
InOrder inOrder = inOrder(mimeStreamParserMock);
inOrder.verify(mimeStreamParserMock).setContentDecoding(true);
inOrder.verify(mimeStreamParserMock).setContentHandler(messageContentExtractorMock);
inOrder.verify(mimeStreamParserMock).parse(inputStreamMock);
assertThat(actualParts).isEqualTo(expectedParts);
}
示例4: parse
import org.apache.james.mime4j.parser.MimeStreamParser; //导入依赖的package包/类
public static MimeBodyPart parse(FileFactory fileFactory, InputStream inputStream)
throws MessagingException, IOException {
MimeBodyPart parsedRootPart = new MimeBodyPart();
MimeConfig parserConfig = new MimeConfig();
parserConfig.setMaxHeaderLen(-1);
parserConfig.setMaxLineLen(-1);
parserConfig.setMaxHeaderCount(-1);
MimeStreamParser parser = new MimeStreamParser(parserConfig);
parser.setContentHandler(new PartBuilder(fileFactory, parsedRootPart));
parser.setRecurse();
try {
parser.parse(new EOLConvertingInputStream(inputStream));
} catch (MimeException e) {
throw new MessagingException("Failed to parse decrypted content", e);
}
return parsedRootPart;
}
示例5: run
import org.apache.james.mime4j.parser.MimeStreamParser; //导入依赖的package包/类
public void run(GraphDatabaseService db) {
this.db = db;
MboxHandler myHandler = new MboxHandler();
myHandler.setDb(db);
MimeConfig config=new MimeConfig();
config.setMaxLineLen(-1);
parser = new MimeStreamParser(config);
parser.setContentHandler(myHandler);
parse(new File(mboxPath));
try (Transaction tx = db.beginTx()) {
for (String address : myHandler.getMailUserNameMap().keySet()) {
Node node = myHandler.getMailUserMap().get(address);
node.setProperty(MAILUSER_NAMES, String.join(", ", myHandler.getMailUserNameMap().get(address)));
}
tx.success();
}
try (Transaction tx = db.beginTx()) {
for (String mailId : myHandler.getMailReplyMap().keySet()) {
Node mailNode = myHandler.getMailMap().get(mailId);
Node replyNode = myHandler.getMailMap().get(myHandler.getMailReplyMap().get(mailId));
if (mailNode != null & replyNode != null)
mailNode.createRelationshipTo(replyNode, RelationshipType.withName(MailListExtractor.MAIL_IN_REPLY_TO));
}
tx.success();
}
}
示例6: parseMessage
import org.apache.james.mime4j.parser.MimeStreamParser; //导入依赖的package包/类
@Override
public Message parseMessage(final InputStream is)
throws IOException
{
try
{
final MessageImpl message = new MessageImpl();
final DecodeMonitor mon = DecodeMonitor.SILENT;
final BodyDescriptorBuilder bdb = new DefaultBodyDescriptorBuilder(null, LenientFieldParser.getParser(), mon);
final MimeTokenStream tokenStream = new MimeTokenStream(new MimeConfig(), mon, bdb);
final MimeStreamParser parser = new MimeStreamParser(tokenStream);
tokenStream.setRecursionMode(RecursionMode.M_NO_RECURSE);
parser.setContentHandler(new MimeUIEntityBuilder(message, new BasicBodyFactory()));
parser.setContentDecoding(true);
parser.parse(is);
return message;
}
catch (final MimeException e)
{
throw new MimeIOException(e);
}
}
示例7: parse
import org.apache.james.mime4j.parser.MimeStreamParser; //导入依赖的package包/类
public static void parse(final Part part, InputStream headerInputStream) throws MessagingException {
MimeStreamParser parser = getMimeStreamParser();
parser.setContentHandler(new MessageHeaderParserContentHandler(part));
try {
parser.parse(headerInputStream);
} catch (MimeException me) {
throw new MessagingException("Error parsing headers", me);
} catch (IOException e) {
throw new MessagingException("I/O error parsing headers", e);
}
}
示例8: getMimeStreamParser
import org.apache.james.mime4j.parser.MimeStreamParser; //导入依赖的package包/类
private static MimeStreamParser getMimeStreamParser() {
MimeConfig parserConfig = new MimeConfig.Builder()
.setMaxHeaderLen(-1)
.setMaxLineLen(-1)
.setMaxHeaderCount(-1)
.build();
return new MimeStreamParser(parserConfig);
}
示例9: parse
import org.apache.james.mime4j.parser.MimeStreamParser; //导入依赖的package包/类
private void parse(InputStream in, boolean recurse) throws IOException, MessagingException {
mHeader.clear();
mFrom = null;
mTo = null;
mCc = null;
mBcc = null;
mReplyTo = null;
xOriginalTo = null;
deliveredTo = null;
xEnvelopeTo = null;
mMessageId = null;
mReferences = null;
mInReplyTo = null;
mSentDate = null;
mBody = null;
MimeConfig parserConfig = new MimeConfig.Builder()
// The default is a mere 10k
.setMaxHeaderLen(-1)
// The default is 1000 characters. Some MUAs generate REALLY long References: headers
.setMaxLineLen(-1)
// Disable the check for header count.
.setMaxHeaderCount(-1)
.build();
MimeStreamParser parser = new MimeStreamParser(parserConfig);
parser.setContentHandler(new MimeMessageBuilder(new DefaultBodyFactory()));
if (recurse) {
parser.setRecurse();
}
try {
parser.parse(new EOLConvertingInputStream(in));
} catch (MimeException me) {
throw new MessagingException(me.getMessage(), me);
}
}
示例10: getParsedEmail
import org.apache.james.mime4j.parser.MimeStreamParser; //导入依赖的package包/类
public Email getParsedEmail() throws MimeException, IOException {
MimeConfig mime4jParserConfig = MimeConfig.DEFAULT;
BodyDescriptorBuilder bodyDescriptorBuilder = new DefaultBodyDescriptorBuilder();
MimeStreamParser mime4jParser = new MimeStreamParser(mime4jParserConfig,DecodeMonitor.SILENT,bodyDescriptorBuilder);
mime4jParser.setContentDecoding(true);
mime4jParser.setContentHandler(contentHandler);
mime4jParser.parse(rawEmailFile);
return ((CustomContentHandler)contentHandler).getEmail();
}
示例11: parseEmail
import org.apache.james.mime4j.parser.MimeStreamParser; //导入依赖的package包/类
private void parseEmail(String messageFileName, ContentHandler contentHandler) throws FileNotFoundException,
MimeException, IOException {
MimeConfig mime4jParserConfig = MimeConfig.DEFAULT;
BodyDescriptorBuilder bodyDescriptorBuilder = new DefaultBodyDescriptorBuilder();
MimeStreamParser mime4jParser = new MimeStreamParser(mime4jParserConfig,DecodeMonitor.SILENT,bodyDescriptorBuilder);
mime4jParser.setContentDecoding(true);
mime4jParser.setContentHandler(contentHandler);
URL url = this.getClass().getClassLoader().getResource(messageFileName);
InputStream mailIn = new FileInputStream(new File(url.getFile()));
mime4jParser.parse(mailIn);
}
示例12: getMimeStreamParser
import org.apache.james.mime4j.parser.MimeStreamParser; //导入依赖的package包/类
private static MimeStreamParser getMimeStreamParser() {
MimeConfig parserConfig = new MimeConfig();
parserConfig.setMaxHeaderLen(-1);
parserConfig.setMaxLineLen(-1);
parserConfig.setMaxHeaderCount(-1);
return new MimeStreamParser(parserConfig);
}
示例13: parse
import org.apache.james.mime4j.parser.MimeStreamParser; //导入依赖的package包/类
private void parse(InputStream in, boolean recurse) throws IOException, MessagingException {
mHeader.clear();
mFrom = null;
mTo = null;
mCc = null;
mBcc = null;
mReplyTo = null;
mMessageId = null;
mReferences = null;
mInReplyTo = null;
mSentDate = null;
mBody = null;
MimeConfig parserConfig = new MimeConfig();
parserConfig.setMaxHeaderLen(-1); // The default is a mere 10k
parserConfig.setMaxLineLen(-1); // The default is 1000 characters. Some MUAs generate
// REALLY long References: headers
parserConfig.setMaxHeaderCount(-1); // Disable the check for header count.
MimeStreamParser parser = new MimeStreamParser(parserConfig);
parser.setContentHandler(new MimeMessageBuilder());
if (recurse) {
parser.setRecurse();
}
try {
parser.parse(new EOLConvertingInputStream(in));
} catch (MimeException me) {
throw new MessagingException(me.getMessage(), me);
}
}
示例14: parse
import org.apache.james.mime4j.parser.MimeStreamParser; //导入依赖的package包/类
protected void parse(InputStream in, boolean recurse) throws IOException, MessagingException {
mHeader.clear();
mFrom = null;
mTo = null;
mCc = null;
mBcc = null;
mReplyTo = null;
mMessageId = null;
mReferences = null;
mInReplyTo = null;
mSentDate = null;
mBody = null;
MimeConfig parserConfig = new MimeConfig();
parserConfig.setMaxHeaderLen(-1); // The default is a mere 10k
parserConfig.setMaxLineLen(-1); // The default is 1000 characters. Some MUAs generate
// REALLY long References: headers
parserConfig.setMaxHeaderCount(-1); // Disable the check for header count.
MimeStreamParser parser = new MimeStreamParser(parserConfig);
parser.setContentHandler(new MimeMessageBuilder());
if (recurse) {
parser.setRecurse();
}
try {
parser.parse(new EOLConvertingInputStream(in));
} catch (MimeException me) {
throw new Error(me);
}
}
示例15: BinaryMessage
import org.apache.james.mime4j.parser.MimeStreamParser; //导入依赖的package包/类
BinaryMessage(InputStream is) throws IOException, MimeIOException {
try {
MimeStreamParser parser = new MimeStreamParser(null);
parser.setContentHandler(new BinaryOnlyMessageBuilder(this, DefaultStorageProvider.getInstance()));
parser.parse(is);
} catch (MimeException e) {
throw new MimeIOException(e);
}
}