What's new
This release adds various improvements to many parts of the MTA. Notable changes include message priority support in the active queue to prioritize deliveries, as well as the ability to define custom thread pool for script execution and to set thread priorities to improve performance. Please see the changelog below for a full list of changes, and the release blog for more information.
Important changes
- Removed the following deprecated functions from the per-message end-of-DATA script. They were only available in one release (5.0).
Queue()
,GetMailMessage()
,GetTLS()
,GetAddressList()
,DKIMSign()
,DKIMSDID()
,DKIMVerify()
- Removed ability to control
rated
ordlpd
fromhalonctl
. Useratectl
anddlpctl
instead. - Removed support for the per-recipient end-of-DATA script from the Linux builds. This change doesn't affect the integrated (VM) package.
Deprecation warnings
- Deprecated use of
MIME("0")
in end-of-DATA script by triggering a warning in the log. Use$arguments["mail"]
orGetMailMessage()
instead. Its use is discouraged and we'll change this deprecation to a critical error a few releases before it's removed to assist the migration.
Changelog
This is a list of notable changes. You can find the full changelog here.
Added
- MTA
- Added priority for queued messages
- Added max age of messages in queue (retry.during) as an alternative to retry.count
- Added support for thread priority for various thread pools and event loops
- Added support for more AUTH mechanisms in SMTP clients (eg. XOAUTH2)
- Added
queues.maxmessages
to limit number of messages to hold in memory - Added
data.fixheaders
(false) anddata.mimepart.fixheaders
(false) to inject\r\n
before bad headers - Added
$arguments["expired"]
to post-delivery hook to indicate bounces due to age or max retry count
- Scripting language
- Added array dereference with spread operator inside of arrays
- Allow upcast of TLSSocket to Socket with
TLSocket.toSocket()
- Added
setFileName()
andsetDisposition()
functions toMIME()
- Added support to create
MailMessages
fromFile
objects usingMailMessage::File()
- Native plugins
- Added support to get object properties with
HalonMTA_hsl_object_property_get()
- Create MailMessage and File classes from strings with
HalonMTA_hsl_value_set()
- Detect MailMessage type with
HalonMTA_hsl_value_type()
- Added support to get object properties with
- HTTP submission API
- Added
/health
endpoints to be used with load balancers - Added
$arguments["headers"]
to end-of-DATA script
- Added
Comments
0 comments
Article is closed for comments.