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
