So, I’ve seen a number of people visiting to look at this post, which was, to be honest, not much of an instruction list. Given that there is interest (at least relative to the lack of interest in the rest of my blog!!), I’m making a much more detailed tutorial that takes you through step by step how to install a virtual machine on an existing server, install Debian Wheezy into that virtual, then install Exim, Dovecot and Fetchmail to create a secure server that you can use for personal IMAP e-mail.
This post provides an overview of the components, what each does, and why I chose them.
My aim was to provide a secure mail server that would let myself and my partner look at our e-mail on multiple devices, with all devices seeing the same view of the mail. I wanted to be able to send and receive mail whilst at home, and I wanted to be able to send and receive mail when out and about (so this needs to be internet accessible). I wanted it to be secure, I wanted it to do spam filtering.
You can do most of this with GMail. I didn’t want GMail, rather I wanted my own domain name. But if you’re looking for an easy way to do this, just use GMail instead.
I wanted to use my ISP to host the mail – I didn’t want to accept e-mail from the internet directly. My server setup isn’t stable enough to rely on it being there all the time – if mail gets delivered directly to you then I think you lose that mail when your server is offline. My ISP has only a POP3 connection, which makes it harder for all my devices to share mail, and makes it harder to create folders and the like within your mail. I wanted an IMAP server to give more flexibility.
The components here are going to be:
- Exim, which provides the secure SMTP mail server to connect to the outside world, receiving inbound mail and delivering to your mail directory, and accepting and forwarding outbound e-mail. You need to provide a username/password to access the server, to prevent you being targeted by spam mailers
- Dovecot, which provides the IMAP mail server, allowing you to look at your mail from your mail directory on multiple devices including FireBird, iPhones, iPads, and the Mac OSX mail client. Changes on one device are reflected on other devices
- Fetchmail, which lets you download e-mail from your ISP’s POP3 webmail service
- Spamassassin, which filters out spam
As I’ve noted earlier, I wanted to put this into a virtual, which I could migrate between my two home servers.
The set of instructions that come next are: