first stab at simple mailer
Matthew Dillon
dillon at apollo.backplane.com
Thu Mar 22 09:29:15 PDT 2007
:yes, qmail is not a good reference. nevertheless, I don't think trying r=
:eally hard to save on connections is the objective here. I'm talking abo=
:ut 5 to 20 mails per day. seriously, that's *nothing*. mail servers get=
: more spam than that. I want to keep the mail agent simple. underpowere=
:d on purpose. just for the "install and mail works" thing, not for the "=
:hey, I can also run my mailinglists across this mail agent" thing. just =
:imagine a blood simple smarthost delivery agent and add queue + local del=
:ivery. if something is feasible, then it could be a feature. if somethi=
:ng requires advanced techniques (queue daemon, whatnot), then it is not t=
:he place to put it.
:
:I know Matt has been doing big provider business since long time, but tha=
:t's not the target. dead. simple. like mined vs emacs/vi. just that *s=
:omething* is there.
:
:cheers
: simon
Lets create a clear separation. We know why we want this... we want
all intra-machine mail to work without having to install sendmail or
postfix.
So make it do that, as you have said, and make sure all the hooks
are there for integrating with an MTA like sendmail or postfix without
having to deinstall it. For example, by having an smarthost option for
inter-machine domains.
If your mailer is going to take over from mail.local and friends, then
there *are* a few requirements, and mail aggregation is one of them:
* It has to properly handle the following standard mail control files:
/etc/mail/aliases
/etc/mail/local-host-names
/etc/mali/virtusertable
* It must handle command pipes and file redirects in /etc/mail/aliases
* It must implement at least a smarthost SMTP interface for off-machine
mail, and it must aggregate multiple recipients (not send individually).
* You need to write a mail.local (if we are trying to divorce ourselves
from sendmail :-)). Your mail.local must handle ~username/.forward
(including file redirects and command pipes).
mail.local is a terminus program... it delivers to a resolved username
on the local machine.
* You need to write a sendmail binary frontend (i.e. option support
for -F, -f, -oi, -t), because many programs which send mail pipe
to what they think is a sendmail binary.
sendmail (when exec'd as a binary) is an exodus program... it sucks
new mail into the system.
What you don't have to worry about: You don't have to worry about DNS
lookups or MX lookups or anything like that. Let the smarthost deal with
it. The smarthost could very well just be a sendmail or postfix MTA
running on the local machine, so the intra-machine mail system doesn't
really need any DNS smarts beyond a smarthost.
This is what we need to do in order to be able to have mail in the
base system without sendmail or postfix installed.
-Matt
More information about the Kernel
mailing list