所以我发送的是一封邀请函的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。
答案 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']