我在消息正文中有一个链接
的链接page.php?id=x&name=y
当我使用php的邮件功能发送邮件时
它将链接(在gmail中,如果重要的话)输出为page.php/?id=x&name=y
,即它在get参数"id"
前面加上正斜杠。我最终会进行URL
重写,但我很好奇如何在不重写URL的情况下阻止PHP
中的这种情况发生?
由于
修改
以下是相关的代码部分:
// $send_email and $rec_email are grabbed from database
$part_mess = "<b>$sender_name". " says hi</b><br/><a href=profile.php?id=$sender_id&uname=$sender> View $sender_name"."'s profile</a>" ;
$mess = $part_mess."<br/> Via <a href = 'http://www.mysite.com'>My Site</a>";
$headers = "MIME-Version: 1.0" . "\r\n"."Content-type:text/html;charset=iso-8859-1" . "\r\n".'From:'. $send_email . "\r\n";
mail($rec_email, $subject,$mess,$headers , '-f admin@name.mysite.com');
答案 0 :(得分:0)
我遇到了同样的问题,您是否使用1and1.com进行托管?出于某种原因,我与他们一起托管的网站是mail()函数,它使用正斜杠转义所有特殊字符。
试试这个:
// $send_email and $rec_email are grabbed from database
$part_mess = "<b>$sender_name". " says hi</b><br/><a href=profile.php?id=$sender_id& uname=$sender> View $sender_name"."'s profile</a>" ;
$mess = $part_mess."<br/> Via <a href = 'http://www.mysite.com'>My Site</a>";
$headers = "MIME-Version: 1.0" . "\r\n"."Content-type:text/html;charset=iso-8859-1" . "\r\n".'From:'. $send_email . "\r\n";
mail($rec_email, $subject,stripslashes($mess),$headers , '-f admin@name.mysite.com');