.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。出于安全考虑,这样更好。