3.9.2.3. Настройка параметров отправки email
Параметры отправки email могут быть настроены с помощью перечисленных ниже свойств приложения. Все они являются параметрами времени выполнения и хранятся в базе данных, однако могут быть переопределены для конкретного блока Middleware в его файле app.properties
.
Все параметры отправки email доступны через конфигурационный интерфейс EmailerConfig
.
-
cuba.email.fromAddress
- адрес отправителя по умолчанию. Принимается во внимание, если не указан атрибутEmailInfo.from
.Значение по умолчанию:
DoNotReply@localhost
-
cuba.email.smtpHost
- адрес SMTP сервера.Значение по умолчанию:
test.host
-
cuba.email.smtpPort
- порт SMTP сервера.Значение по умолчанию:
25
-
cuba.email.smtpAuthRequired
- требуется ли аутентификация на SMTP сервере. Соответствует параметруmail.smtp.auth
, передаваемому при создании объектаjavax.mail.Session
.Значение по умолчанию:
false
-
cuba.email.smtpSslEnabled
- включен ли протоколSSL
. Соответствует параметруmail.transport.protocol
со значениемsmtps
, передаваемому при создании объектаjavax.mail.Session
.Значение по умолчанию:
false
-
cuba.email.smtpStarttlsEnable
- задает использование командыSTARTTLS
при аутентификации на SMTP сервере. Соответствует параметруmail.smtp.starttls.enable
, передаваемому при создании объектаjavax.mail.Session
.Значение по умолчанию:
false
-
cuba.email.smtpUser
- имя пользователя для аутентификации на SMTP сервере.
-
cuba.email.smtpPassword
- пароль пользователя для аутентификации на SMTP сервере.
-
cuba.email.delayCallCount
- используется при асинхронной отправке email из очереди для пропуска нескольких первых вызововEmailManager.queueEmailsToSend()
сразу после старта сервера, чтобы снизить нагрузку во время инициализации приложения. Отправка email начнется следующим вызовом.Значение по умолчанию:
2
-
cuba.email.messageQueueCapacity
- при асинхронной отправке количество сообщений, читаемое из очереди и отправляемое за один вызовEmailManager.queueEmailsToSend()
.Значение по умолчанию:
100
-
cuba.email.defaultSendingAttemptsCount
- при асинхронной отправке email количество попыток отправки по умолчанию. Принимается во внимание, если при вызовеEmailer.sendEmailAsync()
не указан параметрattemptsCount
.Значение по умолчанию:
10
-
cuba.email.maxSendingTimeSec
- максимальное предполагаемое время в секундах, требуемое для отправки сообщения на SMTP сервер. Используется при асинхронной отправке для оптимизации выборки объектовSendingMessage
из очереди в БД.Значение по умолчанию: 120
-
cuba.email.sendAllToAdmin
- указывает, что все сообщения должны отправляться на адресcuba.email.adminAddress
, независимо от указанного адреса получателя. Этот параметр рекомендуется использовать во время отладки системы.Значение по умолчанию:
false
-
cuba.email.adminAddress
- адрес, на который отправляются все сообщения при включенном свойствеcuba.email.sendAllToAdmin
.Значение по умолчанию:
admin@localhost
-
cuba.emailerUserLogin
- логин пользователя системы, под которым регистрируется механизм асинхронной отправки email для того, чтобы иметь возможность сохранить информацию в базе данных. Рекомендуется создать отдельного пользователя (напримерemailer
) без пароля, чтобы под его именем нельзя было войти через пользовательский интерфейс приложения. Это полезно для поиска в логе сервера сообщений, касаемых отсылки email.Значение по умолчанию:
admin
-
cuba.email.exceptionReportEmailTemplateBody
- путь к*.gsp
файлу шаблона, описывающему тело письма с отчётом об ошибке.В шаблонах используется синтаксис Groovy
SimpleTemplateEngine
, что позволяет использовать блоки кода Groovy прямо в тексте шаблона.-
метод
toHtml()
конвертирует строки в HTML-строки с экранированием и заменой специальных символов, -
timestamp
- дата и время последней попытки отправки сообщения, -
errorMessage
- текст сообщения об ошибке, -
stacktrace
- stacktrace ошибки, -
user
- ссылка на объект типаUser
.
Пример файла шаблона:
<html> <body> <p>${timestamp}</p> <p>${toHtml(errorMessage)}</p> <p>${toHtml(stacktrace)}</p> <p>User login: ${user.getLogin()}</p> </body> </html>
-
-
cuba.email.allowutf8
- если установлено значениеtrue
, разрешает кодировку UTF-8 в заголовках сообщений, например в адресах. Это свойство должно быть установлено только в том случае, если почтовый сервер также поддерживает UTF-8. Свойство связано с параметромmail.mime.allowutf8
, который передается при создании объектаjavax.mail.Session
.Значение по умолчанию:
false
-
cuba.email.exceptionReportEmailTemplateSubject
- путь к*.gsp
файлу шаблона, описывающему тему письма с отчётом об ошибке.Пример файла шаблона:
[${systemId}] [${userLogin}] Exception Report
Чтобы использовать свойства из JavaMail API, их необходимо добавить в файл app.properties
модуля core. Свойства, начинающиеся с mail.*
, используются при создании объекта javax.mail.Session
.
Просмотреть текущие значения параметров, а также отправить тестовое сообщение, можно с помощью JMX-бина app-core.cuba:type=Emailer
.