SMTP и макросы
5. Модуль SMTP Settings
Вкладка детальной настройки почтовых проверок разделена на 7 тематических закладок:
- To — список целевых email-адресов получателей.
- From — список учетных записей отправителей.
- Subject — список тем писем.
- Body — текстовый блок тела электронного письма.
- SMTP Servers — таблица предварительных настроек доменов со столбцами: Domain, Protocol, Server Host, Port, SSL, START TLS.
- SMTP Commands — пошаговый сценарий выполнения транзакции с поддержкой макросов. Пример исполняемого скрипта:
EHLO [{%PROXY_HOST%}]
{%IFSET:STARTTLS%}STARTTLS{%ENDIFSET%}
{%IFSET:STARTTLS%}EHLO [{%PROXY_HOST%}]{%ENDIFSET%}
AUTH LOGIN
{%BASE64_BEGIN%}{%FROM_EMAIL%}{%BASE64_END%}
{%BASE64_BEGIN%}{%FROM_PASS%}{%BASE64_END%}
MAIL FROM:<{%FROM_EMAIL%}>
RCPT TO:<{%TO_EMAIL%}>
DATA
MIME-Version: 1.0
Date: {%EMAIL_DATE%}
To: {%TO_EMAIL%}
From: {%FROM_EMAIL%}
Subject: {%SUBJECT%}
{%BODY%}
.
RSET
QUIT
-
Filters — расширенные правила оценки ответов почтовых служб:
- По приветствию (Greeting): Check fails if greeting matches, Check fails if greeting does not match, Check succeeded if greeting matches.
- По ответам на команды: Наборы правил Check fails if SMTP response matches / does not match и Check succeeded if SMTP response matches.
Пример логики: Связывание команды
RCPTи регулярного выраженияmailbox unavailableс правиломCheck succeededпозволяет не отбраковывать рабочий прокси-сервер, если он столкнулся с несуществующим ящиком получателя.
Справочник поддерживаемых макросов {% ... %}
В полях ввода закладок To, From, Subject, Body и SMTP Commands допускается использование следующих макросов:
| Тег | Синтаксис / Пример | Описание |
|---|---|---|
| INCLUDE | {%INCLUDE:C:\file.txt%} | Полное внедрение содержимого внешнего текстового файла. |
| TEXTF | {%TEXTF:C:\file.txt%} | Чтение всего текста из указанного файла. |
| ROT | {%ROT:A | B |
| ROT$ | {%ROT$:A | B |
| ROTF | {%ROTF:C:\file.txt%} | Последовательный перебор (ротация) строк из файла. |
| ROTF$ | {%ROTF$:C:\file.txt%} | Ротация строк с фиксацией выбранной строки для всего сообщения. |
| RNDF | {%RNDF:C:\file.txt%} | Извлечение случайной строки из файла. |
| RNDF$ | {%RNDF$:C:\file.txt%} | Извлечение случайной строки с фиксацией значения внутри сообщения. |
| WROTF | {%WROTF:C:\file.txt%} | Выбор следующего по порядку слова из файла. |
| SROTF | {%SROTF:C:\file.txt%} | Выбор следующего по порядку предложения из файла. |
| RND | {%RND: | Генерация случайной строки по заданному шаблону символов. |
| RND$ | {%RND$: | Генерация случайной строки по шаблону с фиксацией значения в сообщении. |
| RNDIP | {%RNDIP:0.0.0.0-1.1.1.1%} | Выдача случайного IP-адреса из указанного диапазона. |
| DATETIME | {%DATETIME%} | Текущие дата и время в сжатом формате (20190123154539). |
| EMAIL_DATE | {%EMAIL_DATE%} | Метка даты и времени по стандарту RFC 2822 для заголовков писем. |
| URL | {%URL:http://site.com%} | Автоматическое кодирование URL (замена спецсимволов на %NN). |
| CHR | {%CHR:10%} | Вставка управляющего символа по его коду ASCII. |
| E / EMPTY | {%E%} / {%EMPTY%} | Пустой тег-разделитель. |
| REPEAT | {%REPEAT(1,10)%}X{%ENDREPEAT%} | Повторение строки случайное число раз в заданном диапазоне. |
| SHUFFLE | {%SHUFFLE%}Строки{%ENDSHUFFLE%} | Случайное перемешивание строк внутри блока. |
| BASE64 | {%BASE64%}Текст{%ENDBASE64%} | Кодирование контента блока в формат Base64. |
| QP | {%QP%}Текст{%ENDQP%} | Кодирование контента блока в формат Quoted-Printable. |
| EMAIL / TO_EMAIL | {%EMAIL%} / {%TO_EMAIL%} | Полный email-адрес получателя. |
| DOMAIN / TO_DOMAIN | {%DOMAIN%} / {%TO_DOMAIN%} | Доменная часть email-адреса получателя. |
| ACCOUNT / TO_ACCOUNT | {%ACCOUNT%} / {%TO_ACCOUNT%} | Локальная часть (левая часть до знака @) ящика получателя. |
| NAME / TO_NAME | {%NAME%} / {%TO_NAME%} | Отображаемое имя (псевдоним) получателя. |
| PASS / TO_PASS | {%PASS%} / {%TO_PASS%} | Пароль получателя. |
| FROM / FROM_EMAIL | {%FROM%} / {%FROM_EMAIL%} | Полный email-адрес отправителя. |
| FROM_DOMAIN | {%FROM_DOMAIN%} | Доменная часть почты отправителя. |
| FROM_ACCOUNT | {%FROM_ACCOUNT%} | Локальная часть ящика отправителя. |
| FROM_NAME | {%FROM_NAME%} | Отображаемое имя отправителя. |
| FROM_PASS | {%FROM_PASS%} | Пароль учетной записи отправителя (для SMTP-авторизации). |
| SUBJECT | {%SUBJECT%} | Подстановка текущей темы письма. |
| BODY | {%BODY%} | Подстановка подготовленного тела письма. |
| MAILLISTCOLUMN | {%MAILLISTCOLUMN0%}...31 | Обращение к кастомным столбцам списка рассылки (индексы от 0 до 31). |