每当我通过 PHP(由 jQuery、AJAX 到 PHP 生成的内容)发送邮件POST
时,到达目的地时 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>
看起来像这样:
点击这里进入登录页面等等。
如果上述方法不起作用,请使用此链接或将其复制到浏览器的地址栏: http ://www.example.com/?u=parameter&i=otherparameter
但是,接收者得到相同的文本,只是没有链接的基本 URL。
的链接Click HERE
只有 的 URL,/?u=parameter&i=otherparameter
其他链接也是如此,但该链接的文本很好。所以它会转到打开邮件的页面并在那里附加参数。它看起来像这样:
点击这里进入登录页面等等。
如果上述方法不起作用,请使用此链接或将其复制到浏览器的地址栏: 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: <noreply@example.com>" . "\r\n" .
"X-Mailer: PHP/" . phpversion();
mail($to, $subject, $message, $headers);