maps.conf - associates one email address with another
/opt/pmx6/etc/maps.conf
Address maps associate one email address with another, either to redirect notifications generated by PureMessage (such as Quarantine Digests), or for assigning one user's email preferences to other accounts for End User Web Interface usage. Address maps are processed from top to bottom. Within a map, if two mappings apply to a single address, the first mapping is used.
The default address maps (the Notifications Address Map and the Recipient Aliases Map) are implemented automatically; they are not explicitly implemented in the policy script.
The Notifications Address Map redirects PureMessage notifications (such as quarantine digests and virus notices) from the original message recipient to the recipient specified in the map. This map is accessible by editing the notifications file, located in the etc directory.
The Recipient Aliases Map replaces the original message recipient with another recipient for the purpose of applying user preferences (such as per-user whitelists and blacklists). This map is accessible by editing the recipient-aliases file, located in the etc directory. The recipient to whom the original message recipient's preferences have been assigned will also be able to view the original message recipient's email messages in the End User Web Interface (EUWI).
map
sections.
source
is prefixed by a URI-style scheme that selects what kind
of source this is. The source
can be one of the following:
match
, but map entries starting with '!' are treated as a
negative rule. During matching, each string to be matched is
considered separately. If it matches at least one of the positive
rules, but none of the negative rules, then it is a match.
nmatches
.
If the list entry starts with a decimal number followed by '.' or '/', then it is considered an IP4 address with an optional mask. The format for an entry of this type is:
<inet4> = <ip> [ "/" <mask> ] <ip> = <digits> "." <digits> "." <digits> "." <digits> <mask> = <ip> | <bits> <digits> = integer in the range 0 .. 255 <bits> = integer in the range 0 .. 32
If the map entry does not start with a number, it is parsed as a glob style string that is matched against a domain name. The supported wildcards are:
? match a single char, but not '.' * match a sequence of chars, but not '.'. ** match a sequence of chars, including '.'
Matches are automatically anchored to the end of the string. A leading
'@' can be used to force anchor to the beginning as well. If the map
item starts with '!', then it is negated as for nmatches
.
Some examples:
127.0.0.1
Matches against the exact IP address.
10.10.10.10/24
Matches IPs in the 10.10.10.0 range.
example.com
This matches any hostname in the example.com domain as well as 'example.com' itself. It does not match 'notexample.com' or 'example.com.org'.
**.example.com
Matches the same hostnames as above, but not 'example.com' itself.
.example.com
Matches the same hostnames as above.
*.example.com
Matches hosts like 'foo.example.com', but not multilevel names like 'foo.bar.example.com'.
@example.com
Only matches the host 'example.com' and not any subdomains.
domain
, but '@' is prevented from matching on '*' and '?'.
Also, if the map entry ends with '@' then the match is no longer
anchored at the end.
Some examples:
example.com
Matches all addresses ending with a domain name of 'example.com' such as 'foo@example.com', 'foo@foo.example.com'.
@example.com
Matches all addresses with 'example.com' as the exact domain part.
dev-**@
Matches all addresses starting with the string 'dev-'.
foo@perl.*
Matches all addresses with 'foo' as the local part and a two level domain name with 'perl' as the first level, like 'foo@perl.com' and 'foo@perl.org'.
foo@perl.**
Matches all addresses with 'foo' as the local part and at least a two level domain name with 'perl' as the first level, like 'foo@perl.com' and 'foo@perl.domain.com'.
Copyright (C) 2000-2008 Sophos Group. All rights reserved. Sophos and PureMessage are trademarks of Sophos Plc and Sophos Group.