To create your own plugin, see Write a Plugin.
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.
A comprehensive list of known plugins. Create a PR to add yours to these lists.
| Name | Description | Published |
|---|
| auth-enc-file | Auth against user/pass in an encrypted file | 2018 |
| flat_file | Auth against user/pass in a file | 2026 |
| auth_bridge | Auth against remote MTA | 2026 |
| auth-imap | Auth against IMAP server | 2022 |
| auth_ldap | Auth against LDAP | 2023 |
| auth_proxy | Auth against remote MTA | 2026 |
| auth_vpopmaild | Auth against vpopmaild | 2026 |
| dkim | DKIM sign & verify | 2026 |
| dovecot | SMTP AUTH & recipient validation against dovecot | 2025 |
| LDAP | Aliases, Auth, and Recipient validation from LDAP | 2024 |
| mailauth | Email Auth (SPF, DKIM, DMARC, ARC, & BIMI) | 2024 |
| opendkim | DKIM sign and verify email messages | 2018 |
| spf | Perform SPF checks | 2026 |
| Name | Description | Published |
|---|
| ASN | Get ASN info for remote senders | 2026 |
| fcrdns | Forward Confirmed reverse DNS | 2025 |
| geoip | get geographic information about mail senders | 2026 |
| p0f | TCP Fingerprinting | 2025 |
| karma | Dynamic scoring of incoming connections | 2026 |
| known-senders | Reward emails from those you send mail to | 2025 |
| record_envelope_addresses | Adds message headers with ENV recips | 2026 |
| Name | Description | Published |
|---|
| accounting_files | Retrieve, Store and Archive custom information of outbound traffic | 2017 |
| elasticsearch | Store message metadata in Elasticsearch | 2026 |
| log reader | extract log entries from the haraka log file | 2026 |
| outbound-logger | JSON logging of outbound email. Logs metadata about delivered/bounced emails | — |
| process_title | Populate ps output with activity counters | 2026 |
| syslog | Log to syslog | 2026 |
| watch | Watch live SMTP traffic in a web interface | 2026 |
| Name | Description | Published |
|---|
| discard | queues messages to /dev/null | 2026 |
| kafka | Queue inbound mail to a Kafka topic | 2023 |
| lmtp | deliver queued messages via LMTP | 2026 |
| mailkite | Deliver mail to a MailKite backend (self-hosted or Cloud) as signed webhooks | 2026 |
| mongodb | Queue emails to MongoDB | 2024 |
| qmail-queue | queue to qmail | 2026 |
| quarantine | queue to a quarantine directory | 2026 |
| rabbitmq | queue to RabbitMQ | 2026 |
| [rabbitmq_amqplib][url-qrabbita] | queue to RabbitMQ using amqplib | — |
| rails | queue messages to a Rails app using Action Mailbox | — |
| smtp_bridge | Bridge SMTP sessions to another MTA | 2026 |
| smtp_forward | Forward emails to another MTA | 2026 |
| smtp_proxy | Proxy SMTP connections to another MTA | 2026 |
| wildduck | queue messages to Wild Duck | 2026 |
| Name | Description | Published |
|---|
| dovecot | Recipient validation & SMTP AUTH against dovecot | 2025 |
| LDAP | Aliases, Auth, and Recipient validation from LDAP | 2024 |
| recipient-routes | Route emails based on their recipient(s) | 2025 |
| rcpt_to.in_host_list | Define local email domains in a file | 2026 |
| rcpt_to.ldap | Validate recipients against LDAP | 2023 |
| rcpt-postgresql | validate recipients against PostgreSQL | 2016 |
| qmail-deliverable | Validate recipients against Qmail-Deliverable | 2026 |
| vmta | Virtual MTA management | 2017 |
| wildduck | provides recipient checks against Wild Duck | 2026 |
| Name | Description | Published |
|---|
| access | ACLs based on IPs, domains, email addrs, etc. | 2026 |
| aliases | Email aliases | 2026 |
| bounce | Many options for bounce processing | 2026 |
| delay_deny | Delays all pre-DATA 'deny' results | 2026 |
| dovecot | Recipient validation & SMTP AUTH against dovecot | 2025 |
| headers | Inspect and verify various email headers | 2026 |
| Limit | Apply many types of limits to SMTP connections | 2025 |
| prevent_credential_leaks | Prevent users from emailing their credentials | 2026 |
| redis | multi-purpose Redis db connection(s) | 2025 |
| relay | Manage relay permissions | 2026 |
| reseed_rng | Reseed the RNG | 2026 |
| batv-srs | BATV & SRS | 2020 |
| srs | Sender Rewriting Scheme | — |
| tarpit | Slow down connections | 2026 |
| tls | Implements TLS | 2026 |
| toobusy | Defers connections when too busy | 2026 |
| xclient | Implements XCLIENT | 2026 |
| save-sent | Save sent emails on the serverside to a mailbox of the sender | — |
| dropbox | Forward incoming emails to configured Dropbox webhook URLs. | — |