一款用 Go 编写的功能完整、注重安全的邮件服务器,便于自托管个人域名邮箱并降低维护成本。
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
通过 npm 全局安装 Haraka
npm install -g Haraka - 2
创建服务目录
haraka -i /path/to/haraka_test - 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 数据每日更新。
相关项目
5932+12 本周239GoMIT维护活跃更新于 11天前
单文件部署的私有邮件服务器,支持 SMTP、POP3、IMAP 收发信,并自带网页端邮箱管理。
2407+14 本周269GoGPL-2.0更新于 上个月
Dovecot 是一款开源的 IMAP 和 POP3 邮件服务器,用于让用户访问服务器上存储的邮件。
1279+6 本周366COther更新于 18小时前