Software:Haraka
Developer(s) | Matt Sergeant |
---|---|
Initial release | May 2011 |
Stable release | 2.8.21
/ Aug 8, 2018 |
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[1] SMTP server. Its architecture is plugin-oriented[2] and event-driven. The server and its plugins are written in Javascript[3] using the Node.js framework.[4]
Haraka follows a plugin model, implementing a very lightweight SMTP core and providing developers hooks into the mail flow.[5] 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.[6]
Bounce.io announced that they regularly handle 2 to 5 thousand simultaneous SMTP connections[7] 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[8] to handle inbound and then forward validated connections to Postfix.[9] Bounce.io similarly uses Haraka to accept incoming messages and deliver them to their application engine. Mail Toaster 6 uses Haraka[10] similarly to accept incoming mail and forward to a qmail based message store.
Features
- SMTP Authentication via LDAP,[11] vpopmaild,[12] flat_file, or SMTP proxy.
- Access control by domain, IP, sender, or recipient.[13]
- 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
- Comparison of mail servers
- List of mail servers
References
- ↑ "Haraka License". https://github.com/haraka/Haraka/blob/master/LICENSE. Retrieved 14 February 2015.
- ↑ "Haraka Plugins". GitHub. https://github.com/haraka/Haraka/tree/master/plugins. Retrieved 15 February 2015.
- ↑ "Haraka Language Statistics". GitHub. https://github.com/haraka/Haraka/search?l=javascript. Retrieved 15 February 2015.
- ↑ https://haraka.github.io/README.html
- ↑ "Writing Haraka Plugins". GitHub. https://haraka.github.io/manual/Plugins.html. Retrieved 15 February 2015.
- ↑ "Haraka Readme". GitHub. https://haraka.github.io/README.html#Performance. Retrieved 15 February 2015.
- ↑ "Tech Shoutout - Haraka at bounce.io". bounce.io. Archived from the original on 15 February 2015. https://web.archive.org/web/20150215022431/https://bounce.io/tech-shoutout-haraka-at-bounce-io/. Retrieved 15 February 2015.
- ↑ "Craigslist Uses Haraka". http://baudehlo.com/2012/02/17/craigslist-deploys-haraka/. Retrieved 15 February 2015.
- ↑ "About, Thanks". http://www.craigslist.org/about/thanks. Retrieved 15 February 2015.
- ↑ "SMTP Haraka". tnpi.net. https://www.tnpi.net/wiki/MT6_SMTP. Retrieved 15 February 2015.
- ↑ "auth_ldap". https://haraka.github.io/manual/plugins/auth/auth_ldap.html. Retrieved 15 February 2015.
- ↑ "auth_vpopmaild". https://github.com/haraka/Haraka/blob/master/docs/plugins/auth/auth_vpopmaild.md. Retrieved 15 February 2015.
- ↑ "access". https://github.com/haraka/Haraka/blob/master/docs/plugins/access.md. Retrieved 15 February 2015.
External links