Главная
Возможности
Модули
Интеграция
База PMTA
База MailerQ
Стоимость
Блог
D
e
m
o
Главная
Возможности
Модули
Интеграция
База PMTA
База MailerQ
Стоимость
Блог
D
e
m
o
Главная
Возможности
Модули
Интеграция
База PMTA
База MailerQ
Стоимость
Блог
База знаний PMTA
›
Сценарий
Разобраться с доставляемостью
записей в сценарии: 86
disable-acct-records
<domain>
критично
Директива
Отключает создание записей учёта выбранных видов — доставки, отказа, временной неудачи, неудачи постановки — для отдельной очереди.
record-fields
<acct-file>
критично
Хаб задаёт сам
Директива
Список полей для одного вида записей; умолчание — звёздочка, то есть набор полей по умолчанию, помеченный в таблицах руководства; поддерживает исключение и произвольные заголовки письма.
retry-after
<domain>
критично
Хаб задаёт сам
Директива
Можно задать последовательностью: 10m, 1h, 4h — и тогда паузы растут от попытки к попытке.
smtp-proxy-source-host
Global
критично
Директива
Вендорский способ отправлять через прокси — локальный адрес, прокси, адрес клиента и имя в приветствии одной строкой.
auto-mx-rollup
Global
Директива
Одна строка вместо списка: узел группирует домены сам и сам придумывает имя очереди.
backoff-notify
<domain>
Хаб задаёт сам
Директива
Письмо приходит на оба события — и на вход в щадящий режим, и на выход из него.
backoff-retry-after
<domain>
Хаб задаёт сам
Директива
Расписание повторов на время backoff; задаётся последовательностью.
bounce-category-patterns
<domain>
Директива
Ставит свой разбор ответов впереди общего — не меняя того, отбито письмо или нет.
check-spf-outbound
<domain>
Директива
Не прошло — письмо отбивается у нас, не доехав до приёмника; временная ошибка — повтор.
discard-as-bounce
<domain>
Директива
Очередь вида discard всё равно пишет в учёт — эта строка решает, какой буквой.
name-server
Global
Директива
Задаёт адреса серверов имён; строку повторяют, и MTA ходит по ним по кругу. Не задана — берутся резолверы операционной системы.
precached-domains-file
<dns>
Директива
Текстовый файл по домену на строку; перечисленные домены разрешаются независимо от того, есть ли для них письма в очереди.
precached-refresh-interval
<dns>
Директива
Задаёт расписание обновления вместо срока жизни записи у приёмника: собственный срок этих доменов игнорируется.
proxy-retry-after
<domain>
Директива
Тот же шаг повторов, но для случая, когда до приёмника не дошло соединение через прокси.
retry-recipients-after
<domain>
Хаб задаёт сам
Директива
Нижняя граница паузы для адреса, ответившего 4xx, — поверх общего расписания очереди.
smtp-553-means-invalid-mailbox
<domain>
Хаб задаёт сам
Директива
Догадка на месте недосказанности приёмника — и от неё зависит, попадёт адрес в чёрный список или нет.
track-time-first-attempt
Global
Хаб задаёт сам
Директива
Включает подсчёт времени первой попытки; открывает поле в записях учёта и метрику задержки. По умолчанию выключено.
use-dane
<domain>
Директива
Узел читает записи DANE получателя, требует шифрования, если тот его требует, и сверяет сертификат по отпечатку из DNS; умолчание — выключено.
allow-cancel-during-transfer
<domain>
Директива
Умолчание разрешает — ради быстрой остановки службы; выключение бережёт от дублей, но останавливает узел дольше.
auth-password
<domain>
Директива
Вторая половина пары; знак решётки в нём недопустим — MTA считает его началом комментария.
auth-username
<domain>
Директива
Одна из двух строк, включающих исходящую аутентификацию: хватает непустой любой из них.
connect-timeout
<domain>
Директива
Первый таймаут разговора: до приветствия дело ещё не дошло.
edns-udp-length
Global
Директива
Включает расширение EDNS и задаёт наибольший размер ответа по UDP; без него ответы длиннее 512 байт обрезаются, и маршрут может собраться неполным.
log-commands
<source>
Хаб задаёт сам
Директива
Пишет в журнал полный обмен командами и ответами; вендор называет это первым шагом при разборе связи.
log-disabled-ips
<domain>
Директива
Единственный источник истории: список отключённых показывает «сейчас», журнал — «что было».
max-events-recorded
<domain>
Директива
Не журнал, а память: десять последних ошибок по домену, видимых в консоли и веб-мониторе.
max-msg-per-connection
<domain>
Хаб задаёт сам
Директива
Умолчание — ноль, без предела: MTA выгоднее отдать в одно соединение как можно больше.
max-rcpt-per-transaction
<domain>
Директива
Режет письмо с большим списком на несколько передач: больше параллельности, но тело уходит на приёмник столько раз, на сколько кусков разрезали.
precached-max-domains
<dns>
Директива
Потолок числа доменов, берущихся из файла; больше числа строк в файле быть не может, а лишние строки обрезаются молча.
retry-after-dns-error
<domain>
Хаб задаёт сам
Директива
Отдельный, более короткий шаг: приёмник этой попытки не видел, и спешка ему ничем не грозит.
smtp-421-means-mx-unavailable
<domain>
Хаб задаёт сам
Директива
Вендорское умолчание — остаться на том же соединении; включение переводит очередь на резервный сервер приёмника.
smtp-data-termination-timeout
<domain>
Директива
Последнее ожидание разговора — и самое опасное: сократишь, получишь дубли.
time-first-attempt-domains-file
<prometheus-listener>
Директива
Список приёмников, до ста имён, для которых метрика первой попытки получает свою метку; остальные попадают в other.
track-outbound-perf-stats
Global
Директива
Включает подсчёт времени от MAIL FROM до конца DATA при отправке; полезна только вместе со слушателем метрик.
track-recipient-events
<domain>
Директива
По умолчанию выключено: страница очереди молчит о том, что происходило с конкретными адресами.
use-unencrypted-plain-auth
<domain>
Директива
Оба механизма передают пароль в разговоре; без шифрования он идёт по сети открытым.
data-send-timeout
<domain>
Директива
Третье ожидание разговора; руководство напоминает: меньше трёх минут — нарушение почтового стандарта.
ignore-8bitmime
<domain>
Директива
Обход известной несовместимости: внешний шлюз принимает 8BITMIME, а внутренний за ним — нет.
ignore-chunking
<domain>
Директива
Отладочный переключатель: возвращает передачу к обычной команде DATA.
ignore-dsn
<domain>
Директива
Отменяет запросы отчётов о доставке, которые письмо несёт с подачи.
ignore-pipelining
<domain>
Директива
Второй отладочный переключатель: команды идут по одной, с ответом на каждую.
log-resolution
<domain>
Директива
Пишет в журнал ход поиска имён и маршрутов для приёмника; по умолчанию выключено.
log-transfer-failures
<domain>
Хаб задаёт сам
Директива
Пишет предупреждение, когда соединение рвётся во время передачи заголовков и тела; по умолчанию выключено.
max-rcpt-per-message
<domain>
Директива
Тот же предел нарезки под другим именем — и полный тёзка настройки приёма из блока подачи.
replace-smtp-421-service-response
<domain>
Директива
Заменяет текст после кода 421 на «service unavailable», чтобы адреса из чужого ответа не попали в отчёт об отказе; разбор по образцам при этом продолжает работать.
smtp-greeting-timeout
<domain>
Директива
Второе ожидание разговора: соединение есть, приёмник молчит.
Договор о телеметрии
критично
Механизм
Один блок описывает выход учёта целиком: какие виды записей, какие поля, куда они идут, как сменяются файлы и что обезличивается.
Как складывается политика для приёмника
критично
Механизм
Настройки собираются от самого общего образца к самому точному; порядок блоков в файле не значит ничего.
Как узел отвечает на слова приёмника
критично
Механизм
Сопоставляет ответы SMTP с регулярными выражениями и по совпадению меняет режим очереди — тот самый спусковой крючок, которого ждёт вся машинерия щадящего режима.
Как устроена запись учёта
критично
Механизм
Как устроена запись учёта: вид записи в первом столбце, дальше поля, состав которых настраивается.
Щадящий режим — вторая личность очереди
критично
Механизм
Очередь, которой приёмник начал отказывать, переключается на параллельный набор лимитов, повторов и маршрутов — десять директив, действующих только в этом режиме.
Жалобы, разобранные узлом — и разбираются они вторыми
критично
Механизм
Почта, пришедшая на адрес из настроенного списка, разбирается как отчёт о жалобе; порядок разбора важен — обработчик жалоб работает после обработчика отказов.
Что узел рассказывает о себе и по каким каналам
критично
Механизм
Семь поверхностей наблюдения: веб-монитор, консоль в четырёх форматах, журнал, учёт, поиск по учёту, метрики и выгрузка во внешнюю аналитику.
Не отправлять то, что не пройдёт проверку у получателя
критично
Механизм
Узел сам проверяет SPF своей почты перед отправкой: не прошло — отбивает, не дожидаясь чужого отказа.
События получателей
критично
Механизм
Последние 50 событий доставки, отказа и задержки по очереди — включаются
track-recipient-events
и видны в выводе очередей.
Наблюдение за репутацией внутри узла
критично
Механизм
MTA сам следит за ответами приёмников и по совпадению с образцом меняет режим очереди — реакция внутри соединения, а не по телеметрии.
Засеивание кампаний контрольными адресами
Механизм
MTA подмешивает в рассылку адреса вендора, а результат смотрят в его инструменте доставляемости; независимо от выгрузки событий.
Разбор и правка разметки
Механизм
Отслеживание открытий и переходов в режиме
sparkpost
правит разметку письма с помощью встроенного разборщика gumbo-parser; письмо, разметку которого разобрать не удалось, по умолчанию отбивается.
Отдача показателей сборщику
Механизм
Отдача показателей узла внешнему сборщику в его формате.
Сторож, который перезапускает MTA
Механизм
Присматривает за MTA и после падения поднимает его сам, отправляя отчёт о падении на адрес ответственного.
Указатель директив
Механизм
Алфавитный перечень руководства: 475 строк называют 477 мест описания директив — единственная полная опись языка конфигурации.
Чужие составляющие MTA
Механизм
PowerMTA работает на пяти сторонних библиотеках — PCRE, OpenSSL, ICU, gumbo-parser и prometheus-cpp; их поведение задаёт сборка MTA.
Разобраться, почему копится очередь к одному приёмнику
Процедура
Сначала одной командой проверить маршрут и достижимость, потом заставить узел попробовать доставку с записью сессии, и лишь при перемежающейся неполадке включить журналирование по приёмнику.
<dns>
Блок конфигурации
Блок предварительного кэша DNS: файл со списком доменов, потолок их числа и расписание обновления. Резолверы задаются вне блока.
disable source
критично
Команда
Есть опция вернуть его автоматически через интервал — без неё адрес останется отключённым навсегда.
show queues
критично
Команда
Показывает выбранные очереди и, если не запретить, последние полсотни доставок, отказов и задержек; отбор идёт по соединению, режиму и приостановке.
show settings
критично
Команда
Печатает настройки для пары «приёмник и адрес отправки» после слияния всех блоков.
resolve
Команда
Запрашивает записи MX и адреса домена и с
–connect
подключается к первому доступному почтовому хосту.
show domains
Команда
Печатает домены получателей, сложив по каждому все адреса отправки.
trace
Команда
Открывает соединение с доменом и пробует доставить одно письмо из очереди, записывая разговор SMTP в журнал.
pmtastats
Команда
Считает по файлам учёта пропускную способность и статистику трафика — по узлу, адресам отправки, заданиям и доменам.
acctfind
Команда
Ищет записи в файлах учёта по полям и печатает выбранные поля в одном из семи форматов.
Подробности одной очереди
критично
Точка API
Отдаёт одну очередь с короткими историями: последние события получателей, ошибки и смены режима.
Подробности одного приёмника
Точка API
Отдаёт состояние одного домена получателя.
Доставлено — запись, по которой считают всё
критично
Запись учёта
Пишется на каждого получателя, чьё письмо принял сервер назначения: исход, время, адрес отправки, задание, защита передачи и прокси.
Жалоба
Запись учёта
Отчёт о жалобе получен и разобран настроенным обработчиком.
Временная неудача
Запись учёта
Одна попытка доставки не удалась, и получатель остаётся в очереди до следующей.
Уведомление о доставке
Запись учёта
Пришло уведомление о состоянии доставки, не являющееся отказом, — например подтверждение доставки.
Приёмник отказал в соединении
Код ошибки
Соединение не установилось: удалённый хост отверг его — либо почтовый сервер выключен, либо фильтр отбивает именно этого отправителя.
Отказ на приветствии
Код ошибки
Приёмник вернул ошибку на первом же шаге разговора — обычно 4xx: занят, временно не принимает почту или не разрешает это соединение.
Приёмник разорвал соединение
Код ошибки
Удалённый хост неожиданно закрыл соединение — сервер выключили или он упал, либо так он ответил на содержимое письма.
Три коротких истории по каждой очереди
критично
Экран монитора
Страница одной очереди несёт последние полсотни событий получателей, последние десять ошибок очереди и последние десять смен режима.
Приёмники, сложенные по всем адресам отправки
Экран монитора
Самые нагруженные домены получателей по числу адресатов: объём, открытые соединения и последняя ошибка, плюс форма отбора по конкретному домену.
Спам-ловушки
Экран монитора
Отчёт SparkPost Signals о попаданиях в спам-ловушки по дням — числом или долей от объёма дня.
Обзор аналитики вендора
Экран монитора
Обзор SparkPost Signals: таблицы лидеров по оценке здоровья и спам-ловушкам в разрезе кампании, пула и домена отправки, до 90 дней.
Сводка службы
Экран монитора
Отчёт SparkPost Signals с метриками отправки за выбранный период и группировкой по доменам, кампании, адресу и пулу.