Qmail Sucks

From Computer Tyme Support Wiki

(Difference between revisions)
Jump to: navigation, search
m (Reverted edits by BxoIan (Talk); changed back to last version by Marc)
Line 1: Line 1:
-
Qmail is an old and obsolete MTA (Mail Transfer Agent) that was developed in the mid 1990s to be a better email program than Sendmail. In its day it did the job but Qmail became fossilized in June of 1998 when its author Dan J. Bernstein dropped the ball and stopped developing it.  
+
QMail was developed in the mid 1990s to be a better email program than Sendmail. Since it's most recent release, version 1.03, it has gone almost 10 years without a security issue, and has proven to be the most reliable and secure MTA in existence. With a large user base, it is rumored to be the #2 most popular MTA on the Internet, with many companies and sites using qmail, or a modified version thereof: Yahoo! mail, Network Solutions, Verio, MessageLabs, Yahoo! Groups, Listbot, PayPal/Confinity, and many others use qmail on their networks.  With ongoing community support, even with a 10 year old software, there are thousands of additional patches and features which have been improved functionality and added support.
-
Although Qmail is a free program it is free as in beer and not free as in freedom. It is released under a bizzare and improper license that restricts the way patches are distributed and forces users to work with only DJB's version of the program. His license restricts forking the code and letting the community take over developing it and since he has abandoned it, the product is dead save for a small cult of fans and old systems developed around it who haven't yet figured out how to get rid of it.
+
Qmail was released into the public domain in December 2007. There is now a large movement for continuing development of qmail. Qmail2 has been rumored to be in development since last year.
-
One of the major problems with Qmail is that it isn't RFC compatible in the way it retries MX records on failure to deliver. If I have 3 servers and my main server is returning a temporary error, every other MTA will then send email to the backup servers as the specifications dictate. Every MTA except for Qmail. Qmail will retry forever on the failed MX record until it times out and gives up. This make Qmail incompatible with some really good spam filtering techniques that only work with MTAs that play by the rules. Qmail doesn't play by the rules.
+
One of the major problems with the techniques used at junkemailfilter.com is that it requires MTAs to try additional MTAs.  For a mail server to be compatible with the RFCs, the server must be ''capable'' of delivering to another MTA upon a delivery failure. Qmail acts slightly differently than other MTAs in this respect, upon receiving a 421 error: "Temporary Failure -- Try again later" message, it queues the message and attempts a delivery at a later time. In this specific case, other MTAs would ignore the message and try delivering it to another MTA. Since Qmail gets a successful connection from the MTA, but a "Busy" message, it will keep retrying the same server.  In a normal system, it is unnecessary to try another MTA, since a functioning server has been reached. If qmail fails to connect to the server, it will contact the next MTA in priority order, which does make it RFC-compliant.
-
I intend to break Qmail's licensing by deliberately breaking it and inviting DJB to sue me. My position is that his product distributed under his restrictions has become a hazzard to the Internet and needs to be either fixed or killed. And I will shortly come out with a new version just to bring the challenge.
+
So, although qmail does conform to the RFCs, this makes Qmail incompatible with the dummy0 server, and may cause mail sent to you by Yahoo, Network Solutions, Paypal, and other users of qmail, to fail to deliver. This is because the dummy0 server is not a real mail server, and will never accept any mail, but is listed as the authoritative destination for your mail. 
 +
 
 +
As for what is broken in this setup, it would appear as though qmail is the one to blame, since it does not retry using another MTA. However, since qmail is capable of failing back to other MTAs, it conforms to the required RFCs.  On the other hand, a server that will never accept mail should not be set as the authoritative destination for your email.  Since dummy0 refuses to accept messages, and continuously tells the MTA to retry later, qmail does just that.

Revision as of 23:37, 4 January 2008

QMail was developed in the mid 1990s to be a better email program than Sendmail. Since it's most recent release, version 1.03, it has gone almost 10 years without a security issue, and has proven to be the most reliable and secure MTA in existence. With a large user base, it is rumored to be the #2 most popular MTA on the Internet, with many companies and sites using qmail, or a modified version thereof: Yahoo! mail, Network Solutions, Verio, MessageLabs, Yahoo! Groups, Listbot, PayPal/Confinity, and many others use qmail on their networks. With ongoing community support, even with a 10 year old software, there are thousands of additional patches and features which have been improved functionality and added support.

Qmail was released into the public domain in December 2007. There is now a large movement for continuing development of qmail. Qmail2 has been rumored to be in development since last year.

One of the major problems with the techniques used at junkemailfilter.com is that it requires MTAs to try additional MTAs. For a mail server to be compatible with the RFCs, the server must be capable of delivering to another MTA upon a delivery failure. Qmail acts slightly differently than other MTAs in this respect, upon receiving a 421 error: "Temporary Failure -- Try again later" message, it queues the message and attempts a delivery at a later time. In this specific case, other MTAs would ignore the message and try delivering it to another MTA. Since Qmail gets a successful connection from the MTA, but a "Busy" message, it will keep retrying the same server. In a normal system, it is unnecessary to try another MTA, since a functioning server has been reached. If qmail fails to connect to the server, it will contact the next MTA in priority order, which does make it RFC-compliant.

So, although qmail does conform to the RFCs, this makes Qmail incompatible with the dummy0 server, and may cause mail sent to you by Yahoo, Network Solutions, Paypal, and other users of qmail, to fail to deliver. This is because the dummy0 server is not a real mail server, and will never accept any mail, but is listed as the authoritative destination for your mail.

As for what is broken in this setup, it would appear as though qmail is the one to blame, since it does not retry using another MTA. However, since qmail is capable of failing back to other MTAs, it conforms to the required RFCs. On the other hand, a server that will never accept mail should not be set as the authoritative destination for your email. Since dummy0 refuses to accept messages, and continuously tells the MTA to retry later, qmail does just that.

Personal tools