k8s 中文文档 k8s 中文文档
指南
kubernetes.io (opens new window)
指南
kubernetes.io (opens new window)
  • k8s 是什么
  • 互动教程

  • Minikube 介绍

  • 概念

  • Kubectl CLI

  • Kubectl 命令表

  • 安装设置

  • API 使用

  • 集群管理

  • TASKS

Apache James Project


james logo

Jamesstands for Java Apache Mail Enterprise Server!

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

Create your own personal solutionfor 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!

Read how to contribute.

We more than welcome articlesand blog postsabout James. Contact us by email or on Gitter to share your experiences.

Documentationis 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.7.1 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: user01@james.local, user02@james.local, user03@james.local, 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.7.1

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.

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 run James in Docker


Read more…​We maintain docker distribution for our Guice based applications:

Guice + Cassandra + RabbitMQ + S3 + OpenSearch (distributed)

Guice + Cassandra + OpenSearch

Guice + JPA + Lucene

Guice + Memory (testing)

Using the CLI


See Manage James via the Command Line for more info.

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


James comes with a Documentation and Architectural Decision Records.

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

Articles for James community


How to build and publish the website

How to release via maven release plugin
Last Updated: 2023-09-03 19:17:54