When my Windows XP machine recently crashed corrupting one drive and knocking out the other I was forced to re-think my architecture. I had often wondered about moving my mail-server from Windows to Linux, but shied away from it, think it was too complex.
Time to Bite the Bullet
So, now I had no choice, it was time to bite the bullet and hit Google for some help and advice. There are loads of articles out there on how to get a Mail-Server up and running. Many of them seem very complex and delve straight into editing config files. But a fiar amount of rumaging I finally found bits and pieces from articles that seemed to work out in the end. I’ve no idea where or what they are – sorry – I’m really bad at book-marking sites for future reference. I tend to use them and move on…
So, here I’ve documented what I did – as much for my own use as anyone else’s. I recently had to re-do the entire process (coz I decided to put Linux on the remplacement Windows machine!) and had completely forgot what I did. So before, I forget again …
I decided for simplicity reasons to go for a Postfix based server setup. This is the one that seem to have the best articles around and seemed simple enough to setup. To get Mail off the internet, I am using fetchmail. And then to act as a pop3 server I am using POPPER. I am not using smtp services at the moment. I have setup each user-computer to send directly to my ISPs server.
My Linux system is a SUSE 10.3 based system. I also use Webmin 1.410, which is invaluable for setting up these services. Why there is nothing like this in Yast, I don’t understand!
Using Yast -> Software Administration check that you have fetchmail, webmin, popper and postfix installed. All these should be available in the basic 10.3 install. When I first setup on 10.2, I think I had to compile popper (http://www.eudora.com/qpopper).
First off is to get popper running to collect the email off the web. Using YAST->Network Services->Network Services(xinetd) setup a service to call popper as follows;
As the name implies, fetchmail has the job of getting mail off the internet. You can setup multiple collection points for each user. It’s worth noting that all these pieces of software expect your email users to also be Linux/Unix users. This was initially a surpirse for me coming from a Windows MailServer program where I could add users, aliases and lists within the Mail-Server software. Not so, on Linux.
So I setup a new Linux account for each and every person on my Network. In fact it is only 2 but it could be a hassle if you’re planning to run a bigger network!
I also setup a dummy user for Group emails as you will see later. So my three users are called “Chris”, “Wife” and “All”
You can use the postfix pretty much straight out of the box. I made a few changes as outlined in the following image to outbound domain name, inbound domain names and machine and network names.
All that is left for you to do is to point your favourite mail client (I use kmail and have done for the last 10 years) to your mail server. Everything so far is using default ports so you should be able to set this up easily. I decided at the time not to setup an SMTP server but to point each client (both of them) directly at my ISPs smtp address, so this is not included in these instructions. Maybe one day i’ll get around to this!