{"repo":"haraka/Haraka","free":true,"listed":false,"github":"https://github.com/haraka/Haraka","clone":"git clone https://github.com/haraka/Haraka.git","description":"A fast, highly extensible, and event driven SMTP server","language":"JavaScript","stars":5612,"topics":["smtp","mta","javascript","spf","dkim","nodejs","haraka"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"Haraka — a Node.js Mail Server [![Build][ci-img]][ci-url] [![Cover][cov-img]][cov-url] [![Qlty][qlty-img]][qlty-url] Haraka is a highly scalable [Node.js][1] SMTP server with a modular plugin architecture. It handles thousands of concurrent connections and delivers thousands of messages per second. Haraka and its plugins are written in asynchronous JavaScript, optimised for throughput and low latency. Haraka offers strong spam protection (see [Plugins.md][plugins]) and is widely deployed as a filtering [MTA][3] or as a [MSA][5] on port 465 (and legacy 587) with the auth and [DKIM][6] plugins enabled. Haraka is not a mail store, an [LDA][7], or an IMAP server. It is designed to work alongside those systems. A scalable outbound delivery engine is built in: mail flagged as relaying (for example, by an auth plugin) is queued for outbound delivery automatically. Plugin Architecture Haraka's defining feature is its plugin system. Every SMTP transaction is a sequence of well-defined hooks — connect , helo , mail , rcpt , data , data post , queue , and more — and each hook can be extended with a few lines of JavaScript. Plugins are asynchronous by default, so a slow lookup against DNS, Redis, or an HTTP API never blocks the server. The result is that behaviours which would require a custom MTA elsewhere are typically a small file in Haraka. For example, accepting qmail-style tagged addresses ( user-anything@domain.com ) and rewriting them to user@domain.com before forwarding to an Ex","default_branch":null,"files":null,"tree":[],"storefront":"/r/haraka","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/haraka/Haraka/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}