java - 如何验证用户是否点击了我发送给他/她的电子邮件中的链接?

标签 java email authentication

这是一个由 earlier posting here 触发的更有针对性的问题.我需要通过证明他/她可以访问它来验证用户的电子邮件地址。我在下方复制了您希望在加入开发者论坛或用户组时看到的通用电子邮件身份验证。作为注册过程的一部分,您需要提供您的电子邮件地址,然后您会收到一封电子邮件,要求您单击某些内容以验证您的电子邮件地址。

我需要对用户单击电子邮件中的链接时发生的任何情况进行编码。所以我的问题是——我该怎么做?

涉及哪些技术?谁能引导我完成这些步骤?我更喜欢 Java 或 Linux 脚本语言,例如 bash。更好的是,是否有任何为此目的开发的软件我可以安装在我的 Linux 服务器上并以某种方式集成它以与我的数据库对话?这在实践中是如何做到的?如果它已经可用,我不想重新发明它。

To confirm your email address of: 

youremail@yourdomain.net 

please send a short reply to this address: 

users-sc.1496854427.ckdpbmhncdlkjadkajfpecc-mylist=yourdomain.net@listdomain.com 

Usually, this happens when you just hit the "reply" button. 
If this does not work, simply copy the address and paste it into 
the "To:" field of a new message. 

or click here: 
mailto:users-sc.1496854427.ckdpbmhncdlkjadkajfpecc-mylist=yourdomain.net@listdomain.com  

This confirmation serves two purposes. First, it verifies that I am able 
to get mail through to you. Second, it protects you in case someone 
forges a subscription request in your name. 

Some mail programs are broken and cannot handle long addresses. If you 
cannot reply to this request, instead send a message to 
<users-request@listdomain.com> and put the 
entire address listed above into the "Subject:" line. 

最佳答案

在您的用户数据库中,您需要有一个暂存用户表(或者在主用户表中添加一个列来指示用户是否处于 Activity 状态并将指示器默认为“否”)。当用户首次注册时,您会根据用户的部分信息生成一个唯一的哈希码,例如在用户主键和名称(或可以通过解密取回的其他用户变量集)上使用 md5。将此哈希码作为您发送给用户的链接中的查询字符串参数。最后,当用户单击链接时,从查询字符串中获取哈希码,对其进行解密并将解密后的值与数据库中的用户行进行匹配。如果找到匹配项,则将“Activity ”指示器设置为 true,然后很快。或者,如果您使用临时表,则将用户记录移动到您用来进行授权的“Activity 用户”表。

关于java - 如何验证用户是否点击了我发送给他/她的电子邮件中的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10545507/

相关文章:

java - 如何使replaceAll在java中工作?

windows - 无法从 Windows 7 搜索结果中打开 Outlook 电子邮件

java - MimeMessageParser 无法从地址获取

authentication - 让纯 HTML/CSS/JS SPA 应用程序询问用户他的用户名/密码并将其传递给 ADFS?

java - 在 Java 中打印二进制值

java - 从 Firebase 存储中获取随机图像

用于将 double 的整数部分检索为 double 的 Java 类型转换

php - 我应该如何向长列表发送电子邮件? (PHP)

spring - 在微服务架构中,Auth Server 是否应该与 User Service 结合?

ruby-on-rails - 未定义的方法 `key?' 为 nil :NilClass