我正在構建一個Web應用程序,用戶單擊一個按鈕,並且該點擊發送一封電子郵件。在片狀連接中,用戶有時會多次點擊該按鈕,這會導致發送多封電子郵件。該電子郵件正通過SMTP通過Sendgrid發送。防止發送重複的電子郵件
如果多次提交相同的請求參數,是否有一種技術可用於僅發送單個電子郵件?我知道如何防止在我自己的應用程序上對諸如Web表單的多重提交,但我不確定如何使用第三方電子郵件API執行相同的操作。
我正在構建一個Web應用程序,用戶單擊一個按鈕,並且該點擊發送一封電子郵件。在片狀連接中,用戶有時會多次點擊該按鈕,這會導致發送多封電子郵件。該電子郵件正通過SMTP通過Sendgrid發送。防止發送重複的電子郵件
如果多次提交相同的請求參數,是否有一種技術可用於僅發送單個電子郵件?我知道如何防止在我自己的應用程序上對諸如Web表單的多重提交,但我不確定如何使用第三方電子郵件API執行相同的操作。
爲了防止多次提交到SendGrid(或大多數API),您需要在您的末端設置一些存儲每個提交的內容,並確保尚未發送相同的內容。
如果您只是想防止同一用戶多次提交相同數據,您可以將近期提交的散列存儲在內存中,並比較它們或類似內容。
但是,最好的選擇可能只是做一些客戶端,防止用戶點擊按鈕兩次。
如果您使用的是Mailjet,則可以使用X-Mailjet-DeduplicateCampaign標頭,該標頭可阻止/取消阻止一個廣告系列內多次向同一聯繫人發送的郵件。
嘿尼克,非常實際的答案感謝:)我還沒有玩過太多的客戶端驗證,但你的答案很有意義!這聽起來好像是時候開始研究客戶端解決方案了。 – amorphid