前陣子朋友的網站一直深受假帳號註冊的困擾,雖然沒有造成實質上的損失,但卻增加了管理成本,特別是在活動期間這些假帳號開始洗抽獎資格,進而影響到真實會員的權益。雖然後來裝上了機器人驗證與 Email 信件驗證來排除該問題,但對於使用上多少還是有些不便利。
對註冊的會員來說需要通過 reCAPTCHA 的考題,然後還要再開啟信箱點選驗證信才能開通帳號,對管理員來說設定 reCAPTCHA 也有一定的申請步驟跟流程,於是我就在思考有沒有更快速又便利的解決方案。
何謂有效的 Email?我將它定義為可以收得到信的電子郵件,至於該如何確定這個信箱可以收信,很簡單,實際發信過去看看,如果對方信箱回應的狀態碼是正確的,那麼這個 Email 就是有效,抱持著這個思路,我跟夥伴開發了 WP Mail Checker 外掛,運作畫面如下:
只要啟用外掛後,所有電子郵件欄位就會在使用者輸入時同步進行檢查,檢查的方式是透過 API 進行呼叫,流程是先進行 DNS 檢查信箱網址,通過的話再使用程式實際發信測試,如果測試回垂結果告知不能收信,就會返回如上圖的錯誤訊息,要求使用者更換一個信箱。
除此之外,WooCommerce 的結帳欄位、登入註冊表單中的電子郵件也會做這個檢查,準確的說是只要有需要輸入電子郵件的地方,在外掛啟用後都會自動加入發信測試判斷,身為管理者你的設定成本是零,而會員也不用再實際去收件後點擊驗證連結,藉此降低註冊的阻力:
後來發現這樣的做法雖然可以避免輸入收不到信的信箱,但現在有許多一次性的臨時信箱可以使用,我們的解決辦法是在後台提供設定項來設定能夠註冊的信箱網址,像是限定 gmail 或是 hotmail,如果站長不介意註冊者使用臨時信箱註冊,留空不設定即可:
我們希望把驗證電子郵件這件事做到最單純,不管是對註冊者還是管理者都一樣,能夠用最少的步驟完成驗證信箱是我們設計這支外掛的目標。該外掛目前還在進行更多的測試,如果你有這樣的需求可以來信跟我說,我會在正式釋出後的第一時間通知你!