Knowledge base

National alphabets

unicode handling
Files in UTF-8, addresses as they are

Configuration files are plain UTF-8 text, so internationalized domains and addresses are written directly: <domain bücher.de>. Unicode is handled by the bundled ICU library, named in the manual’s acknowledgements.

The limitation surfaces at delivery: allow-smtputf8 lets a source accept internationalized addresses in the envelope — it is on by default — but if the receiver has not announced the SMTPUTF8 extension, the node bounces such messages from the queue.

The main trap is saving the configuration file in something other than UTF-8. An internationalized name in another encoding becomes a different set of bytes and will not match the recipient domain.
What the Hub does. Nothing special: it writes configuration files in UTF-8, as the engine expects. Recipient domains in national alphabets are visible in “Accounting stats”, but the domain typo search skips them — comparing them byte by byte is pointless.
Recommended values

What is needed at each step:

Step What is needed
configuration file UTF-8
accepting a message with an internationalized address allow-smtputf8 in the source, on by default
delivery SMTPUTF8 at the receiver
UTF-8 files and the internationalized domain example come from the manual (§ 3.1); ICU is § 14; acceptance and bouncing without SMTPUTF8 are § 3.3.7.62. The table is ours.
Example configuration
<domain bücher.de>
    max-smtp-out 5</domain>
The internationalized domain from the manual’s example is written as is; the limit is for illustration.
yellow — — directive names, blue — blocks. They are highlighted the same way in the text of the card.
Compatibility
PowerMTA 6.0
described in the manual of this version · platform: any
The vendor does not state the first version for every directive — there is no note here. The name also appears in the 5.0 edition of the manual.
⇄

Related entries

1 relation

How to check on the node
Check the configuration file’s encoding:
file -i /etc/pmta/config
charset=utf-8 or us-ascii — the encoding is fine.
In the Hub
Cost of a mistake
reversible: harms only while it is set
Scenarios
Bounce classification · Connect a sending platform