<transmissions-api-listener>
Transmissions API — второй способ подать письмо в MTA, кроме SMTP: клиент шлёт POST с телом JSON. Вход объявляется блоком <transmissions-api-listener> на своём адресе и порту, и эта строка задаёт сертификат, который он предъявляет.
Строка обязательна, и это главное отличие от подачи по SMTP. Руководство пишет прямо: разговор с клиентами идёт по HTTPS, и сертификат нужен каждому входу (§ 8.1.1); в примере оттуда так и помечено — обязательна она одна, остальные строки блока необязательны. Незашифрованного пути у этого входа нет вовсе — в отличие от подачи по SMTP, где STARTTLS можно и не начинать.
Самоподписанный делается своим инструментом MTA: pmtakeytool newcert > /etc/pmta/transmissions-api-certificate.pem. Настоящий от удостоверяющего центра подставляется в ту же строку.
Пароль и сам сертификат могут лежать в хранилище — запись {vault}:ПУТЬ/КЛЮЧ вместо пути к файлу, как у smtp-server-tls-certificate.
Стоит держать в уме при разговоре о втором способе подачи: у API шифрование не выбирается — оно есть всегда. Ту дыру, что нашлась на подаче по SMTP (пароль может уйти открытым текстом), здесь устроить нечем.
Выбор — откуда берётся сертификат:
| Значение | Когда |
|---|---|
| путь к PEM | обычный случай |
| путь к PEM плюс пароль | ключ зашифрован, хранилища нет |
| {vault} | ключи парка отзываются в одном месте |
Умолчания нет: без этой строки вход по API не поднимется.
# вход по API: обязательна одна строка, остальные необязательны <transmissions-api-listener 1.2.3.4:8585> tls-certificate /etc/pmta/transmissions-api-certificate.pem</transmissions-api-listener> <transmissions-api> api-key 14ac5499cfdd2bb2859e4476d2e5b1d2bad079bf </transmissions-api>
что делают не так и чем это кончается3 ошибки▶
§ 8.1.1
наш опыт
§ 8.1.4
2 связи
openssl s_client -connect NODE:8585 -brief </dev/null
3 статьи
◇Кому разрешено сдавать почту и для кого её приниматьИз коробки узел принимает подачу только с самой машины; два разных вопроса — «кто может слать через нас» и «на чьи адреса мы принимаем» — решаются разными директивами.◇Группа, дающая право управлятьЧленство в группе pmta даёт непривилегированному пользователю право звать команды узла и пользоваться подачей.◇Как узел выбирает источник и складывает его настройкиСоединение попадает под все блоки источника, чьи адреса его накрывают, и действуют они слитно — узкий перекрывает широкий; именованные блоки подключаются только по прямой ссылке.