sql-server - 如何通过存储过程在电子邮件中生成激活链接
问题描述
我想要一种验证电子邮件的方法,以免阻塞我们的队列。目标是当用户完成帐户设置后,需要验证电子邮件。我的想法是创建一个存储过程,该过程将向用户发送一封电子邮件,其中包含链接或其他内容,以验证电子邮件是否已发送并打开。
我感到困惑的是如何生成此链接。
在我的一个存储用户的表中,我添加了一个名为“isActive”的列,其类型为 BIT 并设置为 0。目标是电子邮件具有一个链接,一旦单击该链接,就会将“isActive”列从 0 翻转到 1 ,这将验证电子邮件是否已正确到达。
我希望当用户输入完他的信息后,存储过程将发送一封电子邮件,通过单击激活链接来验证电子邮件是否正确。
解决方案
根据上面的评论说明,我认为您希望将一列设置为 GUID(或添加新列)。这些链接将提供有关如何以及为什么这样做的一些详细信息,但简短的版本是您可以保证连接键是不可猜测的并且始终是唯一的。通过 UNIQUEIDENTIFIER DEFAULT NEWID() 将列设置为具有默认 GUID 值,它将为您可以在代码的其他部分中使用的每个新行创建一个新 ID。
http://www.sqlservertutorial.net/sql-server-basics/sql-server-guid/
https://www.sqlshack.com/understanding-the-guid-data-type-in-sql-server/
推荐阅读
- angular - TypeError:未定义不是对象(评估“parentOutlet.peekState”)
- java - 运行 javafx 应用程序时在后台播放 mp3 文件
- spring-amqp - Spring AMQP 有没有办法设置所有虚拟机的最大消费者数量?
- python - 在 requirements.txt 中安装模块失败,因为找不到在那里定义的另一个模块
- haskell - 为什么某些函数调用在没有类型应用程序的情况下无法工作?
- php - Solr+Php 的查询语法
- jsf - 如何在 JSF/PrimeFaces 的数据表中动态禁用/启用命令按钮
- r - 根据 data.frame 中特定字符的位置替换空单元格
- javascript - 使用新的 retrieveMultipleRecords 从 fetchXml 获取结果(客户端 API 参考)
- .net - 如何与 dockerized .net 核心控制台应用程序通信?