這比任何事情都更令人好奇。我的網站上的評論系統會在發佈評論時自動生成一封電子郵件給我。它是批准評論的鏈接,也是拒絕評論的鏈接。時間PHP生成的電子郵件中的不可預知的行爲
$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
所以,當它出現時,神祕的空間顯示在連接不同百分點。
不奇怪,但不可能爲那個代碼。 – zerkms
我同意你的看法,除了發生這種事情之外,不可能的事情不止一次。 – Dennis
考慮到郵件客戶端也傾向於混淆電子郵件的內容:)嘗試在多個郵件客戶端上進行測試......並且,請嘗試在文本文件中記錄電子郵件正文,以便您可以查看發送內容和接收的內容 – Catalin