用 Webhook 接收郵件
輪詢收件匣能用,但它會增加延遲、浪費請求。Webhook 把模式反了過來:與其在迴圈裡一直問「有信了嗎?」,服務會在訊息一落地的當下主動呼叫你。這篇指南講 inbound-email webhook 在 MoeMail 的 API 上怎麼運作,以及如何可靠地處理它們。
輪詢 vs webhook
輪詢是反覆打訊息端點,直到有東西冒出來——簡單,但慢又吃配額。Webhook 則是一個你擁有的 URL,當事件發生時(在這裡:一封新的進站郵件)供應商會 POST 過去。你的端點立刻反應,沒有迴圈。
怎麼運作
- 註冊一個你掌控的 webhook URL(一個後端路由,或你的測試框架對外開的端點)。
- 當信件抵達你的臨時郵箱,MoeMail 會把訊息 payload POST 到那個 URL。
- 你的處理函式驗證請求、解析郵件並採取行動——存起來、結束某個等待中的測試步驟,或觸發後續邏輯。
快點回應——否則就被重試
Webhook 處理函式必須很快回應(幾秒內)並回傳 2xx 狀態。任何非 2xx——或反應遲緩的處理函式——都會被當成失敗而重試,所以一個慢吞吞的處理函式可能會收到同一個事件好幾次。由此導出兩條規則:讓處理函式保持輕量(別在裡頭做繁重的資料庫工作——把它排進佇列),並讓處理具備冪等性,這樣重複送達也不會出事。
驗證 payload
你的 webhook URL 實際上是公開的,所以在信任之前先確認請求真的來自 MoeMail。驗證你帳號設定的任何簽章/共用密鑰,忽略非預期的格式,並且永遠別對未經驗證的輸入採取行動。
Webhook 在測試裡
對於自動化郵件驗證測試來說,webhook 能徹底拿掉輪詢:你的測試等在一個 promise 上,webhook 一觸發它就 resolve,接著抽出連結或驗證碼。這比輪詢迴圈更快、也遠比它穩定。
立即開始
看 OpenAPI 文件了解 webhook payload 格式,把一個 URL 指向你的處理函式,再建立一個郵箱寄一封測試信給自己。