首页 文章

使用php电子邮件激活帐户

提问于
浏览
-1

我正在创建一个可以创建帐户的网站 . 作为注册过程的一部分,我想向用户的电子邮件地址发送激活电子邮件 . 我当时认为这封电子邮件会包含用户点击的链接,该链接将激活帐户,问题是我不确定如何创建链接以及它如何工作 . 如何动态生成此链接以及如何激活帐户?

谢谢

1 回答

  • 2

    当您准备发送电子邮件时,在创建帐户后,您必须在数据库中添加一条记录来验证该帐户,该帐户应该包含该帐户的ID和激活字符串(我会生成10到15个字符)随机十六进制或字母数字字符串) . 无论是激活还是数字(或二进制)1或0,此记录也应该具有布尔值true或false . 在发送电子邮件之前将其设置为false . 在电子邮件中的链接中发送此激活字符串和帐户ID .

    对于您创建的任何链接,您将需要一个页面供他们使用,即activateaccount.php从该文件内部,您可以接收$ _GET参数,可能是$ _GET ['activation']和$ _GET ['帐户ID'] . 在此页面中,您将验证激活和account_id是否有效以及它们是否相互匹配 . 如果没有,那么脚本不应该尝试通过写入数据库来修复不匹配,因为这可能允许不期望的攻击 . 如果它们都有效且匹配,则可以激活该帐户 .

    正如Pingbeat建议的那样,去Swiftmailer吧 . 我之前在许多项目中都使用过它,并且可以确认它非常通用,快速,文档记录非常好并且非常容易使用 .

    我希望这个建议有所帮助 .

相关问题