2026-02-10 16:08:04 +09:00
2026-02-10 16:08:04 +09:00
2026-02-10 16:08:04 +09:00
2026-02-10 16:08:04 +09:00
2026-02-10 16:08:04 +09:00
2026-02-10 16:08:04 +09:00
2026-02-10 16:08:04 +09:00
2026-02-10 16:08:04 +09:00
2026-02-10 16:08:04 +09:00
2026-02-10 16:08:04 +09:00

Send Engine發送引擎

此專案為獨立的發送引擎,負責寄送、節流、退信處理與追蹤。文件統一放在 docs/

目標MVP

  • 接收 Member Center 的訂閱事件activated / unsubscribed / preferences.updated
  • 多租戶名單快照(依 tenant/list且僅增量更新
  • 管理 Campaign / Send Job 與排程
  • 對接 ESPSES / SendGrid / Mailgun
  • 記錄投遞結果與退信(必要時回寫 Member Center

既定條件

  • 與 Member Center 相同框架C# .NET Core
  • Send engine 不提供跨租戶名單查詢
  • 事件同步採 event/queue 或 webhook二擇一即可
  • DBPostgreSQL

範圍(第一階段)

  • 事件 ingest 與名單增量同步
  • Campaign / Send Job 基本流程
  • Sender Adapter至少一種 ESP
  • 投遞與退信記錄

非目標(暫不處理)

  • 自建 SMTP server
  • 跨租戶名單查詢
  • 行銷自動化或行為追蹤

文件

  • docs/DESIGN.md:系統設計總覽、核心模組與資料流
  • docs/FLOWS.md:主要業務流程(同步、寄送、退信)
  • docs/OPENAPI.mdAPI 規格說明與補充規則
  • docs/SCHEMA.sql:資料庫 schemaPostgreSQL
  • docs/TECH_STACK.md:技術棧與選型
  • docs/INSTALL.md:安裝、初始化與維運指令
  • docs/USE_CASES.md:需求用例(角色、情境、驗收)

專案結構

mass_mail_engine/
├── src/
│   ├── SendEngine.Api/           # REST API事件 ingest、送信、管理 API
│   ├── SendEngine.Installer/     # 安裝與初始化 CLImigrate/init/admin
│   ├── SendEngine.Application/   # 應用層介面與 DTO
│   ├── SendEngine.Infrastructure/# EF Core、ESP Adapter、服務實作
│   └── SendEngine.Domain/        # 領域實體與常數
├── docs/                         # 專案文件
├── .vscode/                      # 本機開發啟動與工作設定
├── SendEngine.sln                # Solution
└── README.md

待確認事項

  • 事件系統選擇Kafka/RabbitMQ/SNS+SQS / Webhook
  • ESP 優先順序SES / SendGrid / Mailgun
  • 退信回寫的規則hard bounce / soft bounce
  • 追蹤事件範圍open / click / unsubscribe
Description
No description provided
Readme 241 KiB
Languages
C# 99.1%
Dockerfile 0.9%