SMTP
Общее описание
Блок SMTP в ESB реализует отправку и маршрутизацию электронных писем по протоколу SMTP.
Он выступает удобной абстракцией над библиотекой JavaMailи позволяет интегрировать email-функциональность в маршруты с помощью минимального кода. Вся сложность протокола и работы с JavaMail скрыта за простыми и понятными URI, а использование заголовков Exchange дает возможность динамически управлять содержимым и параметрами отправляемых писем.
Блок SMTP не может быть инициатором потока.
Блок SMTP может использоваться в качестве:
- блока отправителя.
Настройка блока
В данном разделе описаны параметры блока SMTP, которые необходимо заполнить при его настройке.
Базовые параметры
| Название в UI | Название атрибута | Описание | Значение по умолчанию | Тип данных |
|---|---|---|---|---|
| Dynamic Endpoint | dynamicEndpoint | Параметр позволяет включить встроенную функциональность динамического определения вызываемой конечной точки. При включении параметра структура блока меняется таким образом, что в коде вместо определения to проставляется "toD", а значение самого вызываемого ресурса может собираться из переменной, например ${header.foo}. | False | Логическое значение |
| Host | host | Обязательный параметр Имя хоста почтового сервера. | Строка | |
| Connection | connection | Позволяет выбрать предсозданное подключение к конечной точке или создать новое с помощью визарда Connection Manager. | Список | |
| Description | description | Описание блока. | Строка | |
| Port | port | Номер порта почтового сервера. | Целое число | |
| Bcc | bcc | Устанавливает адрес электронной почты для скрытой копии (BCC). Несколько адресов разделяются запятыми. | Строка | |
| Cc | cc | Устанавливает адрес электронной почты для копии (CC). Несколько адресов разделяются запятыми. | Строка | |
| From | from | Адрес электронной почты отправителя (From). | camel@localhost | Строка |
| Reply To | replyTo | Получатели для ответа (Reply-To). Несколько адресов разделяются запятыми. | Строка | |
| Subject | subject | Тема отправляемого сообщения. Примечание: Установка темы в заголовке имеет приоритет над этой опцией. | Строка | |
| To | to | Устанавливает целевой адрес электронной почты (To). Несколько адресов разделяются запятыми. | Строка |
Расширенные настройки
| Название в UI | Название атрибута | Описание | Значение по умолчанию | Тип данных |
|---|---|---|---|---|
| Java Mail Sender | javaMailSender | Пользовательский интерфейс org.apache.camel.component.mail.JavaMailSender для отправки электронных писем. | Строка | |
| Lazy Start Producer | lazyStartProducer | Определяет должен ли отправитель стартовать в отложенном режиме (при получении первого сообщения). Отложенный запуск можно использовать в ситуациях, когда запуск отправителя может завершиться неудачей и привести к сбою при запуске маршрута. Если отложить запуск, то сбой при запуске можно будет обработать во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации. Обратите внимание, что при обработке первого сообщения создание и старт отправителя могут занять некоторое время и увеличить общее время обработки. | False | Логическое значение |
| Additional Java Mail Properties | additionalJavaMailProperties | Многозначный параметр.Дополнительные свойства Java mail, которые дополнят/переопределят любые свойства по умолчанию, установленные на основе всех других опций. Это полезно, если вам нужно добавить некоторые специальные опции, но вы хотите сохранить остальные как есть. | Строка | |
| Alternative Body Header | alternativeBodyHeader | Ключ заголовка входящего сообщения, который содержит альтернативное тело электронного письма. Например, если вы отправляете письма в формате text/html и хотите предоставить альтернативное тело письма для почтовых клиентов, не поддерживающих HTML, задайте альтернативное тело письма с этим ключом в качестве заголовка. | CamelMailAlternativeBody | Строка |
| Attachments Content Transfer Encoding Resolver | attachmentsContentTransferEncodingResolver | Пользовательский интерфейс AttachmentsContentTransferEncodingResolver для определения того, какую кодировку content-transfer-encoding использовать для вложений. | Строка | |
| Authenticator | authenticator | Аутентификатор для входа. Если он задан, то пароль и имя пользователя игнорируются. Может использоваться для токенов, которые могут истечь и поэтому должны считываться динамически. | Строка | |
| Binding | binding | Задает привязку (binding), используемую для преобразования сообщения движка в почтовое сообщение и обратно. | Строка | |
| Connection Timeout | connectionTimeout | Таймаут подключения в миллисекундах. | 30000 | Целое число |
| Content Type | contentType | Тип содержимого почтового сообщения (text/plain, text/html, и т.д.). Используйте text/html для HTML-писем. Важно: Чтобы определить contentType, который придёт в почту, надо знать приоритеты в заголовках. Первый приоритет имеют настройки блока Set Header, этот блок «перетирает» все остальные настройки. Заголовок запроса HTTP Trigger имеет второй приоритет и отменяет все остальные, кроме настроек блока Set Header. Заголовок из Content Type имеет наименьший приоритет и будет использоваться только в том случае, если не сконфигурирован блок Set Header и заголовок из HTTP Trigger. | text/plain | Строка |
| Content Type Resolver | contentTypeResolver | Распознаватель (resolver) для определения Content-Type для вложений файлов. | Строка | |
| Debug Mode | debugMode | Включает режим отладки в базовом почтовом фреймворке. Фреймворк SUN Mail по умолчанию логирует отладочные сообщения в System.out. | False | Логическое значение |
| Header Filter Strategy | headerFilterStrategy | Пользовательская стратегия org.apache.camel.spi.HeaderFilterStrategy для фильтрации заголовков. | Строка | |
| Ignore Unsupported Charset | ignoreUnsupportedCharset | Опция, позволяющая игнорировать неподдерживаемую локальной JVM кодировку при отправке писем. Если кодировка не поддерживается, то charset=XXX (где XXX представляет неподдерживаемую кодировку) удаляется из content-type, и используется кодировка платформы по умолчанию. | False | Логическое значение |
| Ignore Uri Scheme | ignoreUriScheme | Опция определяет, нужно ли игнорировать протокол, указанный в начале URI, или использовать его для определения транспорта. Другими словами, это переключатель: "брать протокол из URI" или "не брать".
| False | Логическое значение |
| Java Mail Properties | javaMailProperties | Устанавливает параметры JavaMail. Удалит все свойства по умолчанию и будет использовать только те, которые предусмотрены для этого метода. | Строка | |
| Session | session | Почтовая сессия, которая должна использоваться для всех почтовых взаимодействий. Полезно в сценариях, где почтовые сессии создаются и управляются каким-либо другим ресурсом, например, контейнером JavaEE.При использовании пользовательской почтовой сессии имя хоста и порт будут браться из почтовой сессии, если они настроены. | Строка | |
| Use Inline Attachments | useInlineAttachments | Использовать ли расположение "inline" (в теле письма) или "attachment" (вложение). | False | Логическое значение |
| Pattern | pattern | Опциональная схема взаимодействия с присоединенной частью потока. Возможные значения:
| Список | |
| Disabled | disabled | Определяет будет ли отключен блок в потоке. В активированном потоке функциональность блока не будет отрабатываться. | False | Логическое значение |
Настройки безопасности
| Название в UI | Название атрибута | Описание | Значение по умолчанию | Тип данных |
|---|---|---|---|---|
| Password | password | Пользовательский пароль | Строка | |
| Ssl Context Parameters | sslContextParameters | Настройки безопасности SSLContextParameters. | Строка | |
| Username | username | Имя пользователя | Строка |