如何在用户注册期间检查拼写错误的电子邮件

时间:2010-03-15 20:54:04

标签: email registration

我在我的项目中使用电子邮件注册和确认(是的,我知道OpenID。在我的国家,主要的电子邮件服务缺乏它。)

有时用户拼错他们的电子邮件地址。由于邮箱中的“邮件无法发送”字母,我知道这一点。拼写错误的地址绝对正确,因为我用正则表达式检查它 - 比如 jon .doe @ example.com,而不是 john .doe @ example.com。我不想在注册表单中复制电子邮件字段(谁喜欢它?)。

请求处理例程不能等待电子邮件传递 - 可能需要一段不可预测的时间。因此,我的脚本将向用户返回确认消息“已发送电子邮件”。并且用户将永远等待它(原因,不是 - 他/她将转向具有更完善的注册系统的替代项目)。

有人知道如何改进它(用任何编程语言)?

5 个答案:

答案 0 :(得分:2)

如果您不能等待来自确认电子邮件的回复,我会显示确认其电子邮件的是/否消息框(即 发送电子邮件至jon.doe@example发送电子邮件之前.com? )。在你的时候,你可以查看电子邮件是否也是重复的。

如果未找到重复项,则单击“是”然后发送电子邮件。如果没有,请他们重新输入电子邮件地址。

使用这种方法,您已经超越了验证正确的电子邮件地址,因为没有明确检查正确/有效地址的服务。

答案 1 :(得分:1)

不幸的是,没有任何规范方法可以在电子邮件地址中拼写任何内容,也无法以编程方式检查拼写是否拼写正确。可以确认有效电子邮件地址正确性的唯一工具是Eyeball 1.0,它运行客户端。

答案 2 :(得分:1)

您可以尝试服务器上的SMTP VRFY,但大多数都不会回复任何有价值的内容。大多数人会简单地说“继续尝试”,因为返回有用的东西对垃圾邮件发送者来说是非常宝贵的。

答案 3 :(得分:1)

您始终可以使用DNS查找检查域名,但检查电子邮件地址的唯一方法是发送邮件。

尝试让用户使用电子邮件确认字段两次输入他的电子邮件(密码)。

编辑:安东尼的想法也很好。

答案 4 :(得分:0)

对于电子邮件的用户部分,我唯一能想到的就是使用:

  • MX查找(如果邮件提供商不阻止它们......因为可以滥用它来过滤电子邮件列表)
  • 要求用户输入两次电子邮件,以确保他不会拼错用户部分的电子邮件

至于电子邮件的域名部分,请看一下:

AngularJs directive to offer suggestions for misspelled emails?

它帮助我减少了像 gmai.com gmail.con 这样的拼写错误的反弹。