手機短信發送已經成為網站的標配功能。許多人認為,短信發送功能只是簡單地對接一個短信平臺即可,但實際上,這項功能遠比現象中復雜。WebFuture 的手機短信發送模塊具備許多亮點設計,功能豐富且細致入微。
手機短信發送機制的改進
如果手機短信發送是直接提交給短信平臺,而本地不保留發送記錄,這樣的設計會存在一些問題:
- 無法排查短信發送模塊的功能是否正常(是否成功發送?內容是否正確?),只能通過短信服務商的后臺查詢。
- 缺乏重發機制,如果短信平臺偶爾出現故障,就會導致短信丟失。當短信平臺故障導致無法發送時,無法及時報警。
- 無法排查短信發送模塊的功能是否正常(是否成功發送?內容是否正確?),只能通過短信服務商的后臺查詢。
- 缺乏重發機制,如果短信平臺偶爾出現故障,就會導致短信丟失。當短信平臺故障導致無法發送時,無法及時報警。
而 WebFuture 的手機短信發送機制是:首先將短信記錄保存在本地服務器中,然后通過短信發送服務不間斷地輪詢短信記錄表,將未發送或發送失敗的短信重新發送出去。這樣就解決了直接提交短信平臺模式下的上述問題。
支持多個短信發送平臺的接口
支持中國移動、中國聯通、中國電信等運營商以及名傳無線等專業短信發送平臺的手機短信發送接口。
短信發送記錄管理
支持對短信發送記錄進行查看、篩選、搜索、刪除等功能,支持對短信進行重發等功能。
支持短信發送的優先級控制
支持短信發送的優先級控制,手機短信驗證碼之類的短信優先發送,而廣告類的短信則優先級最低。
支持短信發送速度控制
短信發送平臺通常具備防止 CC 攻擊的機制,如果提交的短信并發量過大,就可能被短信平臺視為垃圾短信而拒絕服務。因此,我們設計了短信發送機制:每發送一條短信后休眠 0.3 秒,發送完本輪次的所有短信后再休眠 1 秒,隨后繼續下一輪的 10 條短信發送。如果當前沒有待發送的短信,則休眠 5 秒后重新輪詢。這樣可以有效避免被短信平臺拒絕服務的問題。
支持短信發送失敗后的重發機制
如果某條短信發送失敗(例如手機號碼無效,或短信服務商出現短暫故障),短信發送服務將在下一輪次繼續嘗試重新發送,最多可嘗試 N 次(N 值可配置)。此外,還可以在短信發送記錄管理界面中手動重新發送。
支持短信發送平臺故障報警功能
當發送失敗次數達到 N 次的不同手機號碼的短信數量累計到 10 條時(這可能意味著短信平臺出現問題),系統將向平臺超級管理員發送站內短信和郵件進行報警(因為此時手機短信功能可能不可用)。
報警后,系統會自動暫停短信發送半小時,但仍允許添加新的短信發送記錄(僅記錄,等待系統恢復發送)。半小時后會重新嘗試發送,如果仍然失敗,則再暫停半小時。整個暫停和恢復過程均為自動化,無需管理員手動干預。管理員也可以在暫停期間手動恢復(例如確認短信平臺已恢復正常時,可以立即恢復發送,無需等待半小時)。
支持短信發送量異常報警功能
系統每20分鐘統計一次短信記錄表中的最近一小時的短信數量,若超過報警值(可配置),將向平臺超管發送報警短信。
支持短信發送量統計功能
提供按日和按月兩種統計表。統計每日/每月發送的短信發送總量、發送成功數量、發送失敗數量。便于與短信服務商進行對帳。
用戶登錄
還沒有賬號?
立即注冊