Haraka
高性能 Node.js 邮件服务器,模块化插件架构,用于可扩展的邮件过滤和投递。
智能下载
前往项目主页
该项目暂未提供安装包,请直接访问源代码仓库
基于 Node.js 的邮件服务器,插件丰富,高并发,专注过滤与转发。
核心功能
- 模块化插件架构,轻松扩展功能
- 高性能:数千并发连接,每秒数千封投递
- 内置出站投递引擎,支持中继
- 丰富的官方插件:反垃圾邮件、DKIM、DNSBL 等
- 轻量级,不存储邮件,专为过滤和转发设计
避坑指南
- •Haraka 不是完整邮件系统,需要搭配邮件存储(如 Dovecot、Exchange)使用;运行需要 root 权限绑定 25/587 端口;插件配置较灵活但需熟悉文档。
适用场景
- 作为公司邮件系统的前置过滤网关
- 与 Exchange 或 Postfix 配合,处理邮件过滤与路由
- 构建自定义邮件处理流水线(如地址重写、内容扫描)
- 替代 Qpsmtpd 或作为高性能 MSA
详细介绍
Haraka 是一个基于 Node.js 的高度可扩展的邮件服务器,可同时处理数千个并发连接,每秒投递数千封邮件。其模块化的插件架构让扩展和定制变得非常容易,提供了强大的垃圾邮件过滤能力。与专注于邮件存储的传统 MTA 不同,Haraka 适合作为过滤 MTA 或邮件提交代理(MSA),与 Exchange、Postfix 等存储系统配合使用。它内置出站投递引擎,支持中继邮件。插件涵盖 DNS 黑名单、SpamAssassin、HELO 校验、DKIM 签名等。适用于需要灵活、高性能邮件处理的开发者和运维人员。
常见问题与排障 (2)
故障排除How to fix Haraka 'Cannot pipe while currently piping' error when using dkim plugin with signing disabled?
此错误发生在Haraka 3.1.4+中,当启用了dkim插件但签名被禁用时。要解决此问题,您可以启用DKIM签名:在config目录中创建dkim.ini文件,内容为[sign];或者对outbound/index.js应用以下补丁,在发送前引入setImmediate延迟:
enabled = trueawait new Promise((resolve) => setImmediate(resolve))。这可以防止dkim验证流与出站队列之间的管道冲突。该问题已在后续Haraka版本中修复。
故障排除如何修复重命名队列临时文件时的Haraka 'ENOENT: no such file or directory'错误?
此临时错误由 FsyncWriteStream 中的一个问题引起,该问题已在 Haraka 3.3.0 中修复。请升级到 Haraka 3.3.0 或更高版本以解决问题。若升级后错误仍然存在,请检查队列目录的文件系统权限或 I/O 瓶颈,并考虑向 Haraka 项目提交详细日志报告该问题。
标签
快速上手
安装软件
双击下载的安装程序,按提示完成安装
步骤1:确保已安装 Node.js,然后执行 npm install -g Haraka
步骤2:创建服务目录:haraka -i /path/to/haraka_test
步骤3:编辑 config/host_list 添加你的域名,编辑 config/plugins 启用所需插件
- 步骤1:确保已安装 Node.js,然后执行 npm install -g Haraka
- 步骤2:创建服务目录:haraka -i /path/to/haraka_test
- 步骤3:编辑 config/host_list 添加你的域名,编辑 config/plugins 启用所需插件
暂未获取到校验码
该项目暂未在 GitHub Release 页面提供 SHA-256 校验码
SHA256 校验码
暂无校验码
建议从 GitHub Releases 页面直接下载,并自行核对文件完整性
本平台所有 SHA-256 校验码均提取自项目在 GitHub 官方 Release 页面发布的文件,未做任何修改。你可以通过 GitHub Releases 页面自行验证。
开源透明
查看 GitHub 源码卸载说明
执行 npm uninstall -g Haraka 卸载全局包,然后删除服务目录。
无额外依赖
下载后即可直接使用,无需安装其他运行环境
遇到问题?查看下方 FAQ
2 FAQs