
Server di posta modulare in Java con supporto per IMAP, SMTP, POP3 e JMAP, con distribuzione tramite Docker, architettura distribuita e gestione CLI per un'infrastruttura di posta elettronica aziendale sicura.
: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 sta per Java Apache Mail Enterprise Server!
Ha un'architettura modulare basata su un ricco insieme di componenti moderni ed efficienti che fornisce in definitiva server di posta completi, stabili, sicuri ed estendibili eseguiti sulla JVM.
Crea la tua soluzione personale per il trattamento delle email assemblando i componenti di cui hai bisogno grazie alla piattaforma di posta a Inversion of Control offerta e spingiti oltre personalizzando le regole di filtraggio e routing utilizzando il James Mailet Container.
I protocolli supportati sono: IMAP, SMTP, link:https://jmap.io[JMAP], POP3 e altri...
Il link:https://james.staged.apache.org/james-distributed-app/{latest_james_version}/index.html[*server distribuito*] si concentra sulla fornitura di un server di posta scalabile e facile da gestire basato su tecnologie moderne (Cassandra, S3, OpenSearch e RabbitMQ).
Leggi di più sul https://james.apache.org/[nostro sito web].
== Come contribuire?
James è un progetto che vive grazie ai contributi della sua community! Chiunque può contribuire!
Leggi https://james.apache.org/index.html#third[come contribuire].
Accogliamo con grande piacere articoli e post di blog su James. Contattaci via https://james.apache.org/mail.html[email] o su https://gitter.im/apache/james-project[Gitter] per condividere le tue esperienze.
La documentazione è un modo semplice per iniziare, ed è più che gradita! Controlla l'etichetta 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] su JIRA.
E per iniziare con i contributi al codice, cerca le 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] su JIRA.
== Come provare James
Requisiti: docker installato.
Qui proverai il server James versione {latest_james_version} grazie a un'immagine docker. Questa immagine di James ha una configurazione predefinita che utilizza JPA (hsqldb) e Lucene. Include inoltre un dominio predefinito chiamato james.local e tre utenti predefiniti: [email protected], [email protected], [email protected], con password predefinita 1234.
Nota: questo server James risponderà sulla porta IMAPS 993 e sulla porta SMTPS 465.
Esegui il pull e avvia l'immagine di James con il seguente singolo comando:
$ docker run -p "465:465" -p "993:993" apache/james:demo-{latest_james_version}
Quindi, collega questa immagine, ad esempio, con Thunderbird. link:https://james.apache.org/howTo/imap-server.html[Questo tutorial] tratta in modo più approfondito la creazione di utenti e domini, oltre alla configurazione di Thunderbird.
Sono disponibili anche istruzioni che non richiedono docker link:https://james.apache.org/server/install.html[qui].
== Come verificare la compilazione
Richiediamo la versione minima 3.6.1 di link:https://maven.apache.org[maven] per compilare il progetto.
$ git clone [email protected]:apache/james-project.git
Poi esegui semplicemente mvn clean install all'interno di questa directory per compilare il progetto.
Le opzioni utili includono:
-DskipTests per saltare la lunga suite di test, che richiede molte risorse e un daemon docker.-T 4 per parallelizzare la build su più CPU.-Dmaven.javadoc.skip=true per saltare la generazione dei javadoc.
====== Come eseguire James in Docker
Manteniamo distribuzioni docker per le nostre applicazioni basate su link:https://github.com/google/guice[Guice]:
== Utilizzo della CLI
Consulta https://james.apache.org/server/manage-cli.html[Gestire James tramite la riga di comando] per maggiori informazioni.
== Sviluppare su James
James richiede almeno JDK 11 e Maven 3.6.1 per la compilazione. Alcune parti di James sono scritte in Scala, quindi potrebbe essere necessario abilitare il plugin Scala nell'IDE.
Manteniamo link:examples/README.md[esempi di codice] per aiutarti a scrivere le tue estensioni e a configurare i tuoi server.
link:docs/modules/development/pages/deployment-tests.adoc[Questa pagina] illustra come eseguire i test di deployment.
== Scopri di più sul design di James
James include una https://james.apache.org/documentation.html[Documentazione] e gli https://github.com/linagora/james-project/tree/master/src/adr[Architectural Decision Records].
Una descrizione più precisa dell'architettura del server distribuito è disponibile link:https://james.staged.apache.org/james-distributed-app/{latest_james_version}/architecture/index.html[qui].
== Articoli per la community di James