オープンソースプロジェクト
maillab/cloud-mail avatar
maillab/cloud-mail

Cloud Mailの構成、Cloudflare Workersで作る小さなメール基盤

Cloud Mail は、ワーカー、ルーティング、ストレージ、Web メールボックスを組み合わせた Cloudflare ベースの電子メール サービスです。

スター 14,194フォーク 21,458JavaScriptMIT

ひと目でわかる

これは何?
maillab/cloud-mailのメール機能、Cloudflareサービスの分担、管理権限、API、導入文書の不足をREADMEから整理します。
誰に向いている?
Cloud Mailは、一つのドメインから複数のメールアドレスを作り、Cloudflare Workersを中心に自分のメールサービスを組み立てたい人向けのオープンソースプロジェクトです。READMEはResendによる送信、R2の添付ファイル、D1とKV、Workers AIの验证码認識、管理者権限、APIなど具体的な部品を示しています。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 10 日前です。
何の言語で書かれている?
主に JavaScript です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

Cloud Mailが提供すると説明するもの

maillab/cloud-mailは、Cloudflareを基盤にした簡約なレスポンシブメールサービスです。READMEは、一つのドメインから複数のメールボックスを作成し、メール送信と添付ファイルの送受信を扱えると説明しています。自分でメールサービスを持ちたい利用者を想定したプロジェクトで、クラウド側の部品を組み合わせて構成します。

READMEの機能一覧には、低コスト運用、PCと大部分のスマートフォンブラウザへ対応するレスポンシブ画面、メール送信、管理者機能、添付ファイル、通知、オープンAPI、验证码認識、データ可視化、画面の個人設定、人間判定が挙げられています。機能名が並んでいることと、実運用に必要な制限や保証が明記されていることは別です。メールの保存期間、容量、送信上限、迷惑メール対策はREADMEからは分かりません。

Cloudflare上の部品分担

技術スタックとして、実行基盤にCloudflare Workers、WebフレームワークにHono、ORMにDrizzle、フロントエンドにVue 3、UIにElement Plusを使うとREADMEは記しています。メール送信はResend、キャッシュはCloudflare KV、データベースはCloudflare D1、ファイル保存はCloudflare R2です。Workers AIはメール内の验证码を自動認識する用途として登場します。

この組み合わせから、画面、WorkerのAPI、データアクセス、外部メール送信、オブジェクト保存が分かれた構成を読み取れます。ただし、READMEは各サービスの設定値、バインディング名、権限、障害時の動作を一覧にしていません。Cloudflare側の課金、リージョン、削除や復元の扱いも、プロジェクトの機能説明だけでは判断できません。導入時は公式デプロイ文書とCloudflareの設定画面を照合し、どのデータがどのサービスへ送られるかを記録します。

メール送信、添付、受信通知

メール送信はResendとの統合で行い、群送信、本文内画像、添付ファイル送信、送信状態の確認に対応するとREADMEは説明しています。添付ファイルはR2オブジェクトストレージへ保存し、送受信とダウンロードに使います。受信したメールはTelegramボット、または別の事業者のメールアドレスへ転送できると記されています。

この機能を採用する時は、送信操作と受信処理を別々に試します。送信元ドメインの認証、失敗時の再送、添付の最大サイズ、ファイル名、公開URLの扱い、通知先に含まれる本文や個人情報を確認してください。READMEは機能の存在を説明していますが、メール配送の保証、受信方式、キューの設計、保存期間を説明していません。実際のテストではテストアカウントを使い、メールヘッダー、R2の権限、失敗ログを確認します。

管理者機能とオープンAPI

管理画面ではユーザーとメールを管理し、RBACによって機能と利用リソースを制限できるとREADMEにあります。APIは、ユーザーの一括生成と複数条件によるメール検索を支えると説明されています。複数のメールボックスを一つのドメインから扱う構想に対し、管理とAPIを用意して運用作業を減らす設計です。

しかし、管理者の種類、権限の初期値、API認証、レート制限、検索対象、エクスポートの有無はREADMEに詳しくありません。RBACという名称だけで最小権限が実現するとは限らず、APIで一括生成できることは濫用防止を意味しません。導入前に管理者、一般ユーザー、通知先の三つの役割を分け、パスワードやトークンをログへ出さないこと、退職者の権限を取り消せること、APIで大量作成した記録を追えることを検証します。

画面機能とプロジェクト構造

フロントエンドはVue 3とElement Plusで、画面はレスポンシブにPCと多くのスマートフォンブラウザへ適応するとREADMEは説明しています。EChartsでシステムデータとユーザーのメール増加を可視化し、サイトタイトル、ログイン背景、透明度を個人設定できます。Turnstileは人間判定として、Worker AIはメール验证码の読み取りとして配置されています。

ディレクトリにはmail-workerがあり、その下にapi、const、dao、email、entity、error、hono、i18n、init、model、security、service、template、utilsなどの層が並びます。入口ファイルはsrc/index.jsです。これはコードの整理を理解する手掛かりですが、各APIやテーブルの完全な仕様ではありません。READMEの展示欄にはオンラインデモとデプロイ文書へのリンクがあるため、導入前は実際の画面、初期ユーザー、言語設定、権限境界を文書と照合します。

導入文書の不足と採用判断

READMEにはプロジェクトの展示、デプロイ文書、オンラインデモへの導線がありますが、README本体にそのままコピーできるインストールコマンドはありません。必要なCloudflareアカウント、Workersのバインディング、D1の初期化、KVとR2の作成、Resendの鍵、ドメイン設定は公式デプロイ文書で確認します。文書にない既定値を推測して本番へ置くべきではありません。

ライセンスはMITです。MITは改変と配布の条件を定めますが、メールの配送、保存、プライバシー、サポート、セキュリティを保証しません。READMEは将来の機能を開発中とも記しています。Cloud Mailを使うなら、まず別ドメインまたはテスト用アドレスで送受信を試し、添付のアクセス、通知の情報量、APIの権限、ログとバックアップを記録します。仕様が薄い部分を自分の運用基準で補い、確認できない機能を前提に採用しないことが妥当です。

編集部の結論

Cloud Mailは、一つのドメインから複数のメールアドレスを作り、Cloudflare Workersを中心に自分のメールサービスを組み立てたい人向けのオープンソースプロジェクトです。READMEはResendによる送信、R2の添付ファイル、D1とKV、Workers AIの验证码認識、管理者権限、APIなど具体的な部品を示しています。一方、README本体にはコピーできる導入コマンド、完全な環境変数一覧、認証設計、受信経路、バックアップ、性能基準の説明がありません。採用前に公式のデプロイ文書で初期設定とデータ保存範囲を確認し、テスト用ドメインと限定権限で送受信、添付、管理操作を検証してください。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート