@Override protected void doInitialize(UimaContext context) throws ResourceInitializationException { // Initialise charset for MBOX processing try { charset = Charset.forName(charsetName); } catch (UnsupportedCharsetException | IllegalCharsetNameException ce) { getMonitor().warn("Unsupported charset, {}. UTF-8 will be used.", charsetName, ce); charset = StandardCharsets.UTF_8; } // Initialise MBOX iterator try { mboxIterator = MboxIterator.fromFile(mbox) .charset(charset) .maxMessageSize(messageSize) .build() .iterator(); } catch (IOException ioe) { throw new ResourceInitializationException(ioe); } // Initialise message parser messageBuilder = new DefaultMessageBuilder(); messageBuilder.setContentDecoding(true); MimeConfig config = new MimeConfig.Builder().setMaxLineLen(10000).build(); messageBuilder.setMimeEntityConfig(config); // Build list of extensions to ignore for (String s : ignoreExtensions) { ignoreExtensionsList.add(s.trim().toLowerCase()); } }
messageBuilder.setContentDecoding(true); MimeConfig config = new MimeConfig.Builder().setMaxLineLen(10000).build(); messageBuilder.setMimeEntityConfig(config);
private boolean matchBufferInMailBeingMimeAware(final InputStream input, final CharBuffer buffer) throws IOException, MimeException { try { MimeConfig config = MimeConfig.custom().setMaxLineLen(-1).setMaxHeaderLen(-1).build();
.setMaxLineLen(100000) .setMaxHeaderLen(100000) .build();
public static MimeConfig.Builder copy(final MimeConfig config) { if (config == null) { throw new IllegalArgumentException("Config may not be null"); } return new Builder() .setStrictParsing(config.isStrictParsing()) .setMaxLineLen(config.getMaxLineLen()) .setMaxHeaderCount(config.getMaxHeaderCount()) .setMaxHeaderLen(config.getMaxHeaderLen()) .setMaxContentLen(config.getMaxContentLen()) .setCountLineNumbers(config.isCountLineNumbers()) .setHeadlessParsing(config.getHeadlessParsing()) .setMalformedHeaderStartsBody(config.isMalformedHeaderStartsBody()); }
.setMaxLineLen(100000) .setMaxHeaderLen(100000) .build();
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(parser, fileFactory, parsedRootPart)); parser.setRecurse(); try { parser.parse(new EOLConvertingInputStream(inputStream)); } catch (MimeException e) { throw new MessagingException("Failed to parse decrypted content", e); } return parsedRootPart; }
private static MimeStreamParser getMimeStreamParser() { MimeConfig parserConfig = new MimeConfig.Builder() .setMaxHeaderLen(-1) .setMaxLineLen(-1) .setMaxHeaderCount(-1) .build(); return new MimeStreamParser(parserConfig); }