小编Den*_*nis的帖子

PHP生成的电子邮件中不可预测的行为

这更像是一种好奇心.每当评论发布时,我网站上的评论系统都会自动生成一封电子邮件给我.它是批准评论的链接,以及拒绝评论的链接.

$my_headers = 'MIME-Version: 1.0' . "\n"; 

$my_headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n"; 

$my_headers .= 'From: MYSITE.com <ealert@mysite.com>' . "\n"; 

    $subject = "Comment Received";

    $messagei = "Comment from " . addslashes($_POST['commentName']) ." on ".addslashes($title)."." . "<br /><br />" .addslashes($commentCommment);

    $messagei .= "<br /><br />
        <strong>OPTIONS:</strong>

    <br /><br /><a href='http://www.MYSITE.com/edit/instaprove.php?Approve=Approve&commentid=".$lastID."'>

    <h2>http://www.MYSITE.com/edit/instaprove.php?Approve=Approve&commentid=".$lastID."</h2> (Approve Comment)</a>

    <br /><br /><br /><a href='http://www.MYSITE.com/edit/instaprove.php?Remove=Remove&commentid=".$lastID."'>

    <h2>http://www.MYSITE.com/edit/instaprove.php?Remove=Remove&commentid=".$lastID."</h2> (Delete Comment)</a>";

    mail('comments@mysite.com',$subject,$messagei,$my_headers,"-fealert@mysite.com");
Run Code Online (Sandbox Code Playgroud)

99%的时间它工作正常,但每隔一段时间,而不是正确生成批准链接,如

http://www.mysite.com/edit/instaprove.php?Approve=Approve&commentid=142631,

它会在其中生成一个空格,因此我在电子邮件中收到的链接会转到

http://www.mysite.com/edit/instaprove.ph%20p?Approve=Approve&commentid=142631

奇怪,不是吗?

编辑:澄清 - 当发生这种情况时,链接将在电子邮件中正确写出(.php),但它所链接的链接已损坏(.ph p).

编辑8/12:它再次发生了.链接文字是正确的:

http://www.mysite.com/edit/instaprove.php?Approve=Approve&commentid=142858

但链接呈现为

http://www.mysite.com/edit/%20instaprove.php?Approve=Approve&commentid=142858 …

html php email

4
推荐指数
1
解决办法
1001
查看次数

标签 统计

email ×1

html ×1

php ×1