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.
The qpsmpd daemon can not only be integrated with qmail but also with Postfix and Exim. It can also write messages to Maildirs or forward them to a remote host via SMTP.
Put simply: by tweaking the plug-ins, you can adapt qpsmtpd to almost any environment and task.



  • Advanced but simple to use plugin system to easily install extra functionality and write local rules.
  • Almost all features are implemented in plugins
  • For example: tls (implements STARTTLS), spamassassin, plugins for most major anti-virus programs, various AUTH plugins (ldap, vpopmail, …), OS detection, queue plugins (qmail, exim, postfix, Maildir), greylisting, SPF, etc etc.

MTA compatibility

  • Drop-in replacement for qmail-smtpd
  • Postfix protocol module
  • SMTP queuing plugin to support any SMTP compliant backend
  • Other “backends” are easily implemented with a queue plugin


  • Innovative spam fighting ideas can easily be implemented and tested with qpsmtpd plugins. One successful examples is the check_earlytalker plugin (disconnects most viruses and many spam engines before we even say hello!).
  • Support for DNS Black Lists like the Spamhaus lists.
  • Support for Domain-Based Blacklist Zones lists.
  • Support for Milter filters (yes, those written for sendmail) with the milter plugin
  • Greylisting with Gavin Carr’s denysoft_greylist plugin
  • DomainKeys support with the domainkeys plugin
  • Integrated support for SpamAssassin
  • Virus scanning with ClamAV
  • Many others …