message:import_scheduling_header(HEADER_NAME, REMOVE)
Reads the header specified and attempts to parse it as JSON-encoded version of the message:set_scheduling() parameters. If successful, it will call message:set_scheduling() with that value, and if REMOVE is set to true, will remove the header from the message.
The return value of message:import_scheduling_header
is:
- A lua table representation of the scheduling parameters, or nil if the specified header was not present. (Since: Version 2025.03.19-1d3f1f67)
nil
in prior versions of KumoMTA.
If the header is present, but has invalid contents the behavior will be:
- An error will be raised explaining the issue. (Since: Version 2025.03.19-1d3f1f67)
- No error indication will be given and no errors will be logged in prior versions of KumoMTA.
For example, given this message:
X-Schedule: {"dow":"Mon,Wed","tz":"America/Phoenix","start":"09:00:00","end":"17:00:00"}
Subject: hello
This message should only be delivered during working hours
in Phoenix on Mondays or Wednesdays.
this policy script will parse and remove that header, and apply the scheduling constraints: