{"id":13432730,"url":"https://github.com/haraka/Haraka","last_synced_at":"2025-03-17T10:32:28.549Z","repository":{"id":508523,"uuid":"1464380","full_name":"haraka/Haraka","owner":"haraka","description":"A fast, highly extensible, and event driven SMTP server","archived":false,"fork":false,"pushed_at":"2024-10-28T13:38:06.000Z","size":9230,"stargazers_count":5064,"open_issues_count":20,"forks_count":662,"subscribers_count":142,"default_branch":"master","last_synced_at":"2024-10-29T11:13:22.207Z","etag":null,"topics":["dkim","haraka","javascript","mta","nodejs","smtp","spf"],"latest_commit_sha":null,"homepage":"https://haraka.github.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/haraka.png","metadata":{"files":{"readme":"README.md","changelog":"Changes.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["msimerson"],"patreon":"MattSimerson"}},"created_at":"2011-03-10T17:00:20.000Z","updated_at":"2024-10-28T13:38:11.000Z","dependencies_parsed_at":"2024-11-13T21:22:35.803Z","dependency_job_id":"7148fa52-6db7-4dbb-9543-e589a26711d0","html_url":"https://github.com/haraka/Haraka","commit_stats":{"total_commits":3491,"total_committers":214,"mean_commits":"16.313084112149532","dds":0.615869378401604,"last_synced_commit":"c4ee966dc6955113d1cd6a819d88244ec94f3238"},"previous_names":[],"tags_count":98,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haraka%2FHaraka","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haraka%2FHaraka/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haraka%2FHaraka/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haraka%2FHaraka/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/haraka","download_url":"https://codeload.github.com/haraka/Haraka/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244016807,"owners_count":20384210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dkim","haraka","javascript","mta","nodejs","smtp","spf"],"created_at":"2024-07-31T02:01:15.837Z","updated_at":"2025-03-17T10:32:28.513Z","avatar_url":"https://github.com/haraka.png","language":"JavaScript","readme":"## Haraka - a Node.js Mail Server\n\n![Tests](https://github.com/haraka/Haraka/actions/workflows/ci.yml/badge.svg)\n[![Coverage Status][cov-img]][cov-url]\n\nHaraka is a highly scalable [node.js][1] email server with a modular\nplugin architecture. Haraka can serve thousands of concurrent connections\nand deliver thousands of messages per second. Haraka and plugins are written\nin asynchronous JS and are very fast.\n\nHaraka has very good spam protection (see [plugins][4]) and works\nwell as a filtering [MTA][3]. It also works well as a [MSA][5] running on\nport 587 with auth and [dkim_sign][6] plugins enabled.\n\nHaraka makes no attempt to be a mail store (like Exchange or Postfix/Exim/Qmail),\na [LDA][7], nor an IMAP server (like Dovecot or Courier). Haraka is\ntypically used **with** such systems.\n\nHaraka has a scalable outbound mail delivery engine built in. Mail\nmarked as `relaying` (such as via an `auth` plugin) is automatically\nqueued for outbound delivery.\n\n### Getting Help\n\n- [Join the mailing list][8] (implemented as a Haraka plugin)\n- [GitHub Issues][15]\n\n### Screencast\n\n[Getting started with Haraka][2]\n\n### Why Use Haraka?\n\nHaraka's plugin architecture provides an easily extensible MTA that\ncomplements traditional MTAs that excel at managing mail stores but do\nnot have sufficient filtering.\n\nThe plugin system makes it easy to code new features. A typical example\nis providing qmail-like extended addresses to an Exchange system,\nwhereby you could receive mail as `user-anyword@domain.com`, and yet\nstill have it correctly routed to `user@domain.com`. This is a few lines of\ncode in Haraka.\n\nPlugins are provided for running mail through [SpamAssassin][9], validating\n[HELO][10] names, checking [DNS Blocklists][11], and [many others][12].\n\n### Installing Haraka\n\nHaraka requires [node.js][1] to run. Install Haraka with [npm][2]:\n\n```sh\n# If the second command gives \"nobody\" errors, uncomment \u0026 run the next command\n# npm -g config set user root\nnpm install -g Haraka\n```\n\nAfter installation, use the `haraka` binary to set up the service.\n\n### Running Haraka\n\nFirst, create the service:\n\n```sh\nharaka -i /path/to/haraka_test\n```\n\nThat creates the directory `haraka_test` with `config` and `plugin`\ndirectories within. It also sets the host name used by Haraka\nto the output of `hostname`.\n\nIf `hostname` is not correct, edit `config/host_list`. For example,\nto receive mail addressed to `user@domain.com`, add `domain.com` to the\n`config/host_list` file.\n\nFinally, start Haraka using root permissions:\n\n```sh\nharaka -c /path/to/haraka_test\n```\n\nAnd it will run.\n\n### Configure Haraka\n\nTo choose which plugins run, edit `config/plugins`. Plugins control the\noverall behaviour of Haraka. By default, only messages to domains listed\nin `config/host_list` will be accepted and then delivered via the\n`smtp-forward` plugin. Configure the destination in `config/smtp_forward.ini`.\n\n### Read the Fine Manual\n\n```sh\nharaka -h plugins/$name\n```\n\nThe docs detail how each plugin is configured. After editing\n`config/plugins`, restart Haraka and enjoy!\n\n### Running from git\n\nIf you are unable to use npm to install Haraka, you can run from git by\nfollowing these steps:\n\nFirst clone the repository:\n\n    $ git clone https://github.com/haraka/Haraka.git\n    $ cd Haraka\n\nInstall Haraka's node.js dependencies locally:\n\n    $ npm install\n\nEdit `config/plugins` and `config/smtp.ini` to specify the plugins and\nconfig you want.\n\nFinally run Haraka:\n\n    $ node haraka.js\n\n### License and Author\n\nHaraka is MIT licensed - see the [LICENSE][16] file for details.\n\nHaraka is a project started by [Matt Sergeant][17], a 10 year veteran of the email and anti-spam world. Previous projects have been the project leader for\nSpamAssassin and a hacker on [Qpsmtpd][13].\n\n[1]: http://nodejs.org/\n[2]: http://youtu.be/6twKXMAsPsw\n[3]: http://en.wikipedia.org/wiki/Message_transfer_agent\n[4]: https://github.com/haraka/Haraka/blob/master/Plugins.md\n[5]: http://en.wikipedia.org/wiki/Mail_submission_agent\n[6]: https://github.com/haraka/Haraka/blob/master/docs/plugins/dkim_sign.md\n[7]: https://en.wikipedia.org/wiki/Mail_delivery_agent\n[8]: mailto:haraka-sub@harakamail.com\n[9]: https://haraka.github.io/plugins/spamassassin\n[10]: https://haraka.github.io/plugins/helo.checks\n[11]: https://haraka.github.io/plugins/dnsbl\n[12]: https://github.com/haraka/Haraka/blob/master/Plugins.md\n[13]: https://github.com/smtpd/qpsmtpd/\n[15]: https://github.com/haraka/Haraka/issues\n[16]: https://github.com/haraka/Haraka/blob/master/LICENSE\n[17]: https://github.com/baudehlo\n[cov-img]: https://codecov.io/github/haraka/Haraka/coverage.svg\n[cov-url]: https://codecov.io/github/haraka/Haraka?branch=master\n","funding_links":["https://github.com/sponsors/msimerson","https://patreon.com/MattSimerson"],"categories":["JavaScript","nodejs","网络服务","Apps"],"sub_categories":["网络服务_其他","Mail"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharaka%2FHaraka","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fharaka%2FHaraka","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharaka%2FHaraka/lists"}