# Qpsmtpd

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.
| Name | Description |
| GeoIP | Use GeoIP databases to report geographic information about incoming connections, including distance in km. Assign negative karma from senders that are "too far" away. |
| p0f | p0f uses TCP fingerprint info to identify the senders Operating System, network distance, and more. |
| karma | sender history. Treat senders differently based on message heuristics and sending history. |
| dnsbl | DNS blacklists |
| earlytalker | Assure the client doesn't talk before we send the SMTP banner |
| helo | validate the HELO or EHLO message presented by the sender |
| auth:* | plugins for user authentication include vpopmail, checkpassword, flat_file, and ldap |
| SPF | Sender Policy Framework |
| greylisting | temporary deferrals for unknown senders |
| headers | message header validation |
| URIBL | scan message content for blacklisted URLs |
| Domainkeys | validate domainkeys signatures on incoming mail |
| DKIM | validate DKIM signatures and DKIM sign outgoing messages |
| DMARC | implements the draft DMARC specification for email authentication |
| SpamAssassin | the venerable spam detector |
| dspam | DSPAM is a bayesian anti-spam filter optimized for speed. |
| AntiVirus | A collection of plugins for AVE, Bitdefender, ClamAV, hbevd, Sophie, and uvscan |
| FCrDNS | validate sender has FCrDNS configured |
* ↑ "Releases". Github. Retrieved 1 September 2019.
* ↑ Simerson, Matt. "GeoIP plugin". GitHub.
* ↑ Spier, Robert. "p0f plugin". github. Retrieved 25 April 2013.
* ↑ "Karma plugin". GitHub. Retrieved 25 April 2013.
* ↑ "DNSBL plugin". GitHub. Retrieved 25 April 2013.
* ↑ Carraway, Devin. "Earlytalker plugin". GitHub. Retrieved 25 April 2013.
* ↑ simerson, matt. "HELO plugin". GitHub. Retrieved 25 April 2013.
* ↑ "QP Authentication plugins". GitHub. qpsmtpd. Retrieved 25 April 2013.
* ↑ Sergeant, Matt. "QP SPF plugin". GitHub. qpsmtpd. Retrieved 25 April 2013.
* ↑ Carr, Gavin. "QP greylisting plugin". GitHub. qpsmtpd. Retrieved 25 April 2013.
* ↑ Simerson, Matt. "QP headers plugin". GitHub. qpsmtpd. Retrieved 25 April 2013.
* ↑ Devin, Carraway. "QP URIBL plugin". GitHub. qpsmtpd. Retrieved 25 April 2013.
* ↑ Peacock, John. "QP Domainkeys plugin". GitHub. qpsmtpd. Retrieved 25 April 2013.
* ↑ Simerson, Matt. "QP DKIM plugin". GitHub. qpsmtpd.
* ↑ Simerson, Matt. "QP dmarc plugin". GitHub. qpsmtpd. Retrieved 25 April 2013.
* ↑ "QP spamassassin plugin". GitHub. qpsmtpd. Retrieved 25 April 2013.
* ↑ Simerson, Matt. "QP dspam plugin". GitHub. qpsmtpd. Retrieved 25 April 2013.
* ↑ "Dspam web site". sourceforge. Retrieved 25 April 2013.
* ↑ "QP anti-virus plugins". GitHub. qpsmtpd. Retrieved 25 April 2013.
* ↑ Simerson, Matt. "QP FCrDNS plugin". GitHub. qpsmtpd. Retrieved 25 April 2013.