Subaddressexact, subaddressrelaxed, subaddresswild Channel Options

Subaddresses and alias matching
A subaddress consists of extra detail information in the RFC 5322 "local-part" of an address (the portion to the left of the "@" sign); the subaddress is typically encoded into the local-part by using a  separator character such as the plus character, , and is subject to site-specific interpretation. (See for instance the discussion in the introduction of RFC 5233, Sieve: Subaddress Extension.) Use of subaddresses can be a convenient way to, e.g.:



 Request delivery directly to a named folder. 

 Indicate that a message is being received due to membership of some  mailing list. 

 Request other special delivery handling, such as delivery to a voice mailbox. 



In regard to subaddresses, the Messaging Server    and    channels interpret a   character in the local portion of an address (the mailbox portion) specially: in an address of the form   the Messaging Server Message Store delivery code considers the portion of the mailbox after the plus character a subaddress; if either the subaddress is "trusted"  (as in the case of a subaddress added due to a  Sieve filter " " action and confirmed for the channel via the   channel option), or the folder has the IMAP post ACL set, then  such channels may treat a subaddress as a request to deliver directly into the correspondingly named folder.

Subaddresses also affect the lookup of aliases by the local channel and the lookup of aliases by any channel marked with the   channel option, and the lookup of mailboxes by the directory channel. The exact handling of subaddresses for such matching is configurable: when comparing an address against an entry, the MTA always first checks the entire mailbox including the subaddress for an exact match; whether or not the MTA performs additional checks after that is configurable. As of MS 6.1, the subaddress support in aliases includes    alias lookups; that is, as of MS 6.1, the   channel options apply  for    lookups.

The   channel option instructs the MTA to perform no special subaddress handling during entry matching; the entire mailbox, including the subaddress, must match an entry in order for the alias to be considered to match. No additional comparisons (in particular, no wildcarded comparisons or comparisons with the subaddress removed) will be performed. The   channel option instructs the MTA that after looking for an exact match including the entire subaddress, the MTA should next look for an entry of the form. (For wildcarding the entire localpart, not just the subaddress, see the  MTA option.) The    channel option instructs the MTA that after looking for an exact match and then a match of the form , that the MTA should make one additional check for a match on just the   portion. With, an alias entry of the form name:  newname+&#x2a; will match either name or name+subaddress, transforming a plain name to newname, and transforming name+subaddress to newname+subaddress. The LDAP entry equivalent with   set, to get the "transfer" of the subaddress to the forwarded-to address, would be to set: mailDeliveryOption: forward mailForwardingAddress: newname+&#x2a;@newdomain The default is.

Thus the  channel option or the   channel option may be useful when  aliases or a directory channel are in use yet users wish to receive mail addressed using arbitrary subaddresses. These channel options obviate the need for a separate entry for every single subaddress variant on an address.

For the Messaging Server MTA, these channel options make sense on the L channel as a destination (or rather, as an alias application) channel.

New in 7.0.5, a  channel option setting on a source channel will affect  address reversal performed on messages coming in that source channel. Previously, the presence of a subaddress would prevent address reversal from occurring. (This long-standing behavior was a remnant of the past when if a user was sophisticated enough to put on a subaddress, one might presume that the user was sophisticated enough to have already specified the exact address that they wanted to send from -- so altering such an address wouldn&#x27;t be necessary and indeed would be dubious. However, nowadays many other behaviors and  side-effects are triggered via address reversal so matching regardless of subaddress is typically desirable; the old assumption that reversal was not desirable in such cases is outdated.) As of 7.0.5, the default behavior is to attempt to match the address with or without the subaddress. If there&#x27;s a match, then the subaddress will be transferred to any rewritten address. This behavior may be explicitly specified by setting the  channel option (the default) on the source channel. , if set, will match against subaddresses but disables transfer of the subaddress to the rewritten address. Finally,  disables special subaddress  handling during the reversal process.

See also:
 * subaddress_char MTA Option
 * subaddressexact Option
 * deliveryflags Option
 * fileinto Option
 * alias_domains MTA Option
 * ims-ms channels
 * LMTP back end TCPIP channel
 * Sieve subaddress extension
 * Sieve fileinto action
 * Special address formats for list members
 * Subaddresses and address reversal
 * Aliases in LDAP
 * alias_url0 MTA Option
 * ldap_domain_attr_subaddress MTA Option
 * Intended side effects of LDAP address reversal
 * Addresses channel options
 * Channel options