Developer(s) | Matt Sergeant |
---|---|
Initial release | May 2011 |
Stable release | 3.0.5 / 1 October 2024; 2 months ago (1 October 2024) |
Repository | github |
Written in | Node.js, JavaScript |
Operating system | Unix-like, Windows |
Type | Mail transfer agent |
License | MIT License |
Website | haraka |
Haraka is an open source SMTP server. Its architecture is plugin-oriented and event-driven. The server and its plugins are written in JavaScript using the Node.js framework.
Haraka follows a plugin model, implementing a very lightweight SMTP core and providing developers hooks into the mail flow. Almost all of Haraka's functionality is built as plugins.
Through its use of the V8 JavaScript engine and asynchronous I/O, the author claims the server is capable of handling thousands of messages per second.
Bounce.io announced that they regularly handle 2 to 5 thousand simultaneous SMTP connections with Haraka.
Typical Usage
Haraka is frequently used as a filtering MTA in front of other MTAs that lack the performance and/or filtering capabilities of Haraka. Craigslist uses Haraka to handle inbound and then forward validated connections to Postfix. Bounce.io similarly uses Haraka to accept incoming messages and deliver them to their application engine. Mail Toaster 6 uses Haraka similarly to accept incoming mail and forward to a qmail based message store.
Features
- SMTP Authentication via LDAP, vpopmaild, flat_file, or SMTP proxy.
- Access control by domain, IP, sender, or recipient.
- Bounce validation, optionally blocking forged or invalid bounces.
- Virus filtering with ClamAV and AVG
- ASN lookups and filtering
- Forward Confirmed reverse DNS validation
- GeoIP reporting and optional filtering
- Detection of remote Operating System
- Header validation: make sure required headers are present, singular headers are not duplicated, and values are credible.
- URIBL lookups of senders IP, helo hostname, envelope sender, and message contents
- DKIM validation and signing (native)
- DNSBL support
- Early talker detection
- HELO hostname validation (8 tests)
- Karma, a heuristics scoring engine that weighs the results of all plugins and smites or blesses each connection.
- Messagesniffer (requires SNF installation)
- Rate limiting, by host, sender, or recipient
- Recipient validation in flat file, LDAP, Redis, or qmail-deliverabled.
- SpamAssassin, via spamd.
- SPF (native)
- TLS / SSL
- Overload detection and automatic deferral of new connections.
See also
References
- "Release 3.0.5". 1 October 2024. Retrieved 22 October 2024.
- "Haraka License". GitHub. Retrieved 14 February 2015.
- "Haraka Plugins". Haraka Source Code. GitHub. Retrieved 15 February 2015.
- "Haraka Language Statistics". Haraka Source Repository. GitHub. Retrieved 15 February 2015.
- "Haraka Manual ยป README". Archived from the original on 2017-10-28. Retrieved 2017-11-01.
- "Writing Haraka Plugins". Haraka Docs. GitHub. Archived from the original on 14 February 2015. Retrieved 15 February 2015.
- "Haraka Readme". Haraka. GitHub. Archived from the original on 28 October 2017. Retrieved 15 February 2015.
- "Tech Shoutout - Haraka at bounce.io". Bounce.io. Archived from the original on 15 February 2015. Retrieved 15 February 2015.
- "Craigslist Uses Haraka". Matt Sergeant. Archived from the original on 15 February 2015. Retrieved 15 February 2015.
- "About, Thanks". Craigslist. Retrieved 15 February 2015.
- "SMTP Haraka". Mail Toaster 6. tnpi.net. Archived from the original on 19 October 2014. Retrieved 15 February 2015.
- "auth_ldap". Haraka. Archived from the original on 15 February 2015. Retrieved 15 February 2015.
- "auth_vpopmaild". Haraka. Retrieved 15 February 2015.
- "access". Haraka. Retrieved 15 February 2015.