每當我通過PHP發送郵件(由jQuery生成的內容,AJAX POST
發送到PHP)時,到達目的地時URL的底部會丟失。當通過PHP發送郵件時,鏈接URL基本消失
因此,舉例來說,我發郵件用了以下機身:
Click <a href="http://www.example.com/?u=parameter&i=otherparameter">HERE</a> to go to the login page, etc, etc..
Use this link or copy it to your browser's address bar if the above doesn't work:
<a href="http://www.example.com/?u=parameter&i=otherparameter">http://www.example.com/?u=parameter&i=otherparameter</a>
,看起來像這樣:
點擊HERE去到登錄頁面,等等,等等。
如果以上不起作用,請使用此鏈接或將其複製到瀏覽器的地址欄中: http://www.example.com/?u=parameter&i=otherparameter
但,接收端收到的相同文字,只是沒了聯繫基地網址..
的Click HERE
鏈路具有唯一/?u=parameter&i=otherparameter
的URL,這同樣適用於其他鏈接,但該鏈接的文字很好。所以它進入郵件打開的頁面並在那裏添加參數。它看起來像這樣:
點擊HERE去到登錄頁面,等等,等等。
使用此鏈接或將其複製到瀏覽器的地址欄,如果上述方法無效: http://www.example.com/?u=parameter&i=otherparameter
正如您所看到的,該鏈接將被定向到stackoverflow.com
而不是example.com
。發生什麼事情,無論是jQuery,AJAX或PHP剝離我的HTML,還是客戶端問題?
(經測試,在FF15/Chrome20/IE8,jQuery的V1.7.2,PHP v5.3.5)
編輯
這是我如何發送郵件使用PHP:
$to = $_POST['t'];
$subject = $_POST['s'];
$message = $_POST['m'];
$headers = "MIME-Version: 1.0" . "\r\n" .
"Content-type: text/html; charset=iso-8859-1" . "\r\n" .
"From: <[email protected]>" . "\r\n" .
"X-Mailer: PHP/" . phpversion();
mail($to, $subject, $message, $headers);
你怎麼樣在發送之前知道身體是什麼樣的?在發送給'mail()'之前,你檢查過'$ message'的值了嗎?您是否使用過Chrome或Firefox的開發工具來查看發送到服務器的內容? – rexmac
你檢查過htaccess文件嗎?也許它已被設置在htaccess重定向文件 – bungdito