Plugins
To create your own plugin, see:
- the plugin template that includes all the boilerplate
- the Write a Plugin tutorial
- the Plugins section of the manual
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.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 |
headers | Inspect and verify various email headers |
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 |
Table of Contents