Haraka (software)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Haraka
Developer(s) Matt Sergeant, 61 others
Initial release May 2011
Stable release 2.8.4 / May 2016
Development status Active
Written in Node.js, Javascript
Operating system Unix-like, Windows
Type Mail transfer agent
License MIT License
Website http://haraka.github.io/

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

External links

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. http://haraka.github.io/README.html
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.