我正在尝试向用户注册我的网站时向其发送包含确认码的电子邮件。电子邮件发送正常,但是当我输入完整长度的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以获得工作链接,但是当我这样做时,电子邮件不会发送。有什么想法吗?
答案 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>";