Apr 6, 2020

Five Essential PowerMTA Configuration Tips

Five Essential PowerMTA Configuration Tips

Five Essential PowerMTA Configuration Tips

Customers often ask “what are the best configurations to use with PowerMTA”?  The answer is different for every region of the world. Configuration settings in the US will be vastly different than those in Europe for example, so global settings are not as effective. In this blog post, we take a look at five essential PowerMTA™ configuration tips that will help make your sending infrastructure more efficient and reduce I/O clutter.

Utilize source directives to make sure your email headers are correct

ESPs and many high volume senders send email on behalf of other organizations and often feel they do not have full control over the email headers.   This is not the case, and if best practices are not followed, email almost inherently will end up being routed to the junk folder. With PowerMTA™, you can add missing data or Message-ID headers.  You can also hide internal sources in the “received header,” or completely disable adding the received header altogether. The latter is often used to make it look as if the email originated from the sender’s public IP.

Keep a clean configuration by using parameter inheritance more wisely

For manageability configurations, it is important to keep them DRY. DRY stands for Don’t Repeat Yourself, and, is an acronym used by software developers.  For example, PowerMTA™ merges the settings from all matching sources. Thus you can often move common settings to the source 0/0 that matches every IP that connects to PowerMTA™. Except for “always-allow-relaying” of course, which should only be allowed from specific sources. You can also remove settings with obvious default values and further reduce redundant configurations.

With domain directives, all matching domain entries are merged, giving preference to more specific entries, regardless of the order in the configuration. By using sensible default settings for the wildcard domain, you can reduce the configuration to only a few exceptions.  For example, the following setting eliminates the need to enable the use of TLS on “many” specific domains:

<domain *>     use-starttls yes # Use TLS when delivering email </domain>

Don’t waste resources on invalid email domains

If the local part of an email address does not exist, you’ll usually get an error message from the ISP. However, if the domain is not valid, you might run into repetitive errors such as failed DNS lookup, non-responsive servers, or servers that refuse to relay from a particular domain.

PowerMTA™ should be configured not to waste resources on these domains, and focus delivery of resources to valid domains. You can instruct PowerMTA to bounce email if an MX record could not be found for a domain since invalid domains caused by typos often have an “A “record without a proper “MX” mail server record in DNS. You can also use a domain macro combined with black-holing to drop mail known for discontinued domains or domains with anonymous discardable accounts.  In any event, the goal is to keep the configuration “lean” for invalid or less important domains.

Apply settings based on your own data and experience

We’ve talked about this before, but I’d like to reiterate here.  PowerMTA™ has a long list of configuration directives that you can use straight out of the box. Directly copying settings from other sources or matching configurations from another sender environment is not useful, since you might end up with redundant configurations, or even applying settings that are not applicable in your sending environment. The best approach is to keep it as simple as possible and add settings that you understand, and are appropriate in your “own” environment.

Senders in the US require a different configuration than senders in Europe. Furthermore, the settings often depend on the volume of mail, the type of email, and the reputation of the sending IPs.  You can use data from PowerMTA’s accounting files to determine what are the most important domains in your case. By looking at the bounce reports, you can determine which errors should trigger the back-off mode for example.

Log transient errors to monitor throttling by ISPs

The PowerMTA™ accounting logs are often used to record deliveries or bounces. But by enabling logging of transient errors, you can get a wealth of information about the delivery, and how to optimize it. Large webmail providers, but also smaller ISPs, have limits on the number of messages they accept from a certain IP. When the limit is reached, they return a temporary error, which can be logged by PowerMTA™. This information can be used to adjust the volume for IP seasoning (warm-up) or maximum sending rate, or tune the configuration of the back-off mode.

For more comprehensive information on configuration settings, join the PowerMTA forum and don’t hesitate to ask detailed questions about your settings and more specifically about your sending environment.

~ Maarten Oelering, Partner and CTO at Postmastery