Haraka Plugins

August 3, 2026 · View on GitHub

To create your own plugin, see Write a Plugin.

Installing NPM packaged plugins

Plugins can be installed in the directory where Haraka was installed (where depends on your OS platform and whether you specified -g) or the Haraka install directory (haraka -i this_path). This example installs my-great-plugin in the Haraka install directory:

cd /etc/haraka
npm install haraka-plugin-my-great-plugin

NPM then installs the plugin and its dependencies in a node_modules directory within the Haraka install directory.

Plugin Registry

A comprehensive list of known plugins. Create a PR to add yours to these lists.

Auth Plugins

NameDescriptionPublished
auth-enc-fileAuth against user/pass in an encrypted file2018
flat_fileAuth against user/pass in a file2026
auth_bridgeAuth against remote MTA2026
auth-imapAuth against IMAP server2022
auth_ldapAuth against LDAP2023
auth_proxyAuth against remote MTA2026
auth_vpopmaildAuth against vpopmaild2026
dkimDKIM sign & verify2026
dovecotSMTP AUTH & recipient validation against dovecot2025
LDAPAliases, Auth, and Recipient validation from LDAP2024
mailauthEmail Auth (SPF, DKIM, DMARC, ARC, & BIMI)2024
opendkimDKIM sign and verify email messages2018
spfPerform SPF checks2026

Enrichment Plugins

NameDescriptionPublished
ASNGet ASN info for remote senders2026
fcrdnsForward Confirmed reverse DNS2025
geoipget geographic information about mail senders2026
p0fTCP Fingerprinting2025
karmaDynamic scoring of incoming connections2026
known-sendersReward emails from those you send mail to2025
record_envelope_addressesAdds message headers with ENV recips2026

Filtering Plugins

NameDescriptionPublished
attachmentRestrict attachment types2026
block_mePopulate block list via forwarded emails2026
avgAVG antivirus scanner2024
clamdAnti-Virus scanning with ClamAV2025
data.signaturesBlock emails whose bodies match signatures2026
dccDistributed Checksum Clearinghouse2025
dns-listCheck against DNS and reputation lists2025
early_talkerReject remotes that talk early2026
esetsVirus scanning with ESET Mail Security2025
greylistGreylisting2026
helo.checksValidity checks of the HELO string2026
mail_from.is_resolvableVerifies the MAIL FROM domain resolves to a MX2026
messagesnifferAnti-spam via MessageSniffer2025
miltermilter support2017
rspamdScan emails with rspamd2026
spamassassinScan emails with SpamAssassin2026
uriblBlock based on URI blacklists2025

Logging & Telemetry

NameDescriptionPublished
accounting_filesRetrieve, Store and Archive custom information of outbound traffic2017
elasticsearchStore message metadata in Elasticsearch2026
log readerextract log entries from the haraka log file2026
outbound-loggerJSON logging of outbound email. Logs metadata about delivered/bounced emails
process_titlePopulate ps output with activity counters2026
syslogLog to syslog2026
watchWatch live SMTP traffic in a web interface2026

Queue Plugins

NameDescriptionPublished
discardqueues messages to /dev/null2026
kafkaQueue inbound mail to a Kafka topic2023
lmtpdeliver queued messages via LMTP2026
mailkiteDeliver mail to a MailKite backend (self-hosted or Cloud) as signed webhooks2026
mongodbQueue emails to MongoDB2024
qmail-queuequeue to qmail2026
quarantinequeue to a quarantine directory2026
rabbitmqqueue to RabbitMQ2026
[rabbitmq_amqplib][url-qrabbita]queue to RabbitMQ using amqplib
railsqueue messages to a Rails app using Action Mailbox
smtp_bridgeBridge SMTP sessions to another MTA2026
smtp_forwardForward emails to another MTA2026
smtp_proxyProxy SMTP connections to another MTA2026
wildduckqueue messages to Wild Duck2026

Recipient Validation

NameDescriptionPublished
dovecotRecipient validation & SMTP AUTH against dovecot2025
LDAPAliases, Auth, and Recipient validation from LDAP2024
recipient-routesRoute emails based on their recipient(s)2025
rcpt_to.in_host_listDefine local email domains in a file2026
rcpt_to.ldapValidate recipients against LDAP2023
rcpt-postgresqlvalidate recipients against PostgreSQL2016
qmail-deliverableValidate recipients against Qmail-Deliverable2026
vmtaVirtual MTA management2017
wildduckprovides recipient checks against Wild Duck2026

Every other Plugin

NameDescriptionPublished
accessACLs based on IPs, domains, email addrs, etc.2026
aliasesEmail aliases2026
bounceMany options for bounce processing2026
delay_denyDelays all pre-DATA 'deny' results2026
dovecotRecipient validation & SMTP AUTH against dovecot2025
headersInspect and verify various email headers2026
LimitApply many types of limits to SMTP connections2025
prevent_credential_leaksPrevent users from emailing their credentials2026
redismulti-purpose Redis db connection(s)2025
relayManage relay permissions2026
reseed_rngReseed the RNG2026
batv-srsBATV & SRS2020
srsSender Rewriting Scheme
tarpitSlow down connections2026
tlsImplements TLS2026
toobusyDefers connections when too busy2026
xclientImplements XCLIENT2026
save-sentSave sent emails on the serverside to a mailbox of the sender
dropboxForward incoming emails to configured Dropbox webhook URLs.