
Servidor de correo modular en Java compatible con IMAP, SMTP, POP3 y JMAP, con despliegue mediante Docker, arquitectura distribuida y gestión por CLI para una infraestructura de correo 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[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 significa Java Apache Mail Enterprise Server!
Tiene una arquitectura modular basada en un rico conjunto de componentes modernos y eficientes que proporciona, en última instancia, servidores de correo completos, estables, seguros y extensibles que se ejecutan en la JVM.
Cree su propia solución personal para el tratamiento del correo electrónico ensamblando los componentes que necesite gracias a la plataforma de correo con Inversión de Control ofrecida, y vaya más allá personalizando las reglas de filtrado y enrutamiento con el Contenedor de Mailets de James.
Los protocolos soportados son: IMAP, SMTP, link:https://jmap.io[JMAP], POP3 y más...
El link:https://james.staged.apache.org/james-distributed-app/{latest_james_version}/index.html[*servidor distribuido*] se centra en ofrecer un servidor de correo escalable y fácil de operar basado en tecnologías modernas (Cassandra, S3, OpenSearch y RabbitMQ).
Lea más en https://james.apache.org/[nuestro sitio web].
== ¿Cómo contribuir?
James es un proyecto que vive de las contribuciones de su comunidad! Cualquiera puede contribuir!
Lea https://james.apache.org/index.html#third[cómo contribuir].
Recibimos con gusto artículos y publicaciones de blog sobre James. Contáctenos por https://james.apache.org/mail.html[correo electrónico] o en https://gitter.im/apache/james-project[Gitter] para compartir sus experiencias.
La documentación es una forma fácil de comenzar, y ¡más que deseada! Consulte la etiqueta 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] en JIRA.
Y para comenzar con contribuciones de código, busque las etiquetas 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] en JIRA.
== Cómo probar James
Requisitos: docker instalado.
Aquí probará la versión {latest_james_version} del servidor James gracias a una imagen docker. Esta imagen de James tiene una configuración por defecto que usa JPA (hsqldb) y Lucene. También incluye un dominio por defecto llamado james.local y tres usuarios por defecto: [email protected], [email protected], [email protected], con su contraseña por defecto siendo 1234.
Nota: este servidor James responderá en el puerto IMAPS 993 y en el puerto SMTPS 465.
Descargue y ejecute la imagen de James con el siguiente comando único:
$ docker run -p "465:465" -p "993:993" apache/james:demo-{latest_james_version}
Luego, conecte esta imagen con, por ejemplo, Thunderbird. link:https://james.apache.org/howTo/imap-server.html[Este tutorial] cubre con más profundidad la creación de usuarios y dominios, así como la configuración de Thunderbird.
También hay disponibles instrucciones que no implican docker link:https://james.apache.org/server/install.html[aquí].
== Cómo comprobar la compilación
Requerimos la versión mínima link:https://maven.apache.org[maven] 3.6.1 para construir el proyecto.
$ git clone [email protected]:apache/james-project.git
Luego simplemente ejecute mvn clean install dentro de este directorio para compilar el proyecto.
Las opciones útiles incluyen:
-DskipTests para omitir la larga suite de pruebas que consume muchos recursos y que requiere un demonio docker.-T 4 para paralelizar la compilación en varias CPUs.-Dmaven.javadoc.skip=true para omitir la generación de javadoc.
====== Cómo ejecutar James en Docker
Mantenemos distribuciones docker para nuestras aplicaciones basadas en link:https://github.com/google/guice[Guice]:
== Usando la CLI
Consulte https://james.apache.org/server/manage-cli.html[Gestionar James mediante la línea de comandos] para más información.
== Desarrollar en James
James requiere al menos JDK 11 y Maven 3.6.1 para compilar. Algunas partes de James están escritas en Scala, por lo que podría ser necesario habilitar el plugin de Scala en el IDE.
Mantenemos link:examples/README.md[ejemplos de código] para ayudarle a escribir sus propias extensiones y configurar sus propios servidores.
link:docs/modules/development/pages/deployment-tests.adoc[Esta página] detalla cómo ejecutar pruebas de despliegue.
== Conozca más sobre el diseño de James
James incluye una https://james.apache.org/documentation.html[Documentación] y https://github.com/linagora/james-project/tree/master/src/adr[Registros de Decisiones Arquitectónicas].
Se puede encontrar una descripción más precisa de la arquitectura del Servidor Distribuido link:https://james.staged.apache.org/james-distributed-app/{latest_james_version}/architecture/index.html[aquí].
== Artículos para la comunidad de James