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 |
---|---|
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 |
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 |
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 |
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 |