使用 html 检索收件人的电子邮件地址
Posted
技术标签:
【中文标题】使用 html 检索收件人的电子邮件地址【英文标题】:retrieve the receiver's email address using html 【发布时间】:2014-03-11 23:15:28 【问题描述】:所以我发送了一封 html 电子邮件,它是一个邀请,我希望用户点击加入!如果他们想加入邀请,但我不知道如何检索他们的电子邮件地址。我只能得到多少“是”的点击,我看不到哪封电子邮件实际上说“是”。我怎样才能得到他们的电子邮件地址呢?除了为他们提供一个要求他们填写的文本字段之外。
有什么想法吗?谢谢:)
到目前为止我的 cade:
<html>
<body>
<form action="myserver.com" method="POST" target="_blank">
<input type="hidden" name="answer" value="yes"/>
<input type="submit" name="submit" value="Join!"/>
</form>
</body>
</html>
对于服务器端,我使用 php 来检索数据。从那里可以做些什么吗?据我所知,我不能在我的电子邮件中使用 PHP 或 JS。
【问题讨论】:
您使用哪种语言检索数据?您的服务器端(或 javascript)代码是什么样的? 您需要以编程方式添加一些标识,例如添加另一个隐藏字段,其中包含您用于当前电子邮件的电子邮件地址。但是,您不能将一封 HTML 邮件复制/粘贴给所有人。您可以使用编程语言和服务器吗? 对于服务器端,我使用 PHP 来检索数据。从那里可以做些什么吗?据我所知,我不能在我的电子邮件中使用 PHP。但是在服务器端,我正在使用它。我可以使用任何其他所需的语言,只要它能完成工作。有什么帮助吗? :) @x29a 至于电子邮件,只有 HTML。但是一旦表格发布,我就可以使用各种语言来检索数据。还有你建议的输入隐藏的东西,聪明!但是我也有 450 个人想发送这封电子邮件,所以是的 :( 【参考方案1】:既然提到了 PHP,为什么不通过编程方式发送电子邮件呢?
假设您有一个有效的 SMTP 配置(请参阅Local SMTP),所有电子邮件地址都在一个数组中,您可以在电子邮件中使用PHP 到send。
请参阅资源中的示例以获取 HTML 所需的特定标头
<?php
$email_addresses = array('foo@bar.tld', 'no@name.it');
// subject
$subject = 'Invitation';
// message
$message = '
<html>
<body>
<form action="myserver.com" method="POST" target="_blank">
<input type="hidden" name="answer" value="yes"/>
<input type="hidden" name="email" value="%placeholder%" />
<input type="submit" name="submit" value="Join!"/>
</form>
</body>
</html>
';
// To send HTML mail, the Content-type header must be set - general part of the header
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: Invitation <your_email@example.com>' . "\r\n";
// iterate over all email addresses
foreach ($email_addresses as $address)
// specific version of header
$header = $headers . 'To: ' . $address . ' . "\r\n";
// specific version of message
$msg = str_replace('%placeholder%', $address, $message);
// Mail it
mail($address, $subject, $msg, $header);
?>
与往常一样,有很多方法可以到达罗马,因此您也可以在邮件中输入一个链接,该邮件的电子邮件地址(或其他类型的 ID)为 GET 参数。
特别注意编码(ISO 与 UTF)。
此外,您的网络服务器将是电子邮件的发件人,因此如果地址与 FROM 字段不同,它可能会被垃圾邮件过滤器捕获。
让 PHP 的 mail() 函数工作可能有点棘手,但互联网上有很多解决方案,祝你好运!
【讨论】:
【参考方案2】:您必须将他们的地址作为参数放在 href url 中。这是找回它的唯一方法。
我不会费心把所有的 PHP 邮件代码放在这里,但是当你传递这样的东西时:
$address = "their.email@gmail.com";
$msg = '... <a href="http://yoursite.com?email='.$address.'">click here</a> ...'
mail($address, $subject, $msg, $header);
它将像这样在电子邮件中呈现:
<a href="http://yoursite.com?email=their.email@gmail.com">click here</a>
当他们点击它时,它会将参数发送到您的网页,您可以通过$_GET['email']
访问它
【讨论】:
以上是关于使用 html 检索收件人的电子邮件地址的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 R RDCOMClient 检索 Outlook 收件箱电子邮件?
使用 EWS for Exchange 2013 获取收件人电子邮件地址