15d459b5aSDavid du Colombier# 25d459b5aSDavid du Colombier# sample rewrite file for systems that send and receive mail directly. 35d459b5aSDavid du Colombier# 45d459b5aSDavid du Colombier# by default, the return address points to this system; if you have multiple systems 55d459b5aSDavid du Colombier# and don't want them all to be mail recipients, set $site to a generic 65d459b5aSDavid du Colombier# name (e.g., plan9) or system name in /rc/bin/termrc and /rc/bin/cpurc 75d459b5aSDavid du Colombier# and put an MX DNS record in /lib/ndb to point to that system. 85d459b5aSDavid du Colombier# 95d459b5aSDavid du Colombier# replace YOURDOMAIN.DOM in the following rules with your domain name. 105d459b5aSDavid du Colombier 115d459b5aSDavid du Colombier# translate local aliases from /mail/lib/namefiles 12*e06f534bSDavid du Colombier\"(.+)\" translate "/bin/upas/aliasmail '\1'" 135d459b5aSDavid du Colombier[^!@.]+ translate "/bin/upas/aliasmail '&'" 145d459b5aSDavid du Colombier 155d459b5aSDavid du Colombier# deliver mail without a domain locally 16*e06f534bSDavid du Colombierlocal!"(.+)" >> /mail/box/\1/mbox 175d459b5aSDavid du Colombierlocal!(.*) >> /mail/box/\1/mbox 185d459b5aSDavid du Colombier 195d459b5aSDavid du Colombier# your local names 205d459b5aSDavid du Colombier\l!(.*) alias \1 215d459b5aSDavid du Colombier\l\.YOURDOMAIN\.DOM!(.*) alias \1 225d459b5aSDavid du Colombier 235d459b5aSDavid du Colombier# convert source domain address to a chain a@b@c@d... 245d459b5aSDavid du Colombier@([^@!,]*):([^!@]*)@([^!]*) alias \2@\3@\1 255d459b5aSDavid du Colombier@([^@!]*),@([^!@,]*):([^!@]*)@([^!]*) alias @\1:\3@\4@\2 265d459b5aSDavid du Colombier 275d459b5aSDavid du Colombier# convert a chain a@b@c@d... to ...d!c!b!a 285d459b5aSDavid du Colombier([^@]+)@([^@]+)@(.+) alias \2!\1@\3 295d459b5aSDavid du Colombier([^@]+)@([^@]+) alias \2!\1 305d459b5aSDavid du Colombier 315d459b5aSDavid du Colombier# queue all mail for delivery 325d459b5aSDavid du Colombier([^!]*)!(.*) | "/mail/lib/qmail '\s' 'net!\1'" "'\2'" 33