.net 如何向用户发送电子邮件确认链接
我正在开发一个网站,当用户注册时,我需要向其电子邮件帐户发送确认链接 当用户单击此链接时,数据库中的字段.net 如何向用户发送电子邮件确认链接,.net,asp.net,vb.net,confirmation-email,.net,Asp.net,Vb.net,Confirmation Email,我正在开发一个网站,当用户注册时,我需要向其电子邮件帐户发送确认链接 当用户单击此链接时,数据库中的字段userEnable将从“false”更改为“true” 当用户单击“注册”按钮时,如何向用户发送确认电子邮件 当用户单击此确认链接时,UserEnable字段如何从“false”更改为“true” 我使用asp.net 4.0和VB.net作为语言,使用SQL Server 2008作为数据库。用户 ID |用户名|电子邮件|用户启用 发送电子邮件支票 收到确认链接后,您将根据电子邮件字段进
userEnable
将从“false”更改为“true”
当用户单击“注册”按钮时,如何向用户发送确认电子邮件
当用户单击此确认链接时,UserEnable
字段如何从“false”更改为“true”
我使用asp.net 4.0和VB.net作为语言,使用SQL Server 2008作为数据库。用户
ID |用户名|电子邮件|用户启用
发送电子邮件支票
收到确认链接后,您将根据电子邮件字段进行查找,并将其相应的UserEnabled设置为true。如果您使用ASP.NET内置的成员资格控件,则可以使用 属性的 MailDefinition属性返回一个 对一组属性的引用 用于定义格式和 发送的电子邮件的内容 发送给新用户。常见设置 包括主题行和 寄件人的回信地址
首先,您应该在数据库中创建一个表User,其列类似于数据库中的
Active=false
(1位数据库字段类型)。
然后,在用户创建了他的帐户之后,您应该向他发送一个包含用户激活guid的查询字符串的激活链接。
比如:
请在激活您的帐户
www.mysite.com?id=21EC2020-3AEA-1069-A2DD-08002B30309D
在确认页面,您将检查此查询,如
var id = Response.QueryString["id"]
if (id!= null) userBL.ActivateUser(id);
ActivateUser()方法将字段更新为true,并发送电子邮件确认。.NET 4 Framework
观看此视频,了解如何操作
nemke发布的答案很好,但我的做法略有不同,我觉得它更安全,可以防止将来的变化。在数据库中创建用户记录时,我会在每个用户记录中创建两个额外的字段进行确认 类似于每个用户的以下字段:
userID: getUniqueUserID()
confirmed: false,
confirmCode: getRandomUUID()
对于每个记录,confirmCode
与唯一的userID
分开保存,并且仅当电子邮件发送到注册中使用的地址时才应使用。然后我发送一个URL,如下所示:
然后,您可以从服务器端获取查询字段,并使用
id
根据唯一的userID
查找特定的用户记录,确保c
字段与记录中的confirmCode
匹配,然后将confirmed
字段设置为true,并将特定用户的记录保存在数据库中。你希望这里的人只给你一个完整的解决方案这一事实不会被接受。我同意guid不应该是用户ID,而是一个附加的guid。出于安全考虑,这样更好。