使用php电子邮件激活帐户

时间:2017-01-16 08:01:57

标签: php email

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

谢谢

1 个答案:

答案 0 :(得分:2)

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

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

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

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