2012-02-12 145 views
1

我如何验证现有的电子邮件地址。如何验证YMail,Gmail等电子邮件地址是否存在?

在注册系统中,当用户输入电子邮件地址时,它会检查电子邮件地址是否存在于Ymail/Gmail中。

我已经有一个正在运行的域(用于练习)。

你有我的问候。

+0

您是否在问如何测试用户输入的地址是否属于_ user_,或者它是否存在? (为什么Ymail/Gmail专门?) – nnnnnn 2012-02-12 05:39:18

+0

如果Emaill地址存在与否。我想知道如何检查电子邮件地址是否存在。 – 2012-02-12 07:08:06

回答

1

SMTP提供VRFY和EXPN动词来检查帐户或邮件列表是否存在。但是,大多数服务器管理员从邮件配置中禁用这些动词,以防止黑客利用用户列表。据说Gmail和雅虎禁用了VRFY。

您可以尝试使用这些服务器的另一个选项是通过电子邮件向用户发送链接以确认其电子邮件地址。诚然,它不如实时电子邮件验证性感,但对于所有各方来说它更安全。

2

回到当天,您可以轻松验证电子邮件地址。然后垃圾邮件发送者就出现了。现在,您可以确认电子邮件地址的唯一方法是尝试向其发送内容并检查是否有反弹。即使如此,缺乏反弹并不意味着它存在 - 它可以简单地被默默删除,忽略,垃圾邮件过滤到遗忘等,...

基本上,你想要的是不可能的 - 任何这样的系统可以简单地帮助垃圾邮件发送者锤入更多的俄罗斯新娘,并在穿着假劳力士时弹出阴茎丸。

4

大多数注册系统通过向其发送电子邮件来验证电子邮件地址,并在其中包含一个唯一编码的URL,并要求用户获取该电子邮件并单击该链接。当您的服务器发现链接已被点击时,您知道电子邮件地址被访问。

下面是它是如何工作的基本流程图:

  1. 用户进入你的网站
  2. 用户开始注册和在他们的电子邮件地址填写
  3. 服务器会检查电子邮件地址是合法的和适当的形式,并且尚未注册
  4. 如果用户注册的其余部分看起来不错,然后电子邮件地址看起来合法,服务器将在您的系统中创建一个帐户并置于“未验证”状态。
  5. 然后,生成对应于该特定用户的代码。该代码被放到一个URL中,并且该URL被放入发送到用户输入的电子邮件地址的电子邮件中。
  6. 用户收到带有说明的电子邮件,点击附上的链接。
  7. 用户检索电子邮件并点击链接。
  8. 您的服务器收到来自该链接的网络请求。它解析出URL中的代码并检查代码是否与处于“未验证”状态的帐户相匹配。如果是这样,并且该账户没有因发送电子邮件过去的时间过期而过期,则该账户被置于“已验证”状态并准备好使用。

这个系统的基本理念是,如果你可以检索发送到该电子邮件地址的电子邮件,则电子邮件地址必须是有效的和工作电子邮件地址和您的用户,必须能够访问电子邮件地址(这不只是一些随机的电子邮件地址)。

+0

类似的解决方案,但不需要注册未经验证的电子邮件地址:http://stackoverflow.com/a/3795010/398242 – 2012-02-12 05:41:31

+0

@Madmartigan - 有些网站希望在验证电子邮件地址之前允许一些特权,这需要实际注册未经验证的电子邮件地址在他们被验证之前,以便用户有权获得一些特权。或者,如果注册过程中需要其他注册状态,那么也需要将其存储在某个地方(如密码散列,兴趣爱好等),并且出于安全原因,这可能不希望被发送在验证邮件中。 – jfriend00 2012-02-12 05:45:33

+0

是的,另一种解决方案也会中断注册过程,这并不总是令人满意 - 另外您可能会对未经验证的帐户数据感兴趣。 – 2012-02-12 05:48:48

0

实际上无法验证垃圾邮件数量不断增加的电子邮件地址。

现在人们发送邮件到用户输入的电子邮件地址来完成注册或激活帐户。你可以做到这一点,是一个更安全的方法。您可以在线找到许多资源来实现此功能。

相关问题