What's new
This release introduced a much more powerful queuing subsystem. Please see the changelog for a full list of changes, and the release blog for more information.
Important changes
- The transport profile pause setting is removed in favour for the new queuing subsystem's hold and suspend functionality. Existing configurations will be automatically migrated to a pickup suspension rule.
- The transport profile priority setting is removed, as the new queuing subsystem provides a much better alternative using virtual queues with dedicated concurrency.
- The options for MX delivery (zone= and query=) that was deprecated in 5.1 have been removed.
-
Forward-confirmed reverse DNS lookups are performed by the SMTP server on connect by default. This can be disabled on a per-server basis.
- The smtp_lookup_*() functions no longer do three attempts.
- Format strings using a fill character now need to precede the fill characters with the ' character.
- A change in the log format will cause pre-update text logs from queued to not appearing when searching for a specific recipient, to mitigate this remove the last queue id (:<number>) from the search string.
Deprecation warnings
The following deprecation warnings will appear in preparation for future changes:
- The SOAP API has reached its end-of-life (EOL) and will be removed in the next release. Migrate to the REST API before upgrading to the next version.
- The pre-delivery CurrentConnections() function is deprecated in favour for the new queue subsystem's much better virtual queues.
- The GetMailQueueMetric() function is deprecated because the queue is being reworked, please contact support for consultation on alternatives.
- The end-of-DATA functions GetMailFile() and Queue() is deprecated in favour for $arguments["mail"] and its queue() method.
New recommendations
We recommend that following changes are performed in order to prepare for future deprecations.
- The queue scripts introduce a new design pattern for accessing and changing context data. All the pre-defined variables are replaced by the $arguments and $message arrays. The pre-delivery's setter functions functions (like SetDestination) will be retired in favour for arguments to to the Try() function. The non-unique sequential ID is replaced by $message["id"] which is a pair of the universally unique transaction ID and the numeric ID returned by each queue() call.
- The pre-delivery's Reschedule() and post-delivery's Retry() functions have been renamed to just Queue().
- Use the post-delivery script's new $arguments["attempt"]["connection"]["tls"] and its X.509 resource "peercert" with the new X.509 class instead of the GetTLS() function.
// Old way $tls = GetTLS(); if ($tls) echo $tls["peer_cert"]["subject_alt_name"]["DNS"]; // New way if ($arguments["attempt"]["connection"]["tls"]["peercert"]["x509"]) { $tls = X509($arguments["attempt"]["connection"]["tls"]["peercert"]["x509"]); echo $tls->subject_alt_name()["DNS"]; }
Comments
0 comments
Article is closed for comments.