Bye Bye Sendmail
New Articles |
For many years i used to think sendmail was the best thing that ever happened to email. (Do i hear you laughing? Everybody makes mistakes so don't rub it in.) Then recently i discovered qmail. At first glance though, it looked far too complicated. Perhaps it was the appearence of the qmail.org site that led to this impression, but once again i was proven wrong.
Enter qmail
If you clicked through to that site do take a couple of aspirins and read on. Qmail is a wonderful mail system far superior to sendmail in every aspect. Despite first appearence qmail turned out to be lot easier to install and configure than sendmail. If you are sick and tired of sendmail.cf files now is the time to switch.
Virtual hosting
Recently i need to setup a virtualhosted mail system, usualy i had someone else do this kind of work for me but this time i was on my own. Armed myself with 'Bill's Qmail Toaster' recipe and got started. My first attempt took a while since i was still keen to preserve my beloved sendmail. Second time around i very happily removed all traces of sendmail from my machine and managed to install qmail in no time at all.
To be accurate: setting up virtual hosting involves qmail as well as vpopmail and a few other things besides. but it's still less painfull when compared to sendmail. Direct links to all required downloads in found in Bill's article.
The Hiccups
There were only a couple of issues but these were caused mostly by the wierdness of RedFace 9.0
The first is to do with missing errnos Most compilations efforts result in an:
undefined reference to `errno'
The fix is trivial just replace all occurances of
extern int errno
with:
#include <errno.h>
The second issues involves krb5.h not been included correctly. The solution is quite simple
boldly edit the file that you should not edit! The compile
script insists that you
do no mess with it. But go ahead and change it so that it looks like the following
#!/bin/sh # WARNING: This file was auto-generated. Do not edit! exec cc -O2 -DTLS -ISSLINC -c ${1+"[email protected]"} -I/usr/kerberos/include
You have to add add the -I/usr.... section. Please set this to the exact location of your kerberos header files. There may be better solutions but who cares.