如何通过发送的电子邮件捕获电子邮件地址或姓名

时间:2014-03-11 07:38:43

标签: javascript php jquery html email

如果我向某人发送电子邮件,并且电子邮件底部是链接。

让我们说链接是click me

当用户点击此链接时,他将被带到网页。

此网页将显示"Thank you",网页名称将显示thanks.php

如何在此网页的电子邮件中显示点击此链接的人的姓名(或电子邮件)?

即。当他点击电子邮件中的链接并转到网页thanks.php时,他怎么能看到该消息:

  

“谢谢Amit Gupta”

  

“谢谢你amit00000000@fmail.com”

而Amit Gupta和/或amit00000000@fmail.com将从他点击此链接的电子邮件中删除。

如果你提供这个问题的答案,我将不胜感激。

提前多多感谢。

4 个答案:

答案 0 :(得分:3)

发送电子邮件时:

  • 生成唯一标识符
  • 将其放入链接中(例如,在网址的查询字符串中)
  • 将其与名称一起存储在数据库中

点击链接时:

  • 在数据库中查找id
  • 获取您存储的数据
  • 将该数据输出到页面

答案 1 :(得分:0)

在您从系统向用户发送电子邮件之前,您将在整个用户的数据库中维护该邮件的跟踪ID,此跟踪ID可以是

$tracking_id = md5($uid . time());

$uid -> is the user_id

在链接中,您将此tracking_id添加为查询参数,因此当用户单击该链接时,您可以搜索此tracking_id并在数据库中查找此链接所在的用户。

示例网址:http://abcd.com/thankyou.php?tracking_id=12352342345

然后,您可以显示所需的用户详细信息,以及您可以捕获点击详细信息并将此电子邮件视为已读电子邮件。

答案 2 :(得分:0)

你应该尝试这样的事情,但你必须根据自己的需要进行补充。

register.php: (或其他)

<?php
$id = uniqid();
$link = 'linktoyourfile/thanks.php?id=' . $id;

// TODO: save $id in a database in relation with the email of your user
//        and then send the $link variable to the given email address.

/*
   //Something like this:

   $subject = 'Subject';
   $message = '<a href="'.$link.'">Click here to activate or what ever</a>';
   $header  = 'MIME-Version: 1.0' . "\r\n";
   $header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
   $header .= 'To: ' . 'His Name <' . $mail . '>' . "\r\n";
   $header .= 'From: Your Name <your@email.com>' . "\r\n";
   mail($mail, $subject, $message, $header);
*/
?>

<强> thanks.php:

<?php
if (isset($_GET['id'])) {
   $id = $_GET['id'];
   // TODO: read the email from the database with the $id variable
   //        and set it to the $email variable
   echo 'Thank you '. $email;
}
?>

答案 3 :(得分:-1)

点击该链接解析电子邮件文本以获取发件人电子邮件,并将其作为参数发送给GET请求。