Skip to content

Latest commit

 

History

History
208 lines (191 loc) · 17.4 KB

Plugins.md

File metadata and controls

208 lines (191 loc) · 17.4 KB

Haraka Plugins

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

Name Description
auth-enc-file Auth against user/pass in an encrypted file
flat_file Auth against user/pass in a file
auth_bridge Auth against remote MTA
auth-imap Auth against IMAP server
auth_ldap Auth against LDAP
auth_proxy Auth against remote MTA
auth_vpopmaild Auth against vpopmaild
dkim DKIM sign & verify
dovecot SMTP AUTH & recipient validation against dovecot
LDAP Aliases, Auth, and Recipient validation from LDAP
mailauth Email Auth (SPF, DKIM, DMARC, ARC, & BIMI)
opendkim DKIM sign and verify email messages
spf Perform SPF checks

Queue Plugins

Name Description
discard queues messages to /dev/null
kafka Queue inbound mail to a Kafka topic
lmtp deliver queued messages via LMTP
mongodb Queue emails to MongoDB
qmail-queue queue to qmail
quarantine queue to a quarantine directory
rabbitmq queue to RabbitMQ
rabbitmq_amqplib queue to RabbitMQ using amqplib
rails queue messages to a Rails app using Action Mailbox
smtp_bridge Bridge SMTP sessions to another MTA
smtp_forward Forward emails to another MTA
smtp_proxy Proxy SMTP connections to another MTA
wildduck queue messages to Wild Duck

Filtering Plugins

Name Description
attachment Restrict attachment types
avg AVG antivirus scanner
clamd Anti-Virus scanning with ClamAV
data.signatures Block emails whose bodies match signatures
dcc Distributed Checksum Clearinghouse
esets Virus scanning with ESET Mail Security
messagesniffer Anti-spam via MessageSniffer
milter milter support
rspamd Scan emails with rspamd
spamassassin Scan emails with SpamAssassin
uribl Block based on URI blacklists

Every other Plugin

Name 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
block_me Populate block list via forwarded emails
bounce Many options for bounce processing
delay_deny Delays all pre-DATA 'deny' results
dns-list Check remote MTAs against DNS black, white, and karma lists
dovecot Recipient validation & SMTP AUTH against dovecot
early_talker Reject remotes that talk early
fcrdns Forward Confirmed reverse DNS
geoip get geographic information about mail senders
greylist Greylisting
headers Inspect and verify various email headers
helo.checks Validity 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
outbound-logger JSON logging of outbound email traffic. Logs useful metadata about delivered/bounced emails
p0f TCP Fingerprinting
prevent_credential_leaks Prevent users from emailing their credentials
process_title Populate ps output with activity counters
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
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
batv-srs BATV & SRS
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