Repolode
haraka

haraka/Haraka

基于 Node.js 的高扩展性 SMTP 邮件服务器,通过插件体系扩展功能。

Star
5,633
Fork
720
未关闭 Issue
4
最近提交
昨天

这是什么?

Haraka 是一个用异步 JavaScript 编写的 SMTP 服务器,运行在 Node.js 上,可处理大量并发连接,并以较低延迟投递大量邮件。常见用法包括作为入站邮件的过滤 MTA,或在 465 和 587 端口上作为带认证和 DKIM 的邮件提交代理(MSA)。

Haraka 本身不是邮件存储、本地投递代理或 IMAP 服务器,而是部署在这些系统前面处理 SMTP 流程。每个 SMTP 事务会经过 connect、helo、mail、rcpt、data、queue 等钩子,开发者可以用几行 JavaScript 为钩子添加逻辑。插件默认异步执行,查询 DNS、Redis 或 HTTP 接口时不会阻塞服务器。内置的出站投递引擎会自动处理标记为转发(relaying)的邮件。

项目提供丰富的插件生态,涵盖认证、DNS 黑名单、DKIM、SpamAssassin、rspamd、Redis、ClamAV 以及队列后端等。通过 npm 即可安装,`haraka` 命令可创建包含 config 和 plugins 目录的服务目录。

核心功能

  • 01基于异步 JavaScript,可处理大量并发 SMTP 连接。
  • 02通过钩子式插件扩展 SMTP 事务的每个阶段。
  • 03内置出站投递队列,用于处理转发邮件。
  • 04提供 DKIM、DNS 黑名单、SpamAssassin、rspamd、ClamAV 等插件。
  • 05可通过 npm 安装,并使用纯文本配置文件进行设置。

适用场景

  • 在邮件到达邮件存储之前,为域名做垃圾邮件和病毒过滤。
  • 在 465 或 587 端口部署带认证和 DKIM 签名的邮件提交服务。
  • 用自定义规则将带标签或别名的地址转发到 Exchange 或 IMAP 后端。

快速上手

  1. 1

    通过 npm 全局安装 Haraka

    npm install -g Haraka
  2. 2

    创建服务目录

    haraka -i /path/to/haraka_test
  3. 3

    启动 Haraka

    haraka -c /path/to/haraka_test

使用前须知

  • Haraka 仅是 SMTP 服务器,不是邮件存储或 IMAP 服务器,需要与其他系统配合使用。
  • 开箱即用前需要配置插件和域名。

标签

常见问题

Haraka 是什么?
基于 Node.js 的高扩展性 SMTP 邮件服务器,通过插件体系扩展功能。 Haraka 是一个用异步 JavaScript 编写的 SMTP 服务器,运行在 Node.js 上,可处理大量并发连接,并以较低延迟投递大量邮件。常见用法包括作为入站邮件的过滤 MTA,或在 465 和 587 端口上作为带认证和 DKIM 的邮件提交代理(MSA)。
Haraka 可以免费使用吗?用的什么许可证?
Haraka 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
Haraka 还在维护吗?
活跃维护中。Haraka 最近一次提交是在 2026年11月6日。
Haraka 适合用来做什么?
在邮件到达邮件存储之前,为域名做垃圾邮件和病毒过滤。 在 465 或 587 端口部署带认证和 DKIM 签名的邮件提交服务。 用自定义规则将带标签或别名的地址转发到 Exchange 或 IMAP 后端。
Haraka 怎么安装和运行?
通过 npm 全局安装 Haraka: npm install -g Haraka 创建服务目录: haraka -i /path/to/haraka_test 启动 Haraka: haraka -c /path/to/haraka_test
在哪里获取 Haraka?
源代码和安装说明在 GitHub 上:https://github.com/haraka/Haraka

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目