php - 问卷调查、推荐电子邮件添加

标签 php email email-client

我们需要向客户发送一份调查问卷。我已经这样做了,并且正在发挥作用。

它的作用:

  • 我通过电子邮件发送链接
  • 我的客户打开电子邮件中的链接
  • 他们填写;最后
  • 这个小脚本将他们的响应发送回给我。

我遇到的问题是我想知道哪个客户回复了我的调查问卷?我尝试了所有 $_SERVER 变量,但找不到电子邮件地址。

我担心如果我在调查问卷中询问用户的电子邮件地址,他们可能会给我一个假地址。

如何可靠地获取他们的电子邮件地址?

最佳答案

您需要为通过电子邮件发送的每个链接使用唯一标识符。

例如,您可以创建数据库表,其中每封邮件都分配给一个 ID。像这样。

+-----+-------------------+
|  ID |  Mail             |
+-----+-------------------+
|  1  | <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6436050a000b092409050d084a070b09" rel="noreferrer noopener nofollow">[email protected]</a>   |
|  2  | <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="f5949b9a819d9087b59298949c99db969a98" rel="noreferrer noopener nofollow">[email protected]</a> |
+-------------------------+

现在您可以从数据库中获取所有邮件,循环遍历它们的数组并为每个邮件生成链接,其中将在数据库中对 ID 的 GET 引用中(因此您不必使用真实的电子邮件地址在链接中)。

链接看起来像 myaddress.com/form.php?id=1 并且与给定邮件对应的 ID 将位于 $_GET["id"]


注意#1,在使用 $_GET["id"] 识别邮件之前,您应该明确检查是否存在可能的 SQL 注入(inject)。

注意#2,从用户角度来看,在地址中使用 id 而不是完整的用户邮件会更好,因此它不会像数字和 id 那样引起那么多关注,因此用户不会尝试以此进行赌博。

关于php - 问卷调查、推荐电子邮件添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29817999/

相关文章:

php - 计算javascript中用户名和电子邮件之间的差异

电子邮件中的 HTML <base> 标记

email - IE9 中损坏的 URL 参数

PHP 与 PayPal IPN 集成返回空 POST 数据

php - 忽略 PHP streamcontext/curl/soap 中的弱 SSL 算法

python - 使用 Python 和 poplib 获取电子邮件

PHP 目标 iframe 并给它一个 ?cat

php - 无法显示使用 PDO 查询的结果

php - 从 php/mysql 插入中删除\