mail-micro-service
— это микросервис системы отправки электронной почты, реализованной с использованием Spring Boot и Java Mail. Поддерживает распределение нагрузки между несколькими почтовыми ящиками при помощи циклического или взвешенного циклического метода. Предоставляет API для отправки электронной почты.
Используются бесплатные почтовые ящики, имеющие ограничения на количество и частоту отправки сообщений. В случае слишком частых отправлений почта может быть отнесена к спаму (ошибка 554 DT:SPM). Поэтому используется несколько бесплатных почтовых ящиков для циклической отправки.
# Метод распределения: normal (циклический), weighted (взвешенный циклический)
mail.roundrobin.type=weighted
# Директория временных файлов, путь следует изменять под Linux
file.folder=D://maindisk/temp
```### mailX.properties (X — положительное целое число, начиная с нуля; для нескольких экземпляров конфигурация должна быть последовательной, пропуски недопустимы)
mail.smtp.host=smtp.163.com mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
mail.smtp.socketFactory.port=465
mail.smtp.auth=true
mail.username=XXXX
mail.password=XXXX
mail.id=mail0
mail.isAvailable=true
mail.weight=2
mail.debug=false
## Инструкция по установке
Установите JDK, настройте окружение Maven, клонируйте код, настройте логины и пароли доступа к почтовым ящикам, скомпилируйте и соберите проект, запустите jar-файл.
```bash
mvn clean install -Dmaven.test.skip=true
java -jar target/mail-micro-service.jar
Пароль доступа отличается от основного пароля аккаунта. Для получения пароля доступа к почтовому ящику 163/126 нажмите здесь, для QQ почтового ящика нажмите здесь. Почтовый ящик должен иметь включённые POP3/SMTP службы.
Отправка письма без вложений POST http://127.0.0.1:12345/api/v0.0.1/mail/send?to=xxxxx@qq.com&title=Это%20тема%20без%20вложений&content=Это%20содержание%20без%20вложений
Множественные получатели, пожалуйста, используйте ;
для разделения адресов электронной почты, подробнее см. MailLocalhostTest.java.
Настройка аспекта логирования, использование H2 Database для хранения логов отправки электронной почты, по умолчанию активирован H2 Console для просмотра информации базы данных, данные хранятся в директории /h2/mms
на том же уровне, можно использовать H2 в режиме памяти или другую конфигурацию базы данных, http://127.0.0.1:12345/api/v0.0.1/h2-console/
Предоставление страницы для просмотра истории отправки электронной почты, доступна по адресу http://127.0.0.1:12345/api/v0.0.1/
Добавление Dockerfile для возможности использования контейнеризации.
Ручная установка через клонирование кода.
git clone https://github.com/hf-hf/mail-micro-service.git
cd mail-micro-service
./docker/docker-build.sh
./docker/docker-run.sh
Быстрая установка, замена файла Dockerfile-full на Dockerfile.
docker build -t mail-micro-service ./
docker run --name mail-micro-service -e JVMXMX=1G -v /app/app-log:/app/app-log -v /app/h2:/app/h2 -p 12345:12345 -d mail-micro-service
Для использования внешнего файла конфигурации поместите его в директорию config
на том же уровне, что и Dockerfile, и удалите закомментированные строки в Dockerfile.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )