Blame SOURCES/sendmail-etc-mail-virtusertable

95f7f3
# A domain-specific form of aliasing, allowing multiple virtual domains to be
95f7f3
# hosted on one machine.
95f7f3
#
95f7f3
# info@foo.com	foo-info
95f7f3
# info@bar.com	bar-info
95f7f3
# joe@bar.com	error:nouser 550 No such user here
95f7f3
# jax@bar.com	error:5.7.0:550 Address invalid
95f7f3
# @baz.org	jane@example.net
95f7f3
#
95f7f3
# then mail addressed to info@foo.com will be sent to the address foo-info,
95f7f3
# mail addressed to info@bar.com will be delivered to bar-info, and mail
95f7f3
# addressed to anyone at baz.org  will be sent to jane@example.net, mail to
95f7f3
# joe@bar.com will be rejected with the specified error message, and mail to
95f7f3
# jax@bar.com will also have a RFC 1893  compliant error code 5.7.0.
95f7f3
#
95f7f3
# The username from the original address is passed as %1 allowing:
95f7f3
#
95f7f3
# @foo.org	%1@example.com
95f7f3
#
95f7f3
# Additionally, if the local part consists of "user+detail" then "detail" is
95f7f3
# passed as %2 and "+detail" is passed as %3  when a match against user+* is
95f7f3
# attempted, so entries like
95f7f3
#
95f7f3
# old+*@foo.org	new+%2@example.com
95f7f3
# gen+*@foo.org	%2@example.com
95f7f3
# +*@foo.org	%1%3@example.com
95f7f3
# X++@foo.org	Z%3@example.com
95f7f3
# @bar.org	%1%3
95f7f3
#
95f7f3
# Note: to preserve "+detail" for a default case (@domain) %1%3 must be used
95f7f3
# as RHS. There are two wildcards after "+": "+" matches only a non-empty
95f7f3
# detail, "*" matches also empty details, e.g., user+@foo.org  matches#
95f7f3
# +*@foo.org but not ++@foo.org. This can be used to ensure that the
95f7f3
# parameters %2 and %3 are not empty.
95f7f3
#
95f7f3
# All the host names on the left hand side (foo.com, bar.com, and baz.org)
95f7f3
# must be in class {w} or class {VirtHost}. The latter can be defined by the
95f7f3
# macros VIRTUSER_DOMAIN or VIRTUSER_DOMAIN_FILE (analogously to
95f7f3
# MASQUERADE_DOMAIN and MASQUERADE_DOMAIN_FILE). If VIRTUSER_DOMAIN or
95f7f3
# VIRTUSER_DOMAIN_FILE is used, then the entries of class {VirtHost} are
95f7f3
# added to class {R}, i.e., relaying is allowed to (and from) those domains.