Repolode
haraka

haraka/Haraka

プラグインで動作を拡張できる、Node.js製の高いスケーラビリティを備えたイベント駆動型SMTPメールサーバーです。

スター
5,633
フォーク
721
未解決の Issue
4
最終コミット
昨日

これは何?

Harakaは、Node.js向けに非同期JavaScriptで書かれたSMTPサーバーです。数千の同時接続を処理し、大量のメッセージを低レイテンシで配信できるよう設計されています。受信メールをフィルタリングするMTAとして、または認証とDKIMを有効にしてポート465や587で動作するメッセージ送信エージェント(MSA)として、広く利用されています。

Harakaはメールストアでも、ローカル配信エージェントでも、IMAPサーバーでもありません。これらのシステムの前段に配置されます。各SMTPトランザクションは、connect、helo、mail、rcpt、data、queueなどのフックを順に通過し、それぞれのフックを短いJavaScriptプラグインで拡張できます。プラグインは非同期で動作するため、DNS、Redis、HTTP APIへの問い合わせでサーバーがブロックされることはありません。リレー対象として指定されたメールをキューに入れる、組み込みの送信配信エンジンも備えています。

認証、DNSブロックリスト、DKIM、SpamAssassin、rspamd、Redis、ClamAV、キューバックエンドに対応する、豊富なプラグインレジストリを提供します。インストールにはnpmを使い、`haraka`コマンドでconfigとpluginsのサブディレクトリを含むサービスディレクトリを作成できます。

主な機能

  • 01非同期JavaScriptにより、数千のSMTP同時接続を処理できます。
  • 02SMTPトランザクションのあらゆる段階を、フックベースのプラグインで拡張できます。
  • 03リレーするメール向けの送信配信キューを内蔵しています。
  • 04DKIM、SPF形式のチェック、DNSブロックリスト、SpamAssassin、rspamd、ClamAV向けのプラグインを利用できます。
  • 05npmでインストールでき、プレーンな設定ファイルで構成できます。

ユースケース

  • メールストアに届く前にスパムやウイルスをチェックし、ドメイン宛ての受信メールをフィルタリングする。
  • 認証とDKIM署名を有効にして、ポート465または587でメール送信サーバーを稼働させる。
  • カスタムルールを使って、タグ付きアドレスやエイリアス宛てのメールを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は、Node.js向けに非同期JavaScriptで書かれたSMTPサーバーです。数千の同時接続を処理し、大量のメッセージを低レイテンシで配信できるよう設計されています。受信メールをフィルタリングするMTAとして、または認証とDKIMを有効にしてポート465や587で動作するメッセージ送信エージェント(MSA)として、広く利用されています。
Haraka は無料で使えますか?ライセンスは?
Haraka は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
Haraka は今もメンテナンスされていますか?
活発にメンテナンス中。Haraka の最終コミットは 2026年11月5日 です。
Haraka は何に使えますか?
メールストアに届く前にスパムやウイルスをチェックし、ドメイン宛ての受信メールをフィルタリングする。 認証とDKIM署名を有効にして、ポート465または587でメール送信サーバーを稼働させる。 カスタムルールを使って、タグ付きアドレスやエイリアス宛てのメールを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

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト