如何创建随机令牌,以便将邮件链接连接到令牌


How do I create random token so that a mail link can be concatenated to the token

我有一个带有快速轮询的表单需要回答。我想做的是将这一张表格发送给多个收件人,这就是为什么我通过电子邮件发送链接,这样当收件人访问链接时,收件人就可以回答调查,并且答案会保存到与其电子邮件相关的数据库中的表中。

我无法使链接等于他们的电子邮件地址,因为理论上收件人可以访问另一个收件人投票,这就是我想添加随机令牌的原因。

我希望能够将随机令牌链接到邮件地址。

例如
而不是:
www.example.com/poll/aidan@example.com
我可以得到:
www.example.com/poll/randomToken

// multiple recipients
$to  = 'aidan@example.com' . ', ';
$to .= 'wez@example.com';
// subject
$subject = 'Quick Poll';
$lToken = $link.$token;
// message
$message = $lToken;

$headers  = 'MIME-Version: 1.0' . "'r'n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "'r'n";
// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "'r'n";
$headers .= 'From: me <myMail@example.com>' . "'r'n";
$headers .= 'Cc: myMailArchive@example.com' . "'r'n";
$headers .= 'Bcc: myMailCheck@example.com' . "'r'n";
// Mail it
mail($to, $subject, $message, $headers);
?>

您可以使用php使用函数uniqid创建一个Unique Id字符串http://php.net/manual/en/function.uniqid.php

创建一个数据库表,其中包含列电子邮件和唯一id,以便将它们之间的映射保存在数据库中。

向用户发送链接时,使用发送

www.example.com/poll/uniqid

并在服务器上使用sql查询查找来自uniqeid的电子邮件。