php - 通过电子邮件验证链接

标签 php mysql email activation

当用户使用 php 通过他们的电子邮件地址订阅我的时事通讯时,我如何通过电子邮件向他们发送“激活链接”以确认这是他们的电子邮件地址而不是假的。

所以现在我有

PHP:

<?php
 $to = "recipient@example.com";
 $subject = "Hi!";
 $body = "Hi,\n\nHow are you?";
 if (mail($to, $subject, $body)) {
   echo "<p>Message successfully sent!</p>";
  } else {
   echo "<p>Message delivery failed...</p>";
  }
 ?>

我想我会把 $body 改成这样:

$body = "Please click the link to activate your email \n
http://www.activationlink.com?";

我该如何做到,如果用户单击该链接,它会将他们的详细信息添加到 Mysql 数据库,以识别他们是合法订阅者?

感谢任何帮助或建议。谢谢

最佳答案

我喜欢做的是:

  • 在注册过程中生成一个唯一的随机 ID

  • 将 ID 与电子邮件地址、“已确认”字段(默认值:“否”)和任何其他数据一起存储在数据库表中

  • 发送带有指向激活唯一 ID 的 URL 的电子邮件(例如 domain.com/activate.php?id=102939505595

  • 激活页面检查唯一键是否存在,并将confirmed 字段更改为yes(或1 或其他)。

  • 此外,可选地,保存确认日期/时间、IP 地址和用户代理。

关于php - 通过电子邮件验证链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3237468/

相关文章:

php - 不包含PHPMailer函数

php - 我在 WordPress 中遇到水平滚动响应问题

php - 将 php 关联数组写入文本文件

php - 我可以在 PHP 中混合使用 MySQL API 吗?

php - 如何格式化带有前导零和千位逗号的数字?

email - 去smtp发邮件

php - php中的 session 深度很小

c# - 对象必须实现 IConvertible

php - 使用 Gmail API 获取 "From"和 "To"地址

java - 如何在应用程序内使用用户的电子邮件 ID 发送电子邮件(无 Intent )