<transmissions-api-listener>
The Transmissions API is the second way to submit a message to the engine, besides SMTP: the client sends a POST with a JSON body. The entry point is declared with a <transmissions-api-listener> block on its own address and port, and this line sets the certificate it presents.
The line is mandatory, and that is the main difference from SMTP submission. The manual says directly: the conversation with clients goes over HTTPS, and every entry point needs a certificate (§ 8.1.1); the example there marks it accordingly — only this line is mandatory, the rest of the block is optional. This entry point has no unencrypted path at all — unlike SMTP submission, where STARTTLS may not be started.
A self-signed one is made with the engine’s own tool: pmtakeytool newcert > /etc/pmta/transmissions-api-certificate.pem. A real one from a certificate authority goes into the same line.
The password and the certificate itself can live in the vault — a {vault}:PATH/KEY entry instead of a file path, as for smtp-server-tls-certificate.
Worth keeping in mind when discussing the second submission method: with the API, encryption is not optional — it is always there. The hole found in SMTP submission (a password may go out in plain text) cannot be created here.
The choice is where the certificate comes from:
| Value | When |
|---|---|
| a path to a PEM | the usual case |
| a path to a PEM plus a password | the key is encrypted, there is no vault |
| {vault} | the fleet’s keys are revoked in one place |
There is no default: without this line the API entry point will not come up.
# API entry point: one line is mandatory, the rest are optional <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>
what people get wrong and how it ends3 mistakes▶
§ 8.1.1
our experience
§ 8.1.4
2 relations
openssl s_client -connect NODE:8585 -brief </dev/null
3 articles
◇Who is allowed to submit mail and for whom to accept itOut of the box, the node accepts submission only from the machine itself; two different questions — “who can send through us” and “for whose addresses we accept mail” — are answered by different directives.◇The group that grants management rightsMembership in the pmta group gives an unprivileged user the right to call the node’s commands and use submission.◇How the node selects a source and combines its settingsA connection falls under all source blocks whose addresses cover it, and they act merged — the narrow one overrides the wide one; named blocks are attached only by direct reference.