3. Configuration
halon loads the non-reloadable configuration from the plugins section in /etc/halon/smtpd.yaml.
It is described by, and can be validated with, the
submission.schema.json
JSON schema.
3.1. Authentication directives
- apikeys[]
List of allowed API keys for the HTTP server (sent in the X-API-Key header).
3.2. Listener directives
- serverid
Which
serveridto use. The server should be of typeplugin. Required.
- transportid
Which
transportidto use. The default is the one configured for the server insmtpd-app.yaml.
- port
Which TCP port to listen on. Required.
- address
IPv4 or IPv6 address to listen on. The default is to listen to all IPv4 and IPv6 addresses.
- pki
The X.509 certificate and private key. The private key and certificate should have either a
pathordataproperty.pki: certificate: data: |- -----BEGIN CERTIFICATE----- ... privatekey: data: |- -----BEGIN PRIVATE KEY----- ...
- proxy[]
Can either be a boolean or a list of IP addresses and subnets to trust as being reverse proxies. If it’s a boolean and it’s set to true it will trust all IP-addresses and subnets as being reverse proxies.
3.3. Tracking directives
- tracking.click
If click tracking should be enabled or not. The default is false.
Note
This setting can be overriden in the HTTP request by setting the
tracking.clickproperty. It can also be turned off for individual links by including thetracking=offattribute inside the anchor of a link before thehref.
- tracking.open
If open tracking should be enabled or not. The default is false.
Note
This setting can be overriden in the HTTP request by setting the
tracking.openproperty.
- tracking.unsubscribe
If one-click list unsubscribe should be enabled or not. The default is false.
Note
This setting can be overriden in the HTTP request by setting the
tracking.unsubscribeproperty.
- tracking.url
The base url that should be used for the rewritten links and tracking pixels. Required.
Note
This setting can be overriden in the HTTP request by setting the
tracking.urlproperty.
- tracking.secret.id
The ID of the secret that should be used to generate the hash of the tracking payload. This must be an integer between 1 and 254. Required.
- tracking.secret.key
The key for the secret that should be used to generate the hash of the tracking payload. Required.
3.4. Other directives
- threads
The amount of worker threads that should be started to handle incoming requests. The default is as many as there are CPU cores.
- maxsize
The maximum request body size to accept. The default is 10 485 760 bytes.