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 签名等。适用于需要灵活、高性能邮件处理的开发者和运维人员。
トラブルシューティング & FAQ (2)
トラブル対応Harakaでdkimプラグインを使用し、署名無効化時に発生する「Cannot pipe while currently piping」エラーを修正する方法
このエラーは、Haraka 3.1.4+ において dkim プラグインが有効になっているが署名が無効になっている場合に発生します。解決するには、設定ディレクトリ内に [sign] を含む dkim.ini ファイルを作成して DKIM 署名を有効にするか、あるいは以下のパッチを outbound/index.js に適用して送信前に setImmediate による遅延を挿入します:
enabled = trueawait new Promise((resolve) => setImmediate(resolve))。これにより、dkim 検証ストリームとアウトバウンドキュー間のパイプ競合が防止されます。この問題は後の Haraka リリースで修正されています。
トラブル対応Haraka で queue tmp ファイルの名前変更時に発生する 'ENOENT: no such file or directory' エラーを修正する方法
この一時的なエラーは、Haraka 3.3.0で修正されたFsyncWriteStreamの問題によって発生します。問題を解決するには、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