Giter Club home page Giter Club logo

james-project's Introduction

Apache James Project

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

james logo

James stands for Java Apache Mail Enterprise Server!

It has a modular architecture based on a rich set of modern and efficient components which provides at the end complete, stable, secure and extendable Mail Servers running on the JVM.

Create your own personal solution for emails treatment by assembling the components you need thanks to the Inversion of Control mail platform offered and go further customizing filtering and routing rules using James Mailet Container.

Supported protocols are: IMAP, SMTP, JMAP, POP3 and more…​

The Distributed server focuses on delivering an easy-to-operate scalable mail server based on modern technologies (Cassandra, S3, OpenSearch and RabbitMQ).

Read more on our website.

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 …​

How to try James

Read more…​

Requirements: docker installed.

Here you will try James server version 3.8.0 thanks to a docker image. This James image has a default configuration using JPA (hsqldb) and Lucene. It also includes a default domain named james.local and three default users: [email protected], [email protected], [email protected], with their default password being 1234.

Note: this James server will respond to IMAPS port 993 and SMTPS port 465.

Pull and run the James image with the following single command:

    $ docker run -p "465:465" -p "993:993" apache/james:demo-3.8.0

Then, connect this image with for instance, Thunderbird. This tutorial covers more in depth user and domain creation, as well as Thunderbird setup.

Instructions that do not imply docker are also available here.

Instructions for the distributed server can be found here.

How to check the compilation

Read more…​

We require maven version 3.6.1 minimum to build the project.

First, clone the repository locally:

    $ git clone [email protected]:apache/james-project.git

Then 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.

  • -Dmaven.javadoc.skip=true to skip the javadoc generation.

How to run James in Docker

Using the CLI

Develop on James

James requires at least JDK 11 and Maven 3.6.1 to build. Some parts of James are written in Scala so one might need to enable Scala plugin in IDE.

We maintain code examples to help you write your own extensions and wire your own servers.

This page details how to run deployment Tests.

Know more about James design

A more precise description of the Distributed Server architecture can be found here.

james-project's People

Contributors

aduprat avatar arsnael avatar billyfrost418 avatar blackheaven avatar chibenwa avatar cketti avatar dleangen avatar dtrebbien avatar fvn-linagora avatar hoangdat avatar hungphan227 avatar ieugen avatar itstechupnorth avatar jeantil avatar lankhuat avatar laura-royet avatar matzepan avatar maxxx873 avatar mbaechler avatar mschnitzler avatar normanmaurer avatar nvduc91 avatar ottoka avatar ouvtam avatar quantranhong1999 avatar remk avatar thanhbv200585 avatar trantienduchn avatar vttranlina avatar woj-tek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.