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.