Postfix + Dovecot

I have just moved to a new server last week, so I started fresh and decided to go ahead with a new mail server configuration.

On the old server I was using qmail+vpopmail+courier.
qmail – smtp, pop3 server
vpopmail – provides mailbox & virtual domain management
courier – for the imap server part

I got tired of all the patching mess in qmail. The only way to continue using qmail was to copy the already patched version, because I couldn’t recall all the patches and hand changes I have done over time. Yeah, I even modified its source code myself to fix some small things, that’s the best part of it – qmail is composed of very very small programs and have nice clean source code, easy to understand and follow. But you get tired after a while and you want something that can do more and just work. So, here I am now using postfix+dovecot:
postfix – smtp server
dovecot – pop3+imap server, mailbox & virtual domain management

I recreated all the emails and domains in dovecot, copied the Maildir directories, set the old server to forward all emails to the new one just in case someone still sent email to the old MX entry, and that was all. 0 second downtime and nobody noticed a thing.

I had a great howto/guide for installing Postfix+Dovecot:
http://johnny.chadda.se/2007/04/15/mail-server-howto-postfix-and-dovecot-with-mysql-and-tlsssl-postgrey-and-dspam/

One thing to check if using that howto as a base, a friend that has an account and uses Outlook Express couldn’t send mail at all. I then figured out that OE would not want to authenticate at all with the smtp server, I have then found out that OE will not login if the only auth method advertised by the smtp server is “PLAIN”, even though everything is under TLS. After testing different auth methods, it seemed to be ok if “LOGIN” it’s on. So, just edit doveconf.conf and make sure you have both PLAIN and LOGIN activated:

doveconf.conf :

...
auth default {
  mechanisms = plain login
  ...
  }
...

That’s all for now.

Leave a Reply

Your email address will not be published. Required fields are marked *