我该如何实现以下逻辑?
用户使用电子邮件地址注册
如果提供的电子邮件地址是有效的电子邮件地址则用户帐户被激活
或者如果是假电子邮件,则不会激活用户帐户
我怀疑我能抓住 - "发送失败的回复消息",对吗?无论如何你会建议实施上述逻辑?
PS.无论如何,我都必须找到一种方法,客户想要它=)
Tho*_*mas 10
您可能希望不仅确保电子邮件地址有效,而且还确保它属于此特定用户.通常的方法是发送带有链接的电子邮件.用户必须单击该链接才能激活该帐户.
例如,链接可能如下所示:
http://example.com/activate?token=bc59fb46c9a0a25346889e5ab336f11c
Run Code Online (Sandbox Code Playgroud)
其中token是您生成并存储在数据库中的随机字符串,链接到该帐户.activate然后页面后面的服务器端代码将激活该帐户.如果您token在一周之内没有获得此命中,则可以清理帐户和激活令牌.
添加回复您的评论...
另一种方法是启动SMTP连接,并尝试开始发送电子邮件.这类似于邮件服务器之间的回调验证.例如(<邮件服务器说的>是您的脚本可能发送的内容):
< 220 example.com ESMTP Postfix
> EHLO foobar.com
< 250 OK
> MAIL FROM: noreply@foobar.com
< 250 OK
> RCPT TO: johndoe@example.com
< 550 Recipient address rejected: User unknown in local recipient table
> QUIT
< 221 Bye
Run Code Online (Sandbox Code Playgroud)
这种方法存在几个严重的问题,这就是为什么它没有在实践中使用.其中大多数会导致错误接受的消息,有些会导致检查完全失败:
hotmail.com,几乎任何你能想象的地址都将被采用.另请参阅Postfix手册和维基百科上有争议的部分.我希望这份清单足以说服你的客户说他的问题没有很好的解决办法,并且他应该停止向你提出不可能的问题.
| 归档时间: |
|
| 查看次数: |
1042 次 |
| 最近记录: |