pickup-remove-dot

Global

Убирать ли лишнюю точку в начале строки из файлов подхвата
в конфигурации это строкаpickup-remove-dot falseвнутри блока Global
Уступка программе, перепутавшей способ подачи

Умолчание — false.

Причина существования строки — расхождение двух способов подачи. В протоколе SMTP строка, начинающаяся с точки, обязана экранироваться второй точкой. В файле каталога подхвата экранировать не нужно.

Программа, написанная под SMTP и переученная на файлы, часто продолжает ставить вторую точку. Тогда лишняя точка попадает в письмо и доезжает до получателя.

С true MTA эту вторую точку убирает.

Главная ловушка — включить там, где точку не ставят. Строка не разбирает, откуда взялась вторая точка: она убирает её всегда. Письмо, в котором строка законно начинается с двух точек, придёт получателю с одной.

Случай редкий, но не выдуманный: так выглядят обрамления в текстовых письмах и часть разметки. Проверить это можно только письмом в свой ящик.

Отсюда правило: строка чинит известную неисправность конкретной подающей программы, а не ставится впрок.

Что делает Хаб. Не пишет: каталог подхвата у него не объявлен, и настраивать нечего.
Рекомендуемые значения

Что ставить. Строка адресная:

Значение Когда
false (умолчание) подающая программа файлы формирует правильно
true известно, что она ставит вторую точку по привычке от SMTP

Второе стоит включать после того, как увидели лишнюю точку в доставленном письме, а не по подозрению.

Умолчание false и разбор расхождения между SMTP и файлом подхвата — из руководства, § 3.3.1.56.3. Предупреждение о законных двух точках наше.
Пример в конфигурации
# подающая программа экранирует точку по привычке от SMTP
pickup /opt/pickup/new /opt/pickup/badfiles
pickup-remove-dot yes
MTA уберёт вторую точку в начале строки. Он не разбирает, лишняя она или законная, — поэтому включать стоит только при известной неисправности.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

Типичные ошибки и проблемы

что делают не так и чем это кончается2 ошибки▶

Включают строку впрок

наш опыт

Чем чреватоMTA убирает вторую точку всегда, не разбирая, лишняя она или законная. Письма, где строка законно начинается с двух точек, приходят изменёнными.
Как заметитьВ доставленных письмах пропала одна точка в начале строки.
Как правильноВключать только при известной неисправности подающей программы и проверять письмом.

Чинят на узле то, что надо чинить у подающей стороны

§ 3.3.1.56.3

Чем чреватоНастоящая причина — программа, экранирующая точку не по тому правилу. Настройка узла прячет симптом, и при переходе на подачу по HTTP ошибка может вернуться.
Как заметитьТа же программа даёт лишние точки и при подаче по HTTP, где экранировать точку тоже не нужно.
Как правильноПочинить формирование файла на подающей стороне; строку держать как временную меру.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
pickup-remove-dot <boolean>
Значения
yes | no | true | false
Умолчание
false § 3.3.1.56.3
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
Global
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Директива пишется в корне файла конфигурации и действует на весь узел. Каталог подхвата поддерживается только один, так что и настройка одна — отдельной для разных подающих программ не бывает.
Как проверить на узле
Строку видно в конфигурации, следствие — в доставленном письме:
grep -n 'pickup' /etc/pmta/config
Проверять надо письмом в контрольный ящик: строка, начинающаяся с точки, должна прийти с одной точкой, а не с двумя и не без неё вовсе.
В Хабе
Цена ошибки
безопасно: неверное значение ничего не ломает
Сценарии
Подключить платформу отправки