Qpsmtpd

qpsmtpd
DeveloperAsk Bjørn Hansen
Stable release
1.01 / July 13, 2026; 3 months ago (2026-07-13)
Written inPerl
Operating systemUnix
Typeopen-source, Mail transfer agent
LicenseMIT license
Websitesmtpd.develooper.com Edit this on Wikidata
Repository

qpsmtpd is an SMTP daemon written in Perl. It was originally designed to be a drop-in replacement for qmail-smtpd, the SMTP component of qmail, and it is now also compatible with Postfix, Exim, sendmail and virtually any software that "speaks SMTP". It has a flexible plugin system, making it easy to interoperate with other pieces in a mail system.

Its main purpose is to allow mail administrators to perform more advanced spam filtering than is possible with other SMTP daemons. As one example of dozens, the earlytalker plugin blocks many viruses and mass mailers based on their characteristic violation of basic protocol, even before they start sending mail data.

The program's main author is Ask Bjørn Hansen. It is licensed under the MIT License.

Qpsmtpd Plugins

A defining virtue of qpsmtpd is its plugin system and collection of plugins. In addition to basic plugins qpsmtpd has a suite of additional plugins that provide integration with external mail filters and processors as well as implementations of many email technologies. The following list is just a few of the many qpsmtpd plugins.

NameDescription
GeoIPUse GeoIP databases to report geographic information about incoming connections, including distance in km. Assign negative karma from senders that are "too far" away.
p0fp0f uses TCP fingerprint info to identify the senders Operating System, network distance, and more.
karmasender history. Treat senders differently based on message heuristics and sending history.
dnsblDNS blacklists
earlytalkerAssure the client doesn't talk before we send the SMTP banner
helovalidate the HELO or EHLO message presented by the sender
auth:*plugins for user authentication include vpopmail, checkpassword, flat_file, and ldap
SPFSender Policy Framework
greylistingtemporary deferrals for unknown senders
headersmessage header validation
URIBLscan message content for blacklisted URLs
Domainkeysvalidate domainkeys signatures on incoming mail
DKIMvalidate DKIM signatures and DKIM sign outgoing messages
DMARCimplements the draft DMARC specification for email authentication
SpamAssassinthe venerable spam detector
dspamDSPAM is a bayesian anti-spam filter optimized for speed.
AntiVirusA collection of plugins for AVE, Bitdefender, ClamAV, hbevd, Sophie, and uvscan
FCrDNSvalidate sender has FCrDNS configured
  1. ↑ "Releases". Github. Retrieved 1 September 2019.
  2. ↑ Simerson, Matt. "GeoIP plugin". GitHub.
  3. ↑ Spier, Robert. "p0f plugin". github. Retrieved 25 April 2013.
  4. ↑ "Karma plugin". GitHub. Retrieved 25 April 2013.
  5. ↑ "DNSBL plugin". GitHub. Retrieved 25 April 2013.
  6. ↑ Carraway, Devin. "Earlytalker plugin". GitHub. Retrieved 25 April 2013.
  7. ↑ simerson, matt. "HELO plugin". GitHub. Retrieved 25 April 2013.
  8. ↑ "QP Authentication plugins". GitHub. qpsmtpd. Retrieved 25 April 2013.
  9. ↑ Sergeant, Matt. "QP SPF plugin". GitHub. qpsmtpd. Retrieved 25 April 2013.
  10. ↑ Carr, Gavin. "QP greylisting plugin". GitHub. qpsmtpd. Retrieved 25 April 2013.
  11. ↑ Simerson, Matt. "QP headers plugin". GitHub. qpsmtpd. Retrieved 25 April 2013.
  12. ↑ Devin, Carraway. "QP URIBL plugin". GitHub. qpsmtpd. Retrieved 25 April 2013.
  13. ↑ Peacock, John. "QP Domainkeys plugin". GitHub. qpsmtpd. Retrieved 25 April 2013.
  14. ↑ Simerson, Matt. "QP DKIM plugin". GitHub. qpsmtpd.
  15. ↑ Simerson, Matt. "QP dmarc plugin". GitHub. qpsmtpd. Retrieved 25 April 2013.
  16. ↑ "QP spamassassin plugin". GitHub. qpsmtpd. Retrieved 25 April 2013.
  17. ↑ Simerson, Matt. "QP dspam plugin". GitHub. qpsmtpd. Retrieved 25 April 2013.
  18. ↑ "Dspam web site". sourceforge. Retrieved 25 April 2013.
  19. ↑ "QP anti-virus plugins". GitHub. qpsmtpd. Retrieved 25 April 2013.
  20. ↑ Simerson, Matt. "QP FCrDNS plugin". GitHub. qpsmtpd. Retrieved 25 April 2013.

See also

Further reading