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

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

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

$my_headers .= 'From: MYSITE.com <[email protected]>' . "\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('[email protected]',$subject,$messagei,$my_headers,"[email protected]");

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
所以,当它出现时,神秘空间会出现在链接的不同点。

最佳答案

我有一个类似的空格问题,而且我的电子邮件来源中出现了奇怪的“!\n”。

这是因为线路很长。在邮件内容中添加一些“\n”可以解决问题。

关于php - PHP 生成的电子邮件中的不可预测行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7019449/

10-09 19:52