使用php mail()函数发送链接

时间:2015-04-19 17:42:23

标签: php email hyperlink

用户应该收到以下格式的电子邮件:----- 复制令牌:xxxxx并将其粘贴到此链接 ----- 我的代码:

$message="Copy the token:       ".
            token_generator(10)."       ".
            "And paste it in the link  "."<a href='recover_pass_get_mail.php'>Link</a>";

其中xxxxx由token_generator(10)函数返回。 但用户获取的格式代码是写的

4 个答案:

答案 0 :(得分:4)

好像你的电子邮件功能对html标签没有很好的反应,你可能在你的$header对象中遗漏了这个。

$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

读到这个, https://css-tricks.com/sending-nice-html-email-with-php/

它有很好的解释

答案 1 :(得分:2)

您应该考虑很多要点..您可以在以下示例代码中注意到它们:

<?php

$fromTitle = "From Title";
$emailFrom = 'example_from@gmail.com';
$emailTo   = 'example_to@gmail.com';
$token = token_generator(10);

$subject = "Password Recovery"; 
$message = "Copy the token: $token And paste it in the link <a href='recover_pass_get_mail.php'>Link</a>";
$random_hash = md5(uniqid(time()));

$header = "From: $fromTitle <$emailFrom>\r\n";
$header .= "Reply-To: ".$emailFrom."\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"".$random_hash."\"\r\n\r\n";
$header .= "This is token email.\r\n";
$header .= "--".$random_hash."\r\n";
$header .= "Content-type:text/html; charset=UTF-8\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";

@mail($emailTo, $subject, $message, $header);   


?>

答案 2 :(得分:1)

您的字符串中存在一些问题,但是,这里有几点需要考虑:

首先,您可能希望(仅作为练习)将token_generator(10)分配给脚本中的变量。

像这样的东西

$token = token_generator(10)

并将$token传递给脚本

其次,您在使用电子邮件中的字符串时遇到了一些问题。您不需要将链接包装在a href标签中(事实上,如果用户没有打开HTML电子邮件,那么这将是一个问题(许多人没有)。只需发布链接本身。< / p>

第三,为什么不将令牌附加到URL?这对用户来说是一个更容易的步骤。这是一个例子:

$message="Follow this link: http://(url)recover_pass_get_mail.php?token=$token";

然后你可以使用

从URL获取令牌
$_GET['token'];

答案 3 :(得分:0)

你试过吗?

$myToken = token_generator(10);
$message="Copy the token: $myToken And paste it in the link <a href='recover_pass_get_mail.php'>Link</a>";

DEMO