
Cloud Mail是一項開源、基於CloudFlare簡約響應式的電子郵件服務,支持部署於CloudFlare Workers,可以創建無限前綴的電子郵件地址,支持郵件發送、附件收發。能夠使用自定義域名發送與接收電子郵件,以最低成本建立和管理自己的電子郵件系統,並能完全掌控資料。
Cloud Mail專案由麻省理工學院授權,允許自由使用與修改。
✨功能介紹:
💰 低成本使用:可部署到CloudFlare Workers降低服務器成本。
💻 響應式設計:響應式布局自動適配PC和大部分手機端瀏覽器。
📧 郵件發送:集成Resend發送郵件,支持群發、內嵌圖片和附件發送,發送狀態查看。
🛡️ 管理員功能:可以對用戶、郵件進行管理、RABC權限控制對功能及使用資源限制。
📦 附件收發:支持收發附件,使用R2對象存儲保存和下載文件。
🔔 郵件推送:接收郵件後可以轉發到TG機器人或其他服務商郵箱。
📡 開放API:支持使用API批量生成用戶,多條件查詢郵件。
🔢 驗證碼識別:使用Workers AI,自動識別郵件驗證碼。
📈 數據可視化:使用ECharts對系統數據詳情,用戶郵件增長可視化顯示。
🎨 個性化設置:可以自定義網站標題、登陸背景、透明度。
🤖 人機驗證:集成Turnstile人機驗證,防止人機批量註冊。
🏗️克隆倉庫並部署CloudFlare Worker:
項目倉庫地址:https://github.com/maillab/cloud-mail
登陸GitHub,訪問項目倉庫,點擊右上角「Fork」➠「Create Fork」創建分支。登陸CloudFlare,選擇「計算」➠ 點擊「Workers和Pages」➠「創建應用程序」➠ 連接「Continue with GitHub」➠ 選擇「cloud-mail √」➠ 點擊“下一步”,項目名稱黙認即可,再點擊下面的「高級設置」,在「路徑」處修改為:/mail-worker,點擊「部署」。部署完成後,點擊「域」➠「+添加域名」➠「自定義域」➠點擊「添加域名」。⚠️注意:添加的域名必須是CloudFlare託管的域名。點擊「設置」➠「變量和機密」➠ 點擊「+添加」,類型選擇:JSON,變量名稱:domain,值:[“您的域名”]。⚠️注意:英文中括號和引號。點擊「添加變量」。再添加管理員賬號變量,類型:文本,變量名稱:admin,值:admin@自定義域名,點擊「添加變量」。最後添加安全密鑰變量,類型:文本,變量名稱:jwt_secret,值:仼意數字和英文,但不能含特殊符號,點擊「部署」。
📦創建數據庫綁定Worker:
選擇「計算」➠「存儲和數據庫」➠ 點擊「D1 SQL數據庫」➠「+創建數據庫」,名稱:隨便填寫,點擊「創建」。再點擊左側「Workers KV」➠「+Create Instance」創建實例,命名空間名稱:隨便填寫,點擊「創建」。
點擊左側「Workers和Pages」➠ 點擊cloud-mail項目 ➠「綁定」➠「添加綁定+」➠ 點擊左側「KV命名空間」➠「添加綁定」。變量名稱:kv,KV命名空間選擇剛剛創建的命名空間,點擊「添加綁定」。再次點擊「添加綁定+」➠「D1數據庫」➠ 點擊「添加綁定」。變量名稱:db,D1數據庫選擇剛剛創建的D1數據庫,點擊「添加綁定」。
⚙️設置電子郵件路由:
點擊「帳戶主頁」➠ 點擊您自定義的域名 ➠ 左側選擇「電子郵件」➠「電子郵件路由」➠ 點擊「開始使用」➠ 直接點擊「跳過入門指南」➠ 再點擊「啟用電子郵件路由」➠ 點擊「添加記錄並啟用」,CloudFlare自動添加解析記錄。點擊「路由規則」➠ 在Catch-all地址「Catch-All」最右側點擊「編輯」➠“操作”選擇「發送到Worker」➠“目標”選擇「創建的cloud-mail的Worker」➠ 點擊「保存」,最後在“狀態”點擊開啟,確保活動狀態。
🔄初始化及接收電子郵件:
在瀏覽器地址欄輸入您自定義綁定的登陸域名,在域名後面添加/api/init/安全密鑰變量的值,顯示:success 表示數據庫初始化成功。接着直接訪問登陸域名,點擊「創建賬號」,輸入管理員賬號變量名稱:admin,設置登陸密碼。
📬第三方代發電子郵件服務Resend:
CloudFlare原生只提供接收電子郵件功能,不提供發送電子郵件功能。要想實現CloudFlare收發郵件,需要藉助第三方代發電子郵件服務Resend。
登陸Resend點擊左側「Domains」➠「+Add domain」,在「Name」輸入域名,「Region」黙認即可,點擊「+Add domain」,前往CloudFlare添加DNS解析記錄,顯示:Verified,域名已驗證:您的域名已準備好發送電子郵件。點擊左側「API keys」獲取API密鑰 ➠「+Create API key」,Name:隨意,Permission:默認,點擊「Add」。🔒重要提醒:API Key生成是一次性的,關閉之後就無法看到了。最後點擊左側「Webhooks」➠「+Add webhook」,Endpoint URL:https://您的域名/api/webhooks,Select events to listen:點擊下拉菜單,只勾選:Email、email.bounced、email.complained、email.delivered、email.delivery_delayed、email.failed,點擊「Add」。
Resend對於免費用戶發送電子郵件有使用限制,每日最多發送100封電子郵件。
登陸Cloud Mail,點擊左側「系統設置」➠「郵件設置」➠「Resend Token」點擊「+」號,輸入API Key密鑰,點擊「保存」。
⚙️後台設置:
由於有每日最多發送100封電子郵件的限制,建議關閉「用戶註冊」或者開啟「註冊碼」功能,生成邀請碼註冊。關於附件:默認使用的是KV數據庫,免費1GB容量、每日1000次寫入次數。
WebMail
