Haraka Plugins

To create your own plugin, see:

Installing NPM packaged plugins

NPM packaged plugins can be installed in the npm 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 mostly comprehensive list of plugins known to be working and maintained. Create a PR adding yours to this list.

Plugin Description
access ACLs based on IPs, domains, email addrs, etc.
accounting_files Retrieve, Store and Archive custom information of outbound traffic
aliases Email aliases
ASN Get ASN info for remote senders
attachment Restrict attachment types
auth-enc-file Auth against user/pass in an encrypted file
auth/flat_file Auth against user/pass in a file
auth/auth_bridge Auth against remote MTA
auth-imap Auth against IMAP server
auth/auth_ldap Auth against LDAP
auth/auth_proxy Auth against remote MTA
auth/auth_vpopmaild Auth against vpopmaild
avg AVG antivirus scanner
backscatterer Check remote IP against ips.backscatterer.org
block_me Populate block list via forwarded emails
bounce Many options for bounce processing
clamd Anti-Virus scanning with ClamAV
connect.p0f TCP Fingerprinting
data.headers Inspect and verify various email headers
data.signatures Block emails whose bodies match signatures
data.uribl Block based on URI blacklists
dcc Distributed Checksum Clearinghouse
delay_deny Delays all pre-DATA ‘deny’ results
dkim_sign DKIM sign outbound messages
dkim_verify Verify DKIM signatures on incoming messages
opendkim DKIM sign and verify email messages
dnsbl Check remote MTAs against DNS blacklists
dnswl Check remote MTAs against DNS whitelists
dovecot Recipient validation & SMTP AUTH against dovecot
early_talker Reject remotes that talk early
esets Virus scanning with ESET Mail Security
fcrdns Forward Confirmed reverse DNS
geoip get geographic information about mail senders
greylist Greylisting
helo.checks Validaty checks of the HELO string
karma Dynamic scoring of incoming connections
known-senders Reward emails from those you send mail to
LDAP Aliases, Auth, and Recipient validation from LDAP
Limit Apply many types of limits to SMTP connections
log.elasticsearch Store message metadata in Elasticsearch
log reader extract log entries from the haraka log file
syslog Log to syslog
mail_from.is_resolvable Verifies the MAIL FROM domain resolves to a MX
messagesniffer Anti-spam via MessageSniffer
milter milter support
mongodb Queue emails to MongoDB
prevent_credential_leaks Prevent users from emailing their credentials
process_title Populate ps output with activity counters
queue/discard queues messages to /dev/null
queue/lmtp deliver queued messages via LMTP
queue/qmail-queue queue to qmail
queue/quarantine queue to a quarantine directory
queue/rabbitmq queue to RabbitMQ
queue/rabbitmq_amqplib queue to RabbitMQ using amqplib
queue/smtp_bridge Bridge SMTP sessions to another MTA
queue/smtp_forward Forward emails to another MTA
queue/smtp_proxy Proxy SMTP connections to another MTA
recipient-routes Route emails based on their recipient(s)
redis multi-purpose Redis db connection(s)
rcpt_to.in_host_list Define local email domains in a file
rcpt_to.ldap Validate recipients against LDAP
rcpt-postgresql validate recipients against PostgreSQL
rcpt_to.qmail_deliverable Validate recipients against Qmail-Deliverable
record_envelope_addresses Adds message headers with ENV recips
relay Manage relay permissions
reseed_rng Reseed the RNG
rspamd Scan emails with rspamd
spamassassin Scan emails with SpamAssassin
spf Perform SPF checks
srs Sender Rewriting Scheme
tarpit Slow down connections
tls Implements TLS
toobusy Defers connections when too busy
vmta Virtual MTA management
watch Watch live SMTP traffic in a web interface
wildduck provides recipient checks against Wild Duck
xclient Implements XCLIENT