
Servidor de email Java modular que suporta IMAP, SMTP, POP3 e JMAP com implantação em Docker, arquitetura distribuída e gerenciamento via CLI para infraestrutura de email empresarial segura.
: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[Junte-se ao bate-papo em 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 significa Java Apache Mail Enterprise Server!
Possui uma arquitetura modular baseada em um rico conjunto de componentes modernos e eficientes que fornece, no final, servidores de email completos, estáveis, seguros e extensíveis executados na JVM.
Crie sua própria solução pessoal para tratamento de emails montando os componentes que você precisa graças à plataforma de email com Inversão de Controle oferecida e vá além personalizando regras de filtragem e roteamento usando o Container Mailet do James.
Os protocolos suportados são: IMAP, SMTP, link:https://jmap.io[JMAP], POP3 e mais...
O link:https://james.staged.apache.org/james-distributed-app/{latest_james_version}/index.html[*servidor distribuído*] foca em fornecer um servidor de email escalável e fácil de operar baseado em tecnologias modernas (Cassandra, S3, OpenSearch e RabbitMQ).
Leia mais em https://james.apache.org/[nosso site].
== Como contribuir?
James é um projeto que vive das contribuições de sua comunidade! Qualquer um pode contribuir!
Leia https://james.apache.org/index.html#third[como contribuir].
Nós recebemos de braços abertos artigos e posts em blogs sobre James. Entre em contato por https://james.apache.org/mail.html[email] ou pelo https://gitter.im/apache/james-project[Gitter] para compartilhar suas experiências.
Documentação é uma maneira fácil de começar, e mais do que desejada! Confira a 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] no JIRA.
E para começar com contribuições de código, procure as 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] no JIRA.
== Como experimentar o James
Requisitos: docker instalado.
Aqui você experimentará a versão {latest_james_version} do servidor James graças a uma imagem docker. Esta imagem James tem uma configuração padrão usando JPA (hsqldb) e Lucene. Ela também inclui um domínio padrão chamado james.local e três usuários padrão: [email protected], [email protected], [email protected], com senha padrão 1234.
Nota: este servidor James responderá na porta IMAPS 993 e na porta SMTPS 465.
Baixe e execute a imagem James com o seguinte comando único:
$ docker run -p "465:465" -p "993:993" apache/james:demo-{latest_james_version}
Em seguida, conecte esta imagem com, por exemplo, Thunderbird. link:https://james.apache.org/howTo/imap-server.html[Este tutorial] cobre com mais profundidade criação de usuário e domínio, bem como configuração do Thunderbird.
Instruções que não envolvem docker também estão disponíveis link:https://james.apache.org/server/install.html[aqui].
== Como verificar a compilação
Exigimos link:https://maven.apache.org[maven] versão mínima 3.6.1 para construir o projeto.
$ git clone [email protected]:apache/james-project.git
Então, simplesmente execute mvn clean install dentro deste diretório para compilar o projeto.
Opções úteis incluem:
-DskipTests para pular a suíte de testes longa e que consome muitos recursos, que requer um daemon docker.-T 4 para paralelizar a compilação em várias CPUs.-Dmaven.javadoc.skip=true para pular a geração do javadoc.
====== Como executar James no Docker
Mantemos distribuições docker para nossas aplicações baseadas em link:https://github.com/google/guice[Guice]:
== Usando a CLI
Veja https://james.apache.org/server/manage-cli.html[Gerenciar James via Linha de Comando] para mais informações.
== Desenvolver no James
James requer pelo menos JDK 11 e Maven 3.6.1 para compilar. Algumas partes do James são escritas em Scala, então pode ser necessário habilitar o plugin Scala na IDE.
Mantemos link:examples/README.md[exemplos de código] para ajudar você a escrever suas próprias extensões e montar seus próprios servidores.
link:docs/modules/development/pages/deployment-tests.adoc[Esta página] detalha como executar testes de implantação.
== Saiba mais sobre o design do James
James vem com uma https://james.apache.org/documentation.html[Documentação] e https://github.com/linagora/james-project/tree/master/src/adr[Registros de Decisões Arquiteturais].
Uma descrição mais precisa da arquitetura do Servidor Distribuído pode ser encontrada link:https://james.staged.apache.org/james-distributed-app/{latest_james_version}/architecture/index.html[aqui].
== Artigos para a comunidade James