Advertisement:
In the realm of Message Transfer Agents (MTAs), PowerMTA, also known as PMTA, stands out as a premier commercial option. Its reputation is underscored by its adoption within renowned Email Service Providers (ESPs) and large enterprises such as MailChimp, Microsoft, IBM, and more.
Need assistance with the installation and configuration of PowerMTA? Feel free to get in touch with us at https://ipwarmup.com/powermta
Continuing their unwavering dedication, the team behind PowerMTA has introduced the latest iteration, v5.5r5, which was made available on June 23, 2023. Let's delve into the enhancements that have been implemented since the initial v5.5r1 release:
2023-06-23: released build 5.5r5
- introduced a new record field (numRetries) to "d", "b" and "t" record types in accounting
files which gives visibility into the number of retry attempts made for a recipient before
it is delivered or bounced;
- introduced the "<domain>.bounce-category-patterns" directive to customize bounce category
patterns on a recipient domain basis, for flexibility in categorizing errors specific to
each ISP.
- introduced the "<domain>.verp-default" directive to provide flexibility in configuring
VERP at the domain level since some mailbox providers may not like VERP and some others
may throttle delivery speed based on the MAIL FROM address;
- introduced "<domain>.enable-tq-record-for-proxy-failure" directive to provide more visibility
into errors connecting to the proxy by logging them as a "tq" record in accounting files;
- added the ability to customize Signals tracking domains on a virtual MTA or
virtual MTA pool basis;
- extended "pmtastats" command to analyze files compressed in gzip format;
- fixed some edge cases with MX rollups;
- improved the security of the "/configFile" API to allow access only to PowerMTA
configuration files;
- optimized performance of the "<virtual-mta>.max-smtp-out" directive implementation;
- other small improvements and fixes;
2023-04-14: released build 5.5r4
- improved Transmissions API to make it easier to specify attachments and AMP content in
email injections;
- added support for running PowerMTA on ARM-based architectures which generally have better
price-performance ratios than their x86 counterparts. PowerMTA 64-bit ARM RPMs can
be found on the download portal; On ARM, please ensure "thread-reuse" is disabled for
best performance;
- introduced "<virtual-mta>.suppression-lists" directive to suppress recipients on a
per-Virtual MTA or Virtual MTA pool basis. This allows you to make your suppression lists
independent of the "<source>" settings;
- added ability to store TLS listener certificate, private key, and the associated password
in Vault for improved security. See the documentation for the global
"smtp-server-tls-certificate" directive and the "tls-certificate" directive under the
"<smtp-listener>" and "<transmissions-api-listener>" tags for more information;
- added the ability to extract the contents of desired headers from the inbound message and
include them in the X-MSYS-API header of the outbound message. This could be useful for
tracking purposes when relaying messages to SparkPost, e.g., by including Message-ID header
in the metadata;
- introduced "<source>.replace-message-id-header" directive to control whether PowerMTA
should replace an existing Message-Id header, for greater flexibility;
- extended the "<smtp-pattern-list>.defer-job" action to apply to all SMTP replies rather
than just recipient-level 4xx replies, for greater flexibility in adapting to differences
in responses from various ISPs with regard to job-level errors;
- added the ability to start PowerMTA and PowerMTA web monitor as the non-root "pmta" user
on Linux for improved security. As part of this change, the location of the PowerMTA
and PowerMTA web monitor PID files has moved to "/var/lib/pmta/run" directory - if you have
any tools (e.g., for monitoring PowerMTA processes) configured to rely on the PID files,
please review and tweak your setup as needed;
- added the IP address used by the proxy for email delivery to the "queueDetail" REST API
response for extra visibility;
- fixed a crash while processing an SMTP reply which returns PCRE_ERROR_MATCHLIMIT error
when matching specific patterns (which could cause intensive matching recursions) in
the "smtp-pattern-list";
- fixed a race condition that could prevent seeding from taking place when using the
"Automatic Inline Seeding" feature;
- upgraded to OpenSSL 1.1.1t, to get the latest bug fixes;
- other small improvements and fixes;
2023-04-01: released build 5.5r3
- fixed a security vulnerability with the web monitor's "/getFile" API, which sometimes
could allow access to arbitrary files on the server;
2022-10-01: released build 5.5r2
- added support for submission of compressed request payload with Transmissions API. Also,
introduced "<transmissions-api>.max-message-size" directive to specify the maximum size
allowed for the request payload (defaults to 100MB);
- updated User's Guide with instructions for setting up PowerMTA within Docker containers. This
feature is experimental;
- extended "virtual-mta-pool" syntax to support percentage-based routing for virtual MTAs.
This simplifies the configuration and offers more flexibility for balancing the load between
the various virtual MTAs within the virtual MTA pool;
- extended "<domain>.reroute-to-virtual-mta" directive syntax to take an optional parameter to
specify the time interval after which the reroute becomes effective. This could be useful to
automatically reroute recipients that stay in a queue for a long time to another virtual MTA
to have a better chance of getting delivered;
- introduced "<source>.require-starttls" directive to enforce encryption with STARTTLS for
inbound connections to improve security;
- fixed crash while processing a very deeply nested HTML when "<signals>.engagement-tracking"
is set to "sparkpost";
- other small improvements and fixes;
2022-06-03: released build 5.5r1
- added support for automatic inline seeding to help monitor the health of your email
sending campaigns;
- added ability to view additional deliverability metrics when using Signals. If you
currently use Signals, make sure the API key has "Account: Read" permissions before
upgrading to PowerMTA 5.5;
- improved Transmissions API to allow variable substitution and submission of email content
in "inline format". This allows you to submit the contents of your email in JSON which
includes the subject, headers, and the text/HTML contents for the body of your email.
PowerMTA will then compose a well-formed MIME-formatted email message for delivery;
- added support for metrics-based monitoring of PowerMTA with Prometheus;
- introduced a new REST API to manage configuration for "suppression-list"(s);
- added support for TLS certificate chain based authentication of SMTP users;
- added support for LDAP-based authentication of SMTP users via HashiCorp Vault;
- introduced "...-tls-min-version" and "...-tls-max-version" directives to control what
TLS protocol versions are allowed. This should be preferred over the existing
"...-tls-allow-..." directives which are now considered deprecated;
- introduced "...-tls-cipher-server-preference" directives to control whether to use
server’s preferences when choosing a cipher during a TLS connection;
- introduced a new "<include-config>" tag to support fetching configuration from external
sources through HTTP or HTTPS with customized HTTP headers;
- added "log-hires-timestamp" to configure millisecond precision for messages in log files;
- added a new "greylist" action to "smtp-pattern-list" to prioritize delivery of greylisted
recipients whenever the queue exits retry mode;
- added a new "defer-job" action to "smtp-pattern-list" to delay delivery of all recipients
belonging to a job within a queue;
- made hostname in "<proxy>.client" directive optional and use the virtual MTA's "host-name"
as the default;
- improved overall performance and reduced memory usage for Linux builds;
- upgraded to OpenSSL 1.1.1n, to get the latest bug fixes;
- other small improvements and fixes;
Feel free to share your thoughts about PowerMTA in the comments section!
Advertisement: