<email-patterns>
Крупные почтовики отдают отказы и жалобы в стандартных форматах, и MTA разбирает их сам. Некоторые — нет. Строка задаёт файл с образцом, по которому из тела такого письма вытаскиваются поля учёта. Строка повторяется: файлов может быть несколько.
Образец — регулярное выражение с именованными группами, и имя группы это имя поля учёта. Пример руководства: Email from (?<dlvSourceIp>[0-9\.]+) — из строки письма достаётся адрес отправки, тот самый, с которого письмо когда-то ушло.
Извлечённое попадает в учёт — в запись жалобы или отказа, рядом с полями, которые MTA нашёл сам. То есть нестандартный отчёт становится в аналитике неотличим от стандартного.
Блок вкладывается в обработчик. <email-patterns> пишется внутри <bounce-processor> или <feedback-loop-processor> — и у каждого свой набор образцов.
При нескольких файлах порядок и совпадение видны только через log-match-info: без него непонятно, какой образец сработал, а от этого зависит, что именно извлеклось.
🔎 Строка понадобится, когда обнаружится приёмник, чьи жалобы до панели не доходят: доля спама по нему будет занижена, и объяснить это будет нечем. Признак — письма на fbl@fbl.<домен> приходят, а записей жалоб по этому приёмнику в учёте нет.
Файл на формат, а не на приёмник:
| Что | Замечание |
|---|---|
| формат файла | одно регулярное выражение |
| имена групп | равны именам полей учёта |
| сколько файлов | сколько форматов, строка повторяется |
| где лежит блок | внутри обработчика, не в корне файла |
Проверять образец надо на нескольких письмах, а не на одном.
# блок вкладывается в обработчик, а не пишется в корне файла <feedback-loop-processor> <email-patterns> body-pattern-file /etc/pmta/report-pattern.txt log-match-info true </email-patterns> </feedback-loop-processor> # в файле — одно регулярное выражение с именованной группой: # Email from (?<dlvSourceIp>[0-9\.]+)
что делают не так и чем это кончается2 ошибки▶
наш опыт
§ 13.10
2 связи
grep -i "pattern" /var/log/pmta/log | tail -20
3 статьи
◇Два обработчика входящих отчётов и что с ними делатьОтказы письмом и жалобы разбираются двумя одинаково устроенными блоками; у каждого свой список адресов и своя пара решений о судьбе письма.◇Что делать с принятым письмомЧто узел делает с принятым входящим письмом: пересылает, кладёт в файл, гасит, передаёт программе или разбирает как отказ или жалобу.◇Кому разрешено сдавать почту и для кого её приниматьИз коробки узел принимает подачу только с самой машины; два разных вопроса — «кто может слать через нас» и «на чьи адреса мы принимаем» — решаются разными директивами.