Файл лицензии

PowerMTA license file
Обычный файл с одним жёстким требованием к кодировке

Ключ лицензии лежит на узле обычным файлом. На Linux это /etc/pmta/license, на Windows — license.dat в каталоге установки.

Содержимое непрозрачно — это выданный вендором ключ, который не читают и не правят.

Одно жёсткое требование руководство называет прямо: на Windows файл должен быть сохранён в ASCII, а не Unicode. Требование выглядит мелочью ровно до тех пор, пока ключ не скопирован через блокнот, сохраняющий в UTF-16, — тогда MTA его не примет, а причина не видна глазами.

Файл — часть состояния узла. Он лежит в каталоге конфигурации и входит в то, что копируют для восстановления (backup-restore): восстановление без него означает новое обращение в поддержку.

Главная ловушка — кодировка при переносе. Ключ приходит письмом или из личного кабинета, и его копируют через редактор. Редактор, сохраняющий в Unicode, делает файл непригодным, при этом на экране он выглядит правильным. Ошибка проявится отказом запуска, а причина не будет названа нигде, кроме этой строки руководства.
Что делает Хаб. Файл не создаёт и не проверяет — ключ приходит клиенту от вендора и ставится при установке MTA.

⚠️ И уровень лицензии Хабу неизвестен: в телеметрии этих данных нет. Значит пресеты соединений считаются без оглядки на то, какая лицензия у клиента, — а стандартная режет исходящие соединения до двухсот молча (licensing).

При восстановлении узла файл нужен так же, как конфигурация: Хаб восстановит настройки, но не ключ.

Рекомендуемые значения

Что проверять у файла:

Что Каким должен быть
расположение /etc/pmta/license на Linux
кодировка на Windows ASCII, не Unicode — требование руководства
права те же, что у конфигурации: ключевой материал
резервная копия вместе с каталогом конфигурации

Проверять содержимое глазами бесполезно — ключ непрозрачен. Единственная настоящая проверка та, что делает сам MTA.

Копировать файл, а не текст. Перенос через редактор и есть источник проблемы с кодировкой; передача файлом её снимает.

Порядок проверки наш. Из руководства здесь расположение файла на обеих платформах и требование ASCII на Windows.
Пример в конфигурации
# перенос ключа: файлом, а не через редактор
scp license root@node:/etc/pmta/licensechown pmta:pmta /etc/pmta/license && chmod 640 /etc/pmta/license
Выделенная строка переносит файл как есть — так кодировка не меняется. Нижняя ставит те же права, что и остальной конфигурации: это ключевой материал.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Переносят ключ через редактор на Windows

§ 2.2

Чем чреватоРедактор, сохраняющий в Unicode, делает файл непригодным. На экране он выглядит правильным, а MTA его не принимает — и причина не названа нигде, кроме одной строки руководства.
Как заметитьMTA не запускается после установки, файл лицензии на месте и на вид верный.
Как правильноПереносить файлом, а не текстом. Если уже перенесли через редактор — пересохранить в ASCII.

Не берут файл в резервную копию

§ 1.8

Чем чреватоОн лежит в каталоге конфигурации и входит в состояние узла. Восстановление без него означает новое обращение в поддержку и простой ровно тогда, когда узел нужен больше всего.
Как заметитьУзел восстановлен, конфигурация на месте, MTA не запускается.
Как правильноКопировать каталог конфигурации целиком — ключ там же.

Пытаются понять лицензию по содержимому файла

§ 2.2

Чем чреватоКлюч непрозрачен: ни уровня, ни срока по нему не видно. Время уходит на разглядывание того, что не читается.
Как заметитьВопрос «какая у нас лицензия» решается открыванием файла.
Как правильноСпрашивать MTA командой — она печатает и уровень, и срок.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
Ключ от SparkPost, содержимое которого не читается. К самому файлу руководство ставит одно жёсткое условие: в Windows он хранится в ASCII, а не в Unicode. В нём может быть поле SupportExpires, а в лицензии по объёму — предел instances.
Всё здесь — из руководства, с разделом.
Наследование
Наследования у файла нет. Влияет он на весь экземпляр: уровень лицензии ставит потолок над total-max-smtp-out, и этот потолок не переопределяется ничем ниже.
Как проверить на узле
Проверяет лицензию только сам MTA — глазами файл не прочесть:
pmta show license
ls -l /etc/pmta/license
Первая покажет уровень лицензии и срок её действия — это и есть единственная настоящая проверка. Вторая — что файл на месте и с правильными правами.
В Хабе
Цена ошибки
безопасно: неверное значение ничего не ломает
Сценарии
Подготовить узел к отправке