<include-config>
The line names a file; each of its lines becomes a header of the HTTP request the node makes when fetching the configuration file.
It is designed for authorization. The manual gives exactly this example: Authorization with a key. The regular include form cannot do this — the address cannot contain a user name, a query string or a fragment, which means there is nowhere to pass the key through the address.
The node does not parse the contents. Only the form of the header line is checked; what header it is and what is in it does not matter to the engine.
The value is a file path. What goes in it and how to handle it:
| What | How |
|---|---|
| one header per line | the usual form, Name: value |
| an access key | in plain form — the engine offers no other options |
| file permissions | as for the configuration, no broader |
| key rotation | by editing the file and rereading the configuration |
The engine will not check the contents. A typo in a header name will become not a configuration error but a refusal on the server side — and it will surface as a failed reload.
# the authorization header is set by a file <include-config https://10.1.2.3:4000/my/config/file> http-extra-headers /etc/pmta/include-config-http-headers.txt</include-config>
what people get wrong and how it ends3 mistakes▶
§ 3.3.24.1
§ 3.3.24.1
our experience
2 relations
curl -sI -H "@/etc/pmta/include-config-http-headers.txt" https://10.1.2.3:4000/my/config/file
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.