我正在创建一个可以创建帐户的网站。作为注册过程的一部分,我想向用户的电子邮件地址发送一封激活电子邮件。我想这封电子邮件会包含一个链接,用户点击该链接就会激活帐户,问题是我不确定我将如何创建链接以及它将如何工作。我将如何动态生成此链接,它将如何激活帐户?
感谢
当你准备发送电子邮件时,在创建帐户后,你必须在数据库中添加一条记录来验证该帐户,其中应该包括该帐户的ID和一个激活字符串(我会生成一个10到15个字符的随机十六进制或字母数字字符串)。该记录还应该具有布尔值true或false,无论它是被激活的,还是数字(或二进制)1或0。在发送电子邮件之前将其设置为false。在电子邮件中的链接中发送此激活字符串和帐户ID。
对于您创建的任何链接,您都需要一个单独的页面供它们访问,即activatecount.php从该文件内部,您可以接收一个$_GET参数,可能是$_GET["activation"]和$_GET["account_id"]。在此页面中,您将验证activation和account_id是否都有效,以及它们是否相互匹配。如果没有,那么脚本不应该试图通过写入数据库来修复不匹配,因为这可能会导致不希望的攻击。如果它们都有效且匹配,则该帐户可能会被激活。
同样正如Pingbeat建议的那样,试试Swiftmailer吧。我以前在很多项目中都使用过它,我可以确认它用途非常广泛,速度非常快,文档记录非常好,而且非常容易使用。
我希望这个建议能有所帮助。