I know this sort of flamebait. Oh well... here goes.
I really really hate qmail. Long ago, when we were a sendmail shop, and were suffering badly as a result, qmail seemed like a great option. For a time it served us well. Now, however, it causes us far more grief than it's worth.
The primary problem is that it's author seems to consider it finished. While that may have been well and good ten years ago it's not now. Qmail lacks support for a great many features that we have found to be requirements in the immensely hostile modern email world.
Qmail does not natively support smtp-auth. We require all of our users to auth. It has cut down on the amount of spam originating from our domain immensely. Student machines get owned or infected and are used, without the owner's knowlege, to send spam. Our helpdesk is two fulltime employees. They can't touch every machine.
To make qmail support smtp-auth you need a PATCH.
Qmail natively does not have hooks for any kind of mail scanning. While it could be argued that you could write code to do it to put in the qmail pipeline, why would you?
To make qmail support mail scanners you need a PATCH.
Qmail natively does not support recipient verification without local mailboxes. This may not seem like a big deal but when you run front-end mail exchangers that do processing and then forward mail it becomes a problem. As a result, at any given time there are approximately 8-12k undeliverable bounce messages in our queues. This makes debugging a huge hassle.
The are a number of PATCHES that make qmail validate recipient addresses without local mailboxes.
Qmail doesn't support LMTP. While lmtp is not critical it would completely eliminate one smtp server in our configuration.
There may now be a PATCH to make qmail support LMTP. There wasn't when I looked.
Qmail doesn't support start-tls. I suppose you could write a new version of some part of the qmail chain (maybe qmail-smtpd or a front-end) to do it.
You need a PATCH to make qmail support START-TLS.
If you have any familiarity with patching code on systems you may begin to see a problem here. The more patches you have, the more difficult it is to make them apply cleanly, and the more likely it becomes that you will have to reconcile them by hand. It's a tedious and uneccesary task.
To the qmail lovers out there: I'm sorry. I say the same thing about qmail as I do about oracle portal. Why do so much more work for so little benefit? I have some respect for djb's design and coding abilities but I do not like his attitudes nor those of many of his disciples.
So. Farewell, qmail... it's been... a lot of work.
qmail is totally the suck and should die. postfix über alles!