Формат отчёта

format
Какого вида пришла жалоба

Название формата поступившего отчёта.

В записях жалоб входит в набор по умолчанию, в записях асинхронных отказов его надо назвать в record-fields. Состав полей задаётся в блоке учёта, и добавлять их стоит осознанно: записей о доставке столько же, сколько доставленных получателей, и каждый лишний столбец умножается на этот объём.

Форматов жалоб несколько, и разбор у них разный: по этому полю видно, какой именно разобран.

Главная ловушка — считать поле одинаковым для всех видов записей. У f оно в наборе по умолчанию, у rb — нет: звёздочка в record-fields rb его не даст, и в общем файле у таких строк столбец останется пустым.
Что делает Хаб. Поле приходит вебхуком в записях жалоб, но нормализатор событий его не разбирает: из жалобы Хаб берёт вид записи, получателя, отправителя, адрес и время. В файл учёта на узле записи жалоб не пишутся.
Рекомендуемые значения

Где поле есть и входит ли в звёздочку:

Вид записи В звёздочке
rb, rs — отчёт извне нет
f — жалоба да

В общем файле пустое значение бывает двух родов: у строки нет данных — или поле не выбрано для её вида записи.

Виды записей с этим полем и отметки набора по умолчанию — из руководства (§ 12.2.6, § 12.2.7); список без звёздочки заменяет набор — § 3.3.11.12. Таблица — наша.
Пример в конфигурации
<acct-file /var/log/pmta/acct.csv>
    record-fields rb *, format</acct-file>
У f поле приходит со звёздочкой, у rb его добавляют явно.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Как проверить на узле
Проверить, есть ли столбец в последнем файле учёта:
head -1 "$(ls -t /var/log/pmta/acct-*.csv | head -1)" | tr -d '\r' | tr ',' '\n' | grep -n '^format$'
Номер строки в выводе — номер столбца в файле; пусто — поле не выбрано ни для одного вида записей этого файла.
В Хабе
Цена ошибки
безопасно: неверное значение ничего не ломает