1.8 KiB
1.8 KiB
Notification 測試
單一入口:make notify-test,用 METHOD 指定要測哪一種,一次只跑一項。
異步(Enqueue + Worker)說明見 internal/model/notification/README.md。
前置
make deps-up
make mongo-index
MailHog 本機 SMTP:make deps-up-smtp,yaml 設 SMTP.Host=localhost、Port=1025。
METHOD 一覽
| METHOD | 需要參數 | 說明 |
|---|---|---|
email-send |
TO= |
同步寄驗證信 |
email-enqueue |
TO= |
異步佇列 + Worker 送達 |
email-idempotency |
TO= |
同 key 不重送 |
sms-send |
PHONE= |
同步簡訊 |
sms-enqueue |
PHONE= |
異步簡訊 |
member-email |
TO= |
Member 信箱 OTP 流程 |
member-phone |
PHONE= |
Member 手機 OTP 流程 |
admin-dlq |
— | 列出 DLQ |
Provider 由 gateway.dev.yaml 的 SMTP/SES/Mitake.Enable 決定。
不連外網時加 MOCK=1(強制 mock)。
範例
# 真實 SMTP(依 yaml)
make notify-test METHOD=email-send TO=you@example.com
# mock,不真的寄
make notify-test METHOD=email-send TO=test@example.com MOCK=1
make notify-test METHOD=email-enqueue TO=you@example.com
make notify-test METHOD=sms-send PHONE=0912345678
make notify-test METHOD=member-email TO=you@example.com
make notify-test METHOD=admin-dlq
成功輸出末尾為 OK;失敗為 FAIL: ... 且 exit 1。
等同:
go run ./cmd/notify-test -method email-send -to you@example.com -f etc/gateway.dev.yaml
go run ./cmd/notify-test -method email-send -to t@e.com -mock
Provider 提示
- 只測 SES:關
SMTP.Enable,開SES.Enable - 只測 Mitake:
SMS.Mitake.Enable: true+METHOD=sms-send - 同時開 SMTP + SES:依 Sort failover,通常只會打到第一個成功的