Skip to content

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 — расширенные правила оценки ответов почтовых служб:

    1. По приветствию (Greeting): Check fails if greeting matches, Check fails if greeting does not match, Check succeeded if greeting matches.
    2. По ответам на команды: Наборы правил 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).