local
moduledefaulthost
- default hostname after the @. Defaults to me.
virtualdomains
- virtual domains. Each line is of the form
domain.tld<tab>user
mailbox
- default user mailbox. If no .courier file, the message is
delivered to this file or maildir, relative to the recipient's home
directory. local will also append the dash-extension (if any) to the
name of the directory or file (trailing / should NOT be specified!). mailbox
may also start with a |, to specify a program to pipe the message to.
A) maildrop, if maildrop is detected during compilation
B) procmail, if procmail is detected during compilation
C) $HOME/Mailbox
The following comments apply only when either procmail or maildrop are invoked
under these condition. The following does not apply if procmail or maildrop
are invoked from a .courier file, or from the mailbox
configuration
file.
procmail will be invoked with the -f flag. procmail will receive one argument: COURIER=x, where x is the dash-extension. If the local address is user-foo-bar, procmail will be run with COURIER=foo. If there is no dash extension, procmail will be run with COURIER=-
maildrop ...
rewritedel
- if domain is listed in locals or virtualdomains, will
accept delivery. If domain is in virtualdomains, prepends 'user-' to the local
part of the address, then works with the local part from then on. If the local
part is a valid userid, accepts delivery, otherwise if the local part is
user-foo, strips off the foo, and tries again to check for the valid userid.
If a valid userid is found, after stripping one or more portions, takes what
was removed, "-foo", or maybe even "-foo-bar", prepends ".courier", and checks
if the file exists in user's home. If not, error, mailbox not found. Otherwise
the 'host' parameter is the userid, and the 'address' parameter is the
extension of the courier file, or just a "-" for $HOME/.courier
.
Rewrite function:
local
- calls local.defaulthost, unless address contains exclamation
marks.
local.defaulthost
- appends @defaulthost, if domain name is
missing.
If $HOME
has the sticky bit set, defers the mail.
attempts to open and read delivery instructions from .courier file specified by the address parameter. If can't open the file, or if it's empty, message is delivered to the default mailbox. Delivery instructions are read, a line at a time. Lines ending with \ are concatenated with the next one. A delivery instruction may specify a mailbox, a forwarding address !user@host, or a program delivery |
The output module appends a Delivered-To: userid-ext@defaulthost header. If the header already exists, the message is bounced as a mailing loop.
bin/sendmail
(ho-ho) to
lib/local/sendmail
. sendmail is setgid-ed to mail, and is a wrapper
for bin/submit
. If called with the -bs flag, an attempt to run
bin/smtpd
is made.