Haraka_(software)

Haraka (software)

Haraka (software)

FLOSS SMTPd in JavaScript based on Node.js


Haraka is an open source[2] SMTP server. Its architecture is plugin-oriented[3] and event-driven. The server and its plugins are written in JavaScript[4] using the Node.js framework.[5]

Quick Facts Developer(s), Initial release ...

Haraka follows a plugin model, implementing a very lightweight SMTP core and providing developers hooks into the mail flow.[6] 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.[7]

Bounce.io announced that they regularly handle 2 to 5 thousand simultaneous SMTP connections[8] 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[9] to handle inbound and then forward validated connections to Postfix.[10] Bounce.io similarly uses Haraka to accept incoming messages and deliver them to their application engine. Mail Toaster 6 uses Haraka[11] similarly to accept incoming mail and forward to a qmail based message store.

Features

  • SMTP Authentication via LDAP,[12] vpopmaild,[13] flat_file, or SMTP proxy.
  • Access control by domain, IP, sender, or recipient.[14]
  • 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

  1. "Release 3.0.3". 8 February 2024. Retrieved 20 February 2024.
  2. "Haraka License". GitHub. Retrieved 14 February 2015.
  3. "Haraka Plugins". Haraka Source Code. GitHub. Retrieved 15 February 2015.
  4. "Haraka Language Statistics". Haraka Source Repository. GitHub. Retrieved 15 February 2015.
  5. "Haraka Manual ยป README". Archived from the original on 2017-10-28. Retrieved 2017-11-01.
  6. "Writing Haraka Plugins". Haraka Docs. GitHub. Archived from the original on 14 February 2015. Retrieved 15 February 2015.
  7. "Haraka Readme". Haraka. GitHub. Archived from the original on 28 October 2017. Retrieved 15 February 2015.
  8. "Tech Shoutout - Haraka at bounce.io". Bounce.io. Archived from the original on 15 February 2015. Retrieved 15 February 2015.
  9. "Craigslist Uses Haraka". Matt Sergeant. Archived from the original on 15 February 2015. Retrieved 15 February 2015.
  10. "About, Thanks". Craigslist. Retrieved 15 February 2015.
  11. "SMTP Haraka". Mail Toaster 6. tnpi.net. Archived from the original on 19 October 2014. Retrieved 15 February 2015.
  12. "auth_ldap". Haraka. Archived from the original on 15 February 2015. Retrieved 15 February 2015.
  13. "auth_vpopmaild". Haraka. Retrieved 15 February 2015.
  14. "access". Haraka. Retrieved 15 February 2015.

Share this article:

This article uses material from the Wikipedia article Haraka_(software), and is written by contributors. Text is available under a CC BY-SA 4.0 International License; additional terms may apply. Images, videos and audio are available under their respective licenses.