我有一个PHP脚本:) 用户注册基本上会收到一封电子邮件,然后单击激活链接。当他们点击激活链接时,会将他们带到activate.php页面并完成所有操作。 他们收到的电子邮件中的链接问题似乎是
Hello username,现在这里是您的登录信息:
用户名:计算
密码:计算
下一步是点击此链接激活您的帐户:点击此处 < / p>
您可以在上面的最后一行看到,该网站的名称已加入该链接应该带到的activate.php页面。因此,我猜测我的错误并不是那么糟糕,我只是缺少正斜杠或类似的东西。 无论如何,我认为问题来自下面的代码。我尽可能地缩短了代码。
<?
// send email
$myname = $contact_name;
$myemail = $contact_email;
$contactname = $signup[fname];
$contactemail = $signup[email];
$message = "Hello ".$signup[fname].",<BR>".
"Get ready to start getting the hits you deserve. Now here is your login info:<BR> <BR>".
"username: ".$signup[username]."<BR>".
"password: ".$signup[password]."<BR><BR>".
"<B>The next step is to click on this link to activate your account:<a href=".$siteUrl."activate.php?username=".$signup[username].">CLICK HERE</a></b>";
$subject = $title;
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: ".$myname." <".$myemail.">\r\n";
$headers .= "To: ".$contactemail." <".$contactemail.">\r\n";
$headers .= "Reply-To: ".$myname." <".$myemail.">\r\n";
$headers .= "X-Priority: 1\r\n";
$headers .= "X-MSMail-Priority: High\r\n";
$headers .= "X-Mailer: Just My Server";
mail($contactemail, $subject, $message, $headers);
$signup[username] = "";
?>
如果有人能够对此有所了解,那将是件好事。以为我只会提到我使用的是PHP 5.3 我认为自己的问题来自于 href =“。$ siteUrl。”activate.php?username =“。$ signup [username]。”&gt;点击这里“; $ subject = $ title;
但我需要一些知道的人的有效输入:)。
答案 0 :(得分:2)
您的消息中需要“a”和“href”之间的空格。
此外,所有现代电子邮件客户端都会自动将URL转换为链接,因此可能根本不需要使用href标记。
答案 1 :(得分:0)
我注意到你分配了你使用过的链接。$ siteUrl。你真的设置了那个变量吗?
此外,由于您将来自外部来源(电子邮件托管网站),因此将您的链接“硬编码”为完整的网站地址也同样合适。例如:
<a href="http://www.yourwebsite.com/yourdirectories/activate.php?username=".$signup[username].">Click Here</a>
因此,您的消息值的值可能是。
$message = "Hello ".$signup[fname].",<BR>".
"Get ready to start getting the hits you deserve. Now here is your login info:<BR> <BR>".
"username: ".$signup[username]."<BR>".
"password: ".$signup[password]."<BR><BR>".
"<B>The next step is to click on this link to activate your account:<a href='http://www.yourwebsite.comactivate.php?username=".$signup[username]."'>CLICK HERE</a></b>";
你应该没有双斜线的问题,但如果你有问题可以使用:
$message = "Hello ".$signup[fname].",<BR>".
"Get ready to start getting the hits you deserve. Now here is your login info:<BR> <BR>".
"username: ".$signup[username]."<BR>".
"password: ".$signup[password]."<BR><BR>".
"<B>The next step is to click on this link to activate your account:<a href='http:/"."/www.yourwebsite.com/activate.php?username=".$signup[username]."'>CLICK HERE</a></b>";
答案 2 :(得分:0)
因为它在字符串里面你需要逃避它们或使用单引号。
这是一个固定版本:
$message = "Hello ".$signup[fname].",<br>".
"Get ready to start getting the hits you deserve. Now here is your login info:<br> <br>".
"username: ".$signup[username]."<br>".
"password: ".$signup[password]."<br><br>".
"<b>The next step is to click on this link to activate your account:
<a href='".$siteUrl."activate.php?username=".$signup[username].'>CLICK HERE</a></b>";