Перейти к основному содержимому
Руководство администратора
How To статьи
Установка и настройка
Компоненты
Руководство пользователя
Начало работы

SMTP

Общее описание

Блок SMTP в ESB реализует отправку и маршрутизацию электронных писем по протоколу SMTP.
Он выступает удобной абстракцией над библиотекой JavaMailи позволяет интегрировать email-функциональность в маршруты с помощью минимального кода. Вся сложность протокола и работы с JavaMail скрыта за простыми и понятными URI, а использование заголовков Exchange дает возможность динамически управлять содержимым и параметрами отправляемых писем.

Блок SMTP не может быть инициатором потока.

Блок SMTP может использоваться в качестве:

  • блока отправителя.

Настройка блока

В данном разделе описаны параметры блока SMTP, которые необходимо заполнить при его настройке.

Базовые параметры

Название в UIНазвание атрибутаОписаниеЗначение по умолчаниюТип данных
Dynamic EndpointdynamicEndpointПараметр позволяет включить встроенную функциональность динамического определения вызываемой конечной точки. При включении параметра структура блока меняется таким образом, что в коде вместо определения to проставляется "toD", а значение самого вызываемого ресурса может собираться из переменной, например ${header.foo}.FalseЛогическое значение
HosthostОбязательный параметр
Имя хоста почтового сервера.
Строка
ConnectionconnectionПозволяет выбрать предсозданное подключение к конечной точке или создать новое с помощью визарда Connection Manager.Список
DescriptiondescriptionОписание блока.Строка
PortportНомер порта почтового сервера.Целое число
BccbccУстанавливает адрес электронной почты для скрытой копии (BCC). Несколько адресов разделяются запятыми.Строка
CcccУстанавливает адрес электронной почты для копии (CC). Несколько адресов разделяются запятыми.Строка
FromfromАдрес электронной почты отправителя (From).camel@localhostСтрока
Reply ToreplyToПолучатели для ответа (Reply-To). Несколько адресов разделяются запятыми.Строка
SubjectsubjectТема отправляемого сообщения.
Примечание:
Установка темы в заголовке имеет приоритет над этой опцией.
Строка
TotoУстанавливает целевой адрес электронной почты (To). Несколько адресов разделяются запятыми.Строка

Расширенные настройки

Название в UIНазвание атрибутаОписаниеЗначение по умолчаниюТип данных
Java Mail SenderjavaMailSenderПользовательский интерфейс org.apache.camel.component.mail.JavaMailSender для отправки электронных писем.Строка
Lazy Start ProducerlazyStartProducerОпределяет должен ли отправитель стартовать в отложенном режиме (при получении первого сообщения). Отложенный запуск можно использовать в ситуациях, когда запуск отправителя может завершиться неудачей и привести к сбою при запуске маршрута. Если отложить запуск, то сбой при запуске можно будет обработать во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации. Обратите внимание, что при обработке первого сообщения создание и старт отправителя могут занять некоторое время и увеличить общее время обработки.FalseЛогическое значение
Additional Java Mail PropertiesadditionalJavaMailPropertiesМногозначный параметр.Дополнительные свойства Java mail, которые дополнят/переопределят любые свойства по умолчанию, установленные на основе всех других опций. Это полезно, если вам нужно добавить некоторые специальные опции, но вы хотите сохранить остальные как есть.Строка
Alternative Body HeaderalternativeBodyHeaderКлюч заголовка входящего сообщения, который содержит альтернативное тело электронного письма. Например, если вы отправляете письма в формате text/html и хотите предоставить альтернативное тело письма для почтовых клиентов, не поддерживающих HTML, задайте альтернативное тело письма с этим ключом в качестве заголовка.CamelMailAlternativeBodyСтрока
Attachments Content Transfer Encoding ResolverattachmentsContentTransferEncodingResolverПользовательский интерфейс AttachmentsContentTransferEncodingResolver для определения того, какую кодировку content-transfer-encoding использовать для вложений.Строка
AuthenticatorauthenticatorАутентификатор для входа. Если он задан, то пароль и имя пользователя игнорируются. Может использоваться для токенов, которые могут истечь и поэтому должны считываться динамически.Строка
BindingbindingЗадает привязку (binding), используемую для преобразования сообщения движка в почтовое сообщение и обратно.Строка
Connection TimeoutconnectionTimeoutТаймаут подключения в миллисекундах.30000Целое число
Content TypecontentTypeТип содержимого почтового сообщения (text/plain, text/html, и т.д.). Используйте text/html для HTML-писем.
Важно: Чтобы определить contentType, который придёт в почту, надо знать приоритеты в заголовках.
Первый приоритет имеют настройки блока Set Header, этот блок «перетирает» все остальные настройки.
Заголовок запроса HTTP Trigger имеет второй приоритет и отменяет все остальные, кроме настроек блока Set Header.
Заголовок из Content Type имеет наименьший приоритет и будет использоваться только в том случае, если не сконфигурирован блок Set Header и заголовок из HTTP Trigger.
text/plainСтрока
Content Type ResolvercontentTypeResolverРаспознаватель (resolver) для определения Content-Type для вложений файлов.Строка
Debug ModedebugModeВключает режим отладки в базовом почтовом фреймворке. Фреймворк SUN Mail по умолчанию логирует отладочные сообщения в System.out.FalseЛогическое значение
Header Filter StrategyheaderFilterStrategyПользовательская стратегия org.apache.camel.spi.HeaderFilterStrategy для фильтрации заголовков.Строка
Ignore Unsupported CharsetignoreUnsupportedCharsetОпция, позволяющая игнорировать неподдерживаемую локальной JVM кодировку при отправке писем. Если кодировка не поддерживается, то charset=XXX (где XXX представляет неподдерживаемую кодировку) удаляется из content-type, и используется кодировка платформы по умолчанию.FalseЛогическое значение
Ignore Uri SchemeignoreUriSchemeОпция определяет, нужно ли игнорировать протокол, указанный в начале URI, или использовать его для определения транспорта. Другими словами, это переключатель: "брать протокол из URI" или "не брать".

  • False - учитывать схему в URI. Протокол в начале строки определяет, как именно компонент будет работать — отправлять или получать почту.
  • True - игнорировать схему в URI. В этом случае тип протокола определяется не по началу адреса, а каким-то другим способом (например, через дополнительные JavaMail свойства). Это может быть полезно, если вам нужно динамически менять протокол или конфигурация задается централизованно.
FalseЛогическое значение
Java Mail PropertiesjavaMailPropertiesУстанавливает параметры JavaMail. Удалит все свойства по умолчанию и будет использовать только те, которые предусмотрены для этого метода.Строка
SessionsessionПочтовая сессия, которая должна использоваться для всех почтовых взаимодействий. Полезно в сценариях, где почтовые сессии создаются и управляются каким-либо другим ресурсом, например, контейнером JavaEE.При использовании пользовательской почтовой сессии имя хоста и порт будут браться из почтовой сессии, если они настроены.Строка
Use Inline AttachmentsuseInlineAttachmentsИспользовать ли расположение "inline" (в теле письма) или "attachment" (вложение).FalseЛогическое значение
PatternpatternОпциональная схема взаимодействия с присоединенной частью потока.
Возможные значения:
  • InOnly — отправить без подтверждения приемки. При выборе в отправленном yaml и в режиме просмотра кода будет виден параметр pattern на том же уровне, что и uri.
  • InОut — ждать подтверждения после отправки.
Список
DisableddisabledОпределяет будет ли отключен блок в потоке. В активированном потоке функциональность блока не будет отрабатываться.FalseЛогическое значение

Настройки безопасности

Название в UIНазвание атрибутаОписаниеЗначение по умолчаниюТип данных
PasswordpasswordПользовательский парольСтрока
Ssl Context ParameterssslContextParametersНастройки безопасности SSLContextParameters.Строка
UsernameusernameИмя пользователяСтрока