mirror of
https://github.com/KumoCorp/kumomta.git
synced 2026-08-19 08:01:07 +00:00
34 lines
1.2 KiB
Markdown
34 lines
1.2 KiB
Markdown
# `kumo.on('http_message_generated', function(message))`
|
|
|
|
Called by the HTTP injection API endpoint after generating a message, but prior
|
|
to injecting it into the queue.
|
|
|
|
The event handler will be passed a [Message](../message/index.md) object.
|
|
|
|
The HTTP injector does not add a `Received` header, but it will pre-set the
|
|
following meta values in the message:
|
|
|
|
* `"http_auth"` - will hold either the authenticated username or the peer IP
|
|
address that satisfied the authentication check for the endpoint.
|
|
|
|
This event is the best place to carry out a number of important policy
|
|
decisions:
|
|
|
|
* DKIM signing via [message:dkim_sign](../message/dkim_sign.md).
|
|
* Assigning the `"campaign"`, `"tenant"` and/or `"queue"` meta values via [msg:set_meta](../message/set_meta.md)
|
|
|
|
You may use [kumo.reject](../kumo/reject.md) to raise an error to prevent this
|
|
message from being queued for delivery.
|
|
|
|
```lua
|
|
kumo.on('http_message_generated', function(msg)
|
|
local signer = kumo.dkim.rsa_sha256_signer {
|
|
domain = msg:from_header().domain,
|
|
selector = 'default',
|
|
headers = { 'From', 'To', 'Subject' },
|
|
key = 'example-private-dkim-key.pem',
|
|
}
|
|
msg:dkim_sign(signer)
|
|
end)
|
|
```
|