Haraka
高性能な Node.js メールサーバー。モジュラープラグインアーキテクチャを採用し、拡張可能なメールフィルタリングと配信を実現します。
スマートダウンロード
プロジェクトのホームページへ
インストーラはまだありません — ソースリポジトリをご覧ください
Node.js ベースのメールサーバー。プラグインが豊富で、高い並行処理能力を持ち、フィルタリングと転送に特化しています。
主な機能
- モジュール式プラグインアーキテクチャにより、機能を簡単に拡張可能
- 高性能:数千の同時接続、毎秒数千通のメール配信
- 送信配信エンジンを内蔵し、リレーをサポート
- 豊富な公式プラグイン:アンチスパム、DKIM、DNSBL など
- 軽量でメールを保存せず、フィルタリングと転送専用に設計
できないこと
- •Haraka は完全なメールシステムではなく、メールストレージ(Dovecot、Exchange など)と組み合わせて使用する必要があります。実行には 25/587 ポートにバインドするための root 権限が必要です。プラグイン設定は比較的柔軟ですが、ドキュメントに精通している必要があります。
使用例
- 社内メールシステムのフロントエンドフィルタリングゲートウェイとして
- 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