向用户发送确认电子邮件

时间:2013-03-27 20:40:26

标签: php mysql email

我正在尝试向用户注册我的网站时向其发送包含确认码的电子邮件。电子邮件发送正常,但是当我输入完整长度的URL时,邮件不会发送

在这里,您可以看到我正在使用的代码:

    $message = 'You have recieved this email because you have signed up to Amped. To complete the registration process, please
click on the link below. <br/> <a href=confirm.php?code=' . $row['emailcode'] . '>Click here to complete registration</a>'

我需要在confirm.php之前输入完整的URL以获得工作链接,但是当我这样做时,电子邮件不会发送。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

您正在发送相对路径。您需要使用urlencode

将整个路径发送到该文件
$message = '<a href="' . urlencode("http://www.example.com/confirm.php?") . $row['emailcode'] . '">';

答案 1 :(得分:0)

你缺少引号:

 $message = 'You have recieved this email because you have signed up to Amped. To complete the registration process, please click on the link below. <br/> <a href="confirm.php?code=' . $row['emailcode'] . '">Click here to complete registration</a>'

答案 2 :(得分:0)

你应该确保清理那个url变量,编码它以便安全地使用url,然后在confirm.php中解码它。直接将db值回显到url中并不是一个好主意。 urlencode()是一个很好的解决方案。如果没有这样做,会导致网址破坏,并且扩展到你的脚本。

$code = urlencode($row['emailcode']);

$msg = "stuff.. <a href='http://www.example.con/confirm.php?code=". htmlentities($code) ."'>Click here</a>";