mass_mail_engine/docs/INSTALL.md

1.6 KiB
Raw Blame History

Install

  • 需求:.NET SDK 8.x, PostgreSQL
  • 設定:複製 .env.example.env
  • Migration
    • 預設由 API 啟動時自動執行(Db__AutoMigrate=true
    • 需要關閉時請設定 Db__AutoMigrate=false
    • 手動執行可用 dotnet run --project src/SendEngine.Installer -- migrate
  • Webhook Auth 初始化(不使用 SQL 檔,改用 Installer
    • 使用 Installer 建立 webhook clientid 自動隨機產生):
    • dotnet run --project src/SendEngine.Installer -- add-webhook-client --tenant-id <tenant_uuid> --client-id <client_id> --name <display_name> --scopes <scope1,scope2>
    • 例如:dotnet run --project src/SendEngine.Installer -- add-webhook-client --tenant-id 11111111-1111-1111-1111-111111111111 --client-id member-center-webhook --name "Member Center Webhook" --scopes newsletter:events.write
    • 建立成功後Member Center webhook header X-Client-Id 請帶回傳的 id
    • Webhook 驗證規則為 tenant 綁定:auth_clients.tenant_id 必須等於 payload tenant_id
    • 不支援 X-Client-Id fallback
    • 預設拒絕 tenant_id = NULL 的通用 clientWebhook__AllowNullTenantClient=false
  • Member Center 回寫授權(建議):
    • MemberCenter__BaseUrl(建議)
    • MemberCenter__DisableSubscriptionPath(預設 /subscriptions/disable
    • MemberCenter__TokenPath(預設 /connect/token
    • MemberCenter__ClientId
    • MemberCenter__ClientSecret
    • MemberCenter__Scope=newsletter:events.write
    • MemberCenter__DisableSubscriptionUrlMemberCenter__TokenUrl 可用完整 URL 覆蓋fallback
    • MemberCenter__ApiToken 僅作暫時 fallback非首選