Skip to content

apache/james-mime4j

Apache James MIME4J

Join%20us Mailing%20lists purple Join the chat at link:https://gitter.im/apache/james-project CI Jenkins blue Documentation green Downloads 0.8.11 yellow Tickets JIRA blue License ApacheV2 orange Latests news red

james logo

Mime4j can be used to parse e-mail message streams in plain rfc822 and MIME format and to build a tree representation of an e-mail message.

The parser uses a callback mechanism to report parsing events such as the start of an entity header, the start of a body. The parser has been designed to be extremely tolerant against messages violating the standards.

Mime4j can also be used to build a tree representation of an e-mail message via the DOM API.

How to contribute?

Read more…​

James is a project that lives from the contributions of its community! Anyone can contribute!

We more than welcome articles and blog posts about James. Contact us by email or on Gitter to share your experiences.

Documentation is an easy way to get started, and more than wanted! Check out the ~documentation label on JIRA.

And to get started with code contributions, search out the ~newbie, ~easyfix, ~feature labels on JIRA.

There is many other ways one can help us: packaging, communication, etc …​

Maven dependencies

Read more…​

Add this maven dependency to import MIME4J core:

<dependency>
    <groupId>org.apache.james</groupId>
    <artifactId>apache-mime4j-core</artifactId>
    <version>0.8.11</version>
</dependency>

Add this maven dependency to import MIME4J dom:

<dependency>
    <groupId>org.apache.james</groupId>
    <artifactId>apache-mime4j-dom</artifactId>
    <version>0.8.11</version>
</dependency>

How to compile the project

Read more…​

We require maven version 3.6.0 minimum to build the project.

Simply run mvn clean install within this directory to compile the project.

Useful options includes:

  • -DskipTests to skip the long to execute resource consuming test suite that requires a docker daemon.

  • -T 4 to parallelize the build on several CPUs.

How to use MIME4J

We maintain a set of examples detailing how one can use MIME4J.