使用html检索接收者的电子邮件地址

时间:2014-02-13 07:47:23

标签: php html email html-email inbox

所以我发送的是一封邀请函的HTML电子邮件,我希望用户点击加入!如果他们想加入邀请,但我不知道如何检索他们的电子邮件地址。我只能听到有多少“是”,我看不出哪些电子邮件实际上是肯定的。我怎样才能获得他们的电子邮件地址?旁边为他们提供一个文本字段,要求他们填写。

有什么想法?谢谢:))

我的目标到目前为止:

<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。

2 个答案:

答案 0 :(得分: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);
}
?>

与往常一样,罗马有很多方法,因此您也可以在邮件中输入一个链接,其中包含GET参数的电子邮件地址(或其他类型的ID)。

特别注意编码(ISO与UTF)。

此外,您的网络服务器将成为电子邮件的发件人,因此如果地址与FROM字段不同,它可能会被垃圾邮件过滤器捕获。

让PHP的mail()函数起作用可能有点棘手,但互联网上充满了解决方案,祝你好运!

答案 1 :(得分:1)

您必须将他们的地址作为参数放在href网址中。这是将其取回的唯一方法。

我不打算把所有的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']

访问该网页