Haraka (software)

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
Developer(s)Matt Sergeant
Initial releaseMay 2011
Stable release
2.8.27 / 2021-01-05
Repositorygithub.com/haraka/Haraka
Written inNode.js, JavaScript
Operating systemUnix-like, Windows
TypeMail transfer agent
LicenseMIT License
Websiteharaka.github.io

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

References

  1. "Haraka License". GitHub. Retrieved 14 February 2015.
  2. "Haraka Plugins". Haraka Source Code. GitHub. Retrieved 15 February 2015.
  3. "Haraka Language Statistics". Haraka Source Repository. GitHub. Retrieved 15 February 2015.
  4. https://haraka.github.io/README.html
  5. "Writing Haraka Plugins". Haraka Docs. GitHub. Retrieved 15 February 2015.
  6. "Haraka Readme". Haraka. GitHub. Retrieved 15 February 2015.
  7. "Tech Shoutout - Haraka at bounce.io". Bounce.io. bounce.io. Archived from the original on 15 February 2015. Retrieved 15 February 2015.
  8. "Craigslist Uses Haraka". Matt Sergeant. Retrieved 15 February 2015.
  9. "About, Thanks". Craigslist. Retrieved 15 February 2015.
  10. "SMTP Haraka". Mail Toaster 6. tnpi.net. Retrieved 15 February 2015.
  11. "auth_ldap". Haraka. Retrieved 15 February 2015.
  12. "auth_vpopmaild". Haraka. Retrieved 15 February 2015.
  13. "access". Haraka. Retrieved 15 February 2015.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.