
Модульный почтовый сервер на Java с поддержкой IMAP, SMTP, POP3 и JMAP, развёртыванием через Docker, распределённой архитектурой и управлением через CLI для безопасной корпоративной электронной почты.
: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[Присоединяйтесь к чату на 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 расшифровывается как Java Apache Mail Enterprise Server!
Он имеет модульную архитектуру, основанную на богатом наборе современных и эффективных компонентов, что в итоге обеспечивает полноценные, стабильные, безопасные и расширяемые почтовые серверы, работающие на JVM.
Создайте своё собственное решение для обработки электронной почты, собирая необходимые компоненты благодаря предлагаемой платформе инверсии управления (IoC) и настраивая правила фильтрации и маршрутизации с помощью James Mailet Container.
Поддерживаемые протоколы: IMAP, SMTP, link:https://jmap.io[JMAP], POP3 и другие...
link:https://james.staged.apache.org/james-distributed-app/{latest_james_version}/index.html[*Распределённый сервер*] фокусируется на предоставлении простого в эксплуатации масштабируемого почтового сервера на основе современных технологий (Cassandra, S3, OpenSearch и RabbitMQ).
Подробнее на https://james.apache.org/[нашем сайте].
== Как внести свой вклад?
James — это проект, который живёт за счёт вклада своего сообщества! Каждый может внести вклад!
Читайте https://james.apache.org/index.html#third[как внести вклад].
Мы более чем приветствуем статьи и блог-посты о James. Свяжитесь с нами по https://james.apache.org/mail.html[электронной почте] или в https://gitter.im/apache/james-project[Gitter], чтобы поделиться своим опытом.
Документация — это лёгкий способ начать, и более чем желанный! Посмотрите метку 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] в JIRA.
А чтобы начать с вклада в код, найдите метки 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] в JIRA.
== Как попробовать James
Требования: установленный docker.
Здесь вы попробуете сервер James версии {latest_james_version} с помощью docker-образа. Этот образ James имеет конфигурацию по умолчанию, использующую JPA (hsqldb) и Lucene. Он также включает домен по умолчанию с именем james.local и трёх пользователей по умолчанию: [email protected], [email protected], [email protected], с паролем по умолчанию 1234.
Примечание: этот сервер James будет отвечать на порту IMAPS 993 и порту SMTPS 465.
Загрузите и запустите образ James с помощью следующей команды:
$ docker run -p "465:465" -p "993:993" apache/james:demo-{latest_james_version}
Затем подключитесь к этому образу, например, с помощью Thunderbird. link:https://james.apache.org/howTo/imap-server.html[Это руководство] более подробно описывает создание пользователей и доменов, а также настройку Thunderbird.
Инструкции, не подразумевающие использование docker, также доступны link:https://james.apache.org/server/install.html[здесь].
== Как проверить компиляцию
Для сборки проекта требуется link:https://maven.apache.org[maven] версии не ниже 3.6.1.
$ git clone [email protected]:apache/james-project.git
Затем просто выполните mvn clean install в этом каталоге для компиляции проекта.
Полезные опции включают:
-DskipTests чтобы пропустить длительный и ресурсоёмкий набор тестов, требующий демона docker.-T 4 чтобы распараллелить сборку на нескольких процессорах.-Dmaven.javadoc.skip=true чтобы пропустить генерацию javadoc.
====== Как запустить James в Docker
Мы поддерживаем docker-дистрибутивы для наших приложений на основе link:https://github.com/google/guice[Guice]:
== Использование CLI
Смотрите https://james.apache.org/server/manage-cli.html[Управление James через командную строку] для получения дополнительной информации.
== Разработка на James
James требует как минимум JDK 11 и Maven 3.6.1 для сборки. Некоторые части James написаны на Scala, поэтому может потребоваться включить плагин Scala в IDE.
Мы поддерживаем link:examples/README.md[примеры кода], чтобы помочь вам писать собственные расширения и настраивать свои серверы.
link:docs/modules/development/pages/deployment-tests.adoc[Эта страница] описывает, как запускать тесты развёртывания.
== Узнайте больше о дизайне James
James поставляется с https://james.apache.org/documentation.html[документацией] и https://github.com/linagora/james-project/tree/master/src/adr[записями архитектурных решений].
Более точное описание архитектуры Distributed Server можно найти link:https://james.staged.apache.org/james-distributed-app/{latest_james_version}/architecture/index.html[здесь].
== Статьи для сообщества James