On Thursday 07 October 2010 19:52:11 Jerry Moody wrote:
> I need  a recommendation for a simple mail server for my home servers
> (Fedora).  I want to allow smartd (et al) to send internet email when it
> detects drive errors.  I'm currently receiving the following error:
>         postdrop: warning: unable to look up public/pickup: No such file
> or directory
> so I suspect I have no mail server running.
> 
> I don't need to read or manually send email on these headless systems.  A
> quick internet search yields sendmail and postfix as options, amongst
> others.  I certainly don't need a sophisticated enterprise service.
>
> Suggestions?

My suggestions are very much along the same lines as Ron and Frank, but with 
additional blathering.  :-)

If you just want something stupidly simple, briefly consider SSMTP.  I believe 
it will only send email to a remote mail hub over normal unencrypted SMTP 
without authentication.  This is what I use for embedded boxes that have 
severely restricted local storage.  However, what it won't do is manage a mail 
queue -- so if sending email fails, the outgoing mail is simply lost.  Because 
of this limitation you probably want something a bit more powerful for a 
"normal" box that doesn't have severely limited storage.

If you need something a bit more powerful, such as actually being able to 
retry sending mail -- and trust me, you need this -- I'd recommend Exim.   
Exim's greatest strengths are the ability to follow all the rules an email has 
to pass through (making it easier to debug), and the ability to make really 
interesting custom rules.  The more advanced "heavy" versions of Exim on 
Debian have Perl embedded into it, which is what I'm using on my mail server.  
Everywhere else I'm running the "light" version, and sending mail to the 
"smarthost" over TLS with SMTP AUTH.  [In other words, I set up boxes to "log 
in" using a separate username/password combination for sending email over an 
encrypted connection, and even the "light" version of Exim can do this.]  The 
configuration file for Exim is human readable.  Exim is GPL licensed, and the 
code is clean and well documented.

Third choice would be Postfix.  The configuration files for Postifx are 
shorter but also a bit harder to follow, but can still be considered human 
readable.  It's generally the most popular choice, so it's also easier to get 
advice on.  An oddity I've noted is that Postifx systems seem to break mail 
processing up into several process threads, whereas Exim systems seem to use a 
single process thread per email.  For instance a Postifx 'pcre' filter rule is 
likely to break the filter off into its own thread, whereas in Exim this same 
rule would be done internally in a single Exim thread.  In practice my 
experience has been that Postfix is great when it works, but can be slightly 
more difficult to debug when it doesn't.  Thankfully it works well, so except 
for these oddities it's a good choice.

If for some strange reason you choose Sendmail, build yourself a room with 
padded walls first.  In the past I ran Sendmail systems professionally for a 
couple of years and I knew it well -- so I'll briefly explain why I won't 
recommend it now, even for something simple.  Sendmail configuration files are 
not human readable, so to build the config you actually make an M4 script that 
builds the configuration for you via a 'make' command.  Several other files 
also have to have 'make' run on them too in order to make '.db' files that 
actually get used by Sendmail rather than any of the human readable config 
files.  If you forget to run 'make' on config files, the OLD .db files from 
when 'make' was last run silently get used instead of the configuration 
changes you just made.  This happens often, and causes all kinds of problems.  
The best is when lots of changes were made over time that were THOUGHT to be 
in use, but now when 'make' is run you find it fails because the config file 
is screwed up, so now mail is broken, and your latest changes weren't what 
broke it.  Last I knew Sendmail also had to be run as root [the others above 
don't], making Sendmail an additional security headache.  And if you want to 
make custom email rules, if you're running Sendmail it's often far easier to 
pipe all incoming email through a bash script and make the rules there.  For 
this and a litany of other reasons -- avoid it.

And generally speaking, the first MTA you choose will likely define the MTA 
you're going to use permanently -- so try to make the right choice.

  -- Chris

--

Chris Knadle
[email protected]
_______________________________________________
Mid-Hudson Valley Linux Users Group                  http://mhvlug.org
http://mhvlug.org/cgi-bin/mailman/listinfo/mhvlug

Upcoming Meetings (6pm - 8pm)                         MHVLS Auditorium
  Nov 3 - Open Source Hardware: Bugs, Beagles and Beyond
  Dec 1 - IBM's Open Client Deployment
  Jan 5 - Building a Comunity Site with Drupal

Reply via email to