UTF8: MSA downconversions
[exim.git] / doc / doc-txt / experimental-spec.txt
index 59dd44ea10c3d09b2d5fea4d47a4141589a161e4..234bac0ab3e16503d2cb3108b3006473f33a51cc 100644 (file)
@@ -1278,7 +1278,7 @@ RFCs 6530, 6533, 5890
 
 Compile with EXPERIMENTAL_INTERNATIONAL and libidn.
 
-Main config option smtputf8_advertise_hosts, default '*',
+New main config option smtputf8_advertise_hosts, default '*',
 a host list.  If this matches the sending host and
 accept_8bitmime is true (the default) then the ESMTP option
 SMTPUTF8 will be advertised.
@@ -1288,17 +1288,42 @@ international handling for the message is enabled and
 the expansion variable $message_smtputf8 will have value TRUE.
 
 The option allow_utf8_domains is set to true for this
-message, but all DNS lookups are converted to a-label form.
+message. All DNS lookups are converted to a-label form
+whatever the setting of allow_utf8_domains.
+
+Both localparts and domain are maintained as the original
+utf8 form internally; any matching or regex use will
+require appropriate care.  Filenames created, eg. by
+the appendfile transport, will have utf8 name.
+
+Helo names sent by the smtp transport will have any utf8
+components expanded to a-label form.
 
 Log lines and Received-by: header lines will aquire a "utf8"
-prefix on the 'with' element, eg. utf8esmtp.
+prefix on the protocol element, eg. utf8esmtp.
 
-Expansion operators:
+New expansion operators:
        ${utf8_domain_to_alabel:str}
        ${utf8_domain_from_alabel:str}
        ${utf8_localpart_to_alabel:str}
        ${utf8_localpart_from_alabel:str}
 
+New "control = utf8_downconvert" ACL modifier,
+sets a flag requiring that addresses are converted to
+a-label form before smtp delivery, for use in a
+Message Submission Agent context.  Can also be
+phrased as "control = utf8_downconvert/1" and is
+mandatory.  The flag defaults to zero and can be cleared
+by "control = utf8_downconvert/0".  The value "-1"
+may also be used, to use a-label for only if the
+destination host does not support SMTPUTF8.
+
+Known issues:
+ - Currently LMTP is not supported.
+ - DSN unitext handling is not present
+ - no provision for converting logging from UTF-8
+ - VRFY and EXPN not handled
+ - mua_wrapper not handled
 
 --------------------------------------------------------------
 End of file