
Serveur de messagerie Java modulaire prenant en charge IMAP, SMTP, POP3 et JMAP avec déploiement Docker, architecture distribuée et gestion en ligne de commande pour une infrastructure de messagerie d'entreprise sécurisée.
:latest_james_version: 3.8.0
image:https://img.shields.io/badge/Join%20us-Mailing%20lists-purple.svg[link="https://james.apache.org/mail.html"] link:https://gitter.im/apache/james-project[image:https://badges.gitter.im/apache/james-project.svg[Join the chat at link:https://gitter.im/apache/james-project]] image:https://img.shields.io/badge/CI-Jenkins-blue.svg[link="https://ci-builds.apache.org/job/james/job/ApacheJames/"] image:https://img.shields.io/badge/Documentation-green.svg[link="https://james.apache.org/documentation.html"] image:https://img.shields.io/badge/Downloads-{latest_james_version}-yellow.svg[link="https://james.apache.org/download.cgi"] image:https://img.shields.io/badge/Images-docker-blue.svg[link="https://hub.docker.com/r/apache/james"] image:https://img.shields.io/badge/License-ApacheV2-orange.svg[link="https://www.apache.org/licenses/"] image:https://img.shields.io/badge/Latests-news-red.svg[link="https://james.apache.org/index.html#posts"]
image::james-logo.png[link="https://james.apache.org"]
James signifie Java Apache Mail Enterprise Server !
Il possède une architecture modulaire basée sur un ensemble riche de composants modernes et efficaces qui fournissent au final des serveurs de messagerie complets, stables, sécurisés et extensibles fonctionnant sur la JVM.
Créez votre propre solution personnalisée pour le traitement des e-mails en assemblant les composants dont vous avez besoin grâce à la plateforme de messagerie à Inversion de Contrôle fournie, et allez plus loin en personnalisant les règles de filtrage et de routage à l'aide du James Mailet Container.
Les protocoles pris en charge sont : IMAP, SMTP, link:https://jmap.io[JMAP], POP3 et plus...
Le link:https://james.staged.apache.org/james-distributed-app/{latest_james_version}/index.html[*serveur distribué*] se concentre sur la fourniture d'un serveur de messagerie évolutif et facile à exploiter, basé sur des technologies modernes (Cassandra, S3, OpenSearch et RabbitMQ).
Lisez-en plus sur https://james.apache.org/[notre site web].
== Comment contribuer ?
James est un projet qui vit grâce aux contributions de sa communauté ! Tout le monde peut contribuer !
Lisez https://james.apache.org/index.html#third[comment contribuer].
Nous accueillons plus que volontiers les articles et billets de blog sur James. Contactez-nous par https://james.apache.org/mail.html[email] ou sur https://gitter.im/apache/james-project[Gitter] pour partager vos expériences.
La documentation est un moyen facile de commencer, et plus que souhaité ! Consultez le label https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20documentation%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC[~documentation] sur JIRA.
Et pour commencer avec les contributions de code, recherchez les labels https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20newbie%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC[~newbie], https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20easyfix%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC[~easyfix], https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20feature%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC[~feature] sur JIRA.
== Comment essayer James
Prérequis : docker installé.
Ici, vous essaierez le serveur James version {latest_james_version} grâce à une image docker. Cette image James a une configuration par défaut utilisant JPA (hsqldb) et Lucene. Elle inclut également un domaine par défaut nommé james.local et trois utilisateurs par défaut : [email protected], [email protected], [email protected], avec leur mot de passe par défaut 1234.
Remarque : ce serveur James répondra sur le port IMAPS 993 et le port SMTPS 465.
Tirez et exécutez l'image James avec la commande unique suivante :
$ docker run -p "465:465" -p "993:993" apache/james:demo-{latest_james_version}
Ensuite, connectez cette image avec, par exemple, Thunderbird. link:https://james.apache.org/howTo/imap-server.html[Ce tutoriel] couvre plus en profondeur la création d'utilisateurs et de domaines, ainsi que la configuration de Thunderbird.
Les instructions qui n'impliquent pas docker sont également disponibles link:https://james.apache.org/server/install.html[ici].
== Comment vérifier la compilation
Nous exigeons link:https://maven.apache.org[maven] version 3.6.1 minimum pour construire le projet.
$ git clone [email protected]:apache/james-project.git
Ensuite, exécutez simplement mvn clean install dans ce répertoire pour compiler le projet.
Les options utiles incluent :
-DskipTests pour ignorer la longue suite de tests consommant des ressources qui nécessite un démon docker.-T 4 pour paralléliser la construction sur plusieurs CPU.-Dmaven.javadoc.skip=true pour ignorer la génération javadoc.
====== Comment exécuter James dans Docker
Nous maintenons une distribution docker pour nos applications basées sur link:https://github.com/google/guice[Guice] :
== Utilisation de la CLI
Voir https://james.apache.org/server/manage-cli.html[Gérer James via la ligne de commande] pour plus d'informations.
== Développer sur James
James nécessite au moins JDK 11 et Maven 3.6.1 pour être construit. Certaines parties de James sont écrites en Scala, donc il peut être nécessaire d'activer le plugin Scala dans l'IDE.
Nous maintenons des link:examples/README.md[exemples de code] pour vous aider à écrire vos propres extensions et à configurer vos propres serveurs.
link:docs/modules/development/pages/deployment-tests.adoc[Cette page] détaille comment exécuter les tests de déploiement.
== En savoir plus sur la conception de James
James est livré avec une https://james.apache.org/documentation.html[Documentation] et des https://github.com/linagora/james-project/tree/master/src/adr[Architectural Decision Records].
Une description plus précise de l'architecture du serveur distribué se trouve link:https://james.staged.apache.org/james-distributed-app/{latest_james_version}/architecture/index.html[ici].
== Articles pour la communauté James