当前位置: 首页>>代码示例>>Java>>正文


Java MimeStreamParser类代码示例

本文整理汇总了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;
}
 
开发者ID:philipwhiuk,项目名称:q-mail,代码行数:23,代码来源:MimePartStreamParser.java

示例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);
    }

}
 
开发者ID:SpartaSystems,项目名称:holdmail,代码行数:22,代码来源:MimeUtils.java

示例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);
}
 
开发者ID:SpartaSystems,项目名称:holdmail,代码行数:17,代码来源:MimeUtilsTest.java

示例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;
}
 
开发者ID:scoute-dich,项目名称:K9-MailClient,代码行数:22,代码来源:MimePartStreamParser.java

示例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();
    }
}
 
开发者ID:linzeqipku,项目名称:SnowGraph,代码行数:27,代码来源:MailListExtractor.java

示例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);
    }
}
 
开发者ID:QSFT,项目名称:MimeUI,代码行数:26,代码来源:NonRecursiveMime4jMessageBuilder.java

示例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);
    }
}
 
开发者ID:philipwhiuk,项目名称:q-mail,代码行数:13,代码来源:MessageHeaderParser.java

示例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);
}
 
开发者ID:philipwhiuk,项目名称:q-mail,代码行数:10,代码来源:MessageHeaderParser.java

示例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);
    }
}
 
开发者ID:philipwhiuk,项目名称:q-mail,代码行数:40,代码来源:MimeMessage.java

示例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();
}
 
开发者ID:ram-sharma-6453,项目名称:email-mime-parser,代码行数:13,代码来源:EmailParseManager.java

示例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);
	
}
 
开发者ID:ram-sharma-6453,项目名称:email-mime-parser,代码行数:16,代码来源:ParserTest.java

示例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);
}
 
开发者ID:scoute-dich,项目名称:K9-MailClient,代码行数:8,代码来源:MessageHeaderParser.java

示例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);
    }
}
 
开发者ID:scoute-dich,项目名称:K9-MailClient,代码行数:33,代码来源:MimeMessage.java

示例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);

    }
}
 
开发者ID:daxslab,项目名称:daxSmail,代码行数:34,代码来源:MimeMessage.java

示例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);
	}

}
 
开发者ID:Blazebit,项目名称:blaze-storage,代码行数:11,代码来源:BinaryMessage.java


注:本文中的org.apache.james.mime4j.parser.MimeStreamParser类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。