You are currently not logged in! Enter your authentication credentials below to log in. You need to have cookies enabled to log in.
The qpsmtpd daemon started as a replacement daemon for the qmail-smtpd SMTP receiver from the qmail mail transport agent (MTA). The qmail-smtpd SMTP receiver has a number of shortcomings, for example being unable to check the validity of a recipient mail address. It is also written in C which makes it burdensome to modify and extend.
The qpsmtpd daemon, on the other hand, is Perl and can be customized easily. It consists of a core that implements a complete SMTP server, and a number of plug-ins that enhance the operations of the server. These plug-ins allow for the checking of recipients and senders, as well as virus scanning, spam checking, blocking lists (DNS and RHS), SMTP AUTH and TLS.
This wiki has only recently been created and is still very incomplete. If you can spare some time and know something about qpsmtpd which is not yet covered, please help and add a page! As this is a wiki, the content can be modified by anybody. To prevent spam, user registration is mandatory. The data entered for user registration will not be used for any other purpose, promise!
See comments for current status of the Wiki re-development process.
You can see a list of who uses qpsmtpd. Please don't hesitate to add yourself and/or your site to the list.
If you want to implement the Danga based high performance pollserver version then checkout a copy of the svn trunk.
If you want to install from RPMs then they are also available.
The qpsmtpd daemon is quick and easy to install. Installation instructions are also available to assist you.
When installing qpsmtpd there are a variety of deployment models you can select from. These include a forkserver, running via Apache, daemontools, runit, (x)inetd, tcpserver and an experimental pollserver.
There is also a special section on SMTP AUTH authentication.
To get help on qpsmtpd, you can either consult the mailing list and its archive, or ask questions here on the wiki, from where your questions and the community's answers will hopefully be transferred to the FAQ.
You can also log bugs for qpsmtpd using the Google Code Issues Tracker. You might need to sign in using a Google account.
When asking questions on the mailing list, particularily when reporting errors, remember the five golden questions:
Without this information, it is hard to answer questions, and you may not get an answer at all.
Plug-ins are the heart of qpsmtpd, but as of today, there is no good central repository for them. The qpsmtpd home page points to three locations: the SVN trunk, Peter J. Holzer's page and Gavin Carr's page, but none of these are complete. Additional plug-ins are also available at:
If you can't find a plug-in that meets your requirements you can make use of the Plug-in API to produce your own.
The API interface links into various points of the SMTP transaction using hooks. Incoming connections, the header and data components of email as well as other portions of the SMTP transaction are hooked, processing or evaluation of that portion of the transaction occurs and a plug-in return code is generated. Based on this plug-in return code the qpsmtpd daemon determines how to handle the transaction.
qpsmtpd daemon is used by several high traffic mailing list domains including apache.org, perl.org, cpan.org and lists.mysql.org. The
qpsmtpd daemon processes over 2 million messages per day for apache.org and their load decreased when
qpsmtpd was implemented due to high rejection rate for spam.
There are also some statistics (and instructions on how to measure your own qpsmtpd installation) available that show the performance of qpsmtpd.