[plug] Smallest MTA (Sendmail/SMTP) for Ubuntu

Daniel Pittman daniel at rimspace.net
Mon May 4 08:46:28 WST 2009


Bernd Felsche <berfel at innovative.iinet.net.au> writes:
> Daniel Pittman <daniel at rimspace.net> wrote:
>>Bernd Felsche <berfel at innovative.iinet.net.au> writes:
>>> Tim <weirdit at gmail.com> wrote:

G'day Bernd.

>>>>So all I want basically is cron jobs, and database backups sent to my
>>>>email. But, I don't want to setup a full MTA (SMTP server) and I don't
>>>>want to relay through another SMTP server as I have no idea where my
>>>>clients machines are going to be.
>>>>So... What's the smallest MTA/SMTP server people know for Ubuntu, and
>>>>easiest to configure for just basic sending only?
>
>>> Do you need the SMTP server to cache?
>
>>I think you mean "queue" rather than "cache".
>
> For this purpose, it's functionally identical as far as the SMTP
> client is concerned.
>
> A queue implies order. If one isn't connected when mail is received
> from the client, mail is stored in a "randomly"-ordered queue
> position. Subsequent emails can jump the queue and be delivered before
> email sent substantially earlier.
>
> It's STORE-AND-FORWARD to be precise. But I'm about 10 years too old
> for nit-picking.

...but not ten years too old to have learned that using technical
terminology incorrectly leads to confusion, eh?


>>> You can write your own easily enough in Python; if you speak Python.
>>> <http://docs.python.org/library/smtpd.html> It would only be _small_
>>> if you already have Python installed for another reason.
>
>>If you forgive me saying so, that is taking masochism to extremes that
>>/I/ wouldn't want to visit. ;)
>
>>Writing an MTA is a lot harder than it sounds, even a simple one.  The
>>most basic level (submission to an existing SMTP server) is simple
>>enough[1], but once you start adding features like SASL, MX lookup or
>>other "easy" features of SMTP it gets hard.
>
> RTFM.

Not old enough to have managed temperate responses either, I see.

> Python libraries do the hard work.

Do they now?  SMTPserver doesn't seem to handle interacting with the
disk safely, which is full of edge cases and is essential for safe queue
handling.

> Basic functionality is not rocket science.  Accept emails and try to
> deliver them using SMTP.

...and queue them safely, to ensure you don't lose email, and handle the
various failure codes from the remote system, and so forth.  All the
edge cases that are implied in an MTA, not just a one-shot SMTP based
submission agent.[1]

> Don't add other stuff. Featuritis is a terminal disease.

...and, just to be crystal clear here, writing another SMTP MTA isn't
"featuritis" because?

>>Friends don't let friends reinventing the SMTP MTA wheel.
>
>>Footnotes: 
>>[1]  ...as long as you have libraries that deal with MIME for you.
>
> MIME at the SMTPserver?

Why, yes.  Didn't you know that you have to perform MIME body reencoding
for clients if you offer 8BIT, they accept it, and the next hop doesn't?

Regards,
        Daniel

Footnotes: 
[1]  ...not many people ever actually /want/ an SMTP based submission
     agent of that nature, they just use them because they don't know
     any better.




More information about the plug mailing list