2010-06-26 146 views
3

我有一個網絡應用程序,在這個應用程序中,訪問者正在註冊並獲得通訊給他們註冊的電子郵件。處理電子郵件中的錯別字或註冊用戶

我在註冊表單中只使用一個電子郵件字段,因爲我希望減少字段的數量加上我想大多數人(像我一樣)複製和粘貼電子郵件,這意味着一個錯字會傳播到二次驗證領域。

我的問題是,註冊的公平比例在電子郵件地址中有一個錯字,例如, @yhaoo,@hotmaill等

我如何能有效地處理這樣的錯別字?

我正在考慮通過使用常見域的拼寫錯誤列表來做一個簡單的自動更正,但是我不能爲此做一個現成的綜合列表。

+2

你也不能確定它確實是一個錯字 - 小心弄亂人們輸入的內容。 – Oded 2010-06-26 19:13:19

回答

0

首先,您應首先使DNS查找,看看是否有一個有效的MX記錄該域(這意味着域必須存在) - 如果不是你不應該接受電子郵件。

其次,尋找一個http重定向從域到另一個域。例如。 yayoo.com和yahooo.com都重定向到yahoo.com,因此您可能想要顯示一條警告消息「您的意思是...... @ yahoo.com?」甚至可以自動更正白名單中您確定可以安全糾正的地址。

最後,如果有一個有效的MX記錄並且沒有重定向,那麼其餘的匪徒很可能只是導致hitfarms乘坐大型提供者(或無辜其他服務)的拼寫錯誤的拼寫錯誤,例如, gmial.com。對於這些,你可以求助於再次手工打造的自動更正建議(哈希表,爲用戶提供一個「你的意思是......」步接受提交前。

5

當窗體發佈,你可以做一個DNS查找,看看是否有一個域的MX記錄。如果沒有,你幾乎可以確定它是一個錯字,因爲發送到那個地址不會被髮送。然後,您可以用友好的錯誤消息重新顯示錶單,要求用戶確認電子郵件地址是否正確。

不提示用戶自動更正。這很難得到正確的結果,你最終可能會遇到困惑的用戶,他們的電子郵件地址與其他域非常相似。

0

我知道這個問題是舊的。但也許我的回答將幫助別人 我使用Mailgun API來處理輸入錯誤的電子郵件地址

0

我有同樣的問題,我只是找到了一個免費的JavaScript庫在http://getmailcheck.org,我認爲會解決我們的問題:。

Javascript庫和jQu如果用戶在電子郵件地址中拼錯了該插件,則會顯示正確的域名。

當您的用戶輸入「[email protected]」時,Mailcheck會建議 「[email protected]」。

MAILCHECK將獻上爲第二和頂級域名 過建議。例如,當用戶鍵入「[email protected]」時,將建議使用 「hotmail.com」。

同樣,如果只有第二級域出現拼寫錯誤,則將更新爲獨立於頂級域的 。

它被Dropbox,Lyft,Kickstarter,Khan Academy等使用。

相關問題