Jump to content

Haraka (software)

From Wikipedia, the free encyclopedia
Haraka
Developer(s)Matt Sergeant
Initial releaseMay 2011
Stable release
3.0.5[1] Edit this on Wikidata / 1 October 2024; 39 days ago (1 October 2024)
Repositorygithub.com/haraka/Haraka
Written inNode.js, JavaScript
Operating systemUnix-like, Windows
TypeMail transfer agent
LicenseMIT License
Websiteharaka.github.io

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]

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

[edit]

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

[edit]
  • 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

[edit]

References

[edit]
  1. ^ "Release 3.0.5". 1 October 2024. Retrieved 22 October 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.
[edit]