我需要做一个get请求,这将反过来发送电子邮件。问题是,所有内容都在url中传递,包括html内容。我在这里面临两个问题:
我正在访问一个url,类似
email.php?to=to@to.com&from=from@from.com&subject=subject&html=urlencodedhtml
如果HTML内容不是那么长的话,这是有效的,我用它重写内容中的链接到其他一些urls,以支持跟踪。如何通过URL传递大字符串。
发布于 2013-08-26 23:40:53
使用GET请求将始终对传递给脚本的数据数量设置非常严格的限制。
根据客户端和服务器的不同,可以发送的数据量通常不超过8KB。大多数服务器支持8KB长度的URL。在客户端,MSIE和Safari只支持大约2 KB,Opera大约4 KB,只有Firefox处理8 KB。当然,对于您的用例来说,这还不够。
因此,我担心唯一可能的解决方案是做一个POST请求。
发布于 2013-08-26 23:56:38
请注意,安装了suhosin修补程序的PHP设置对于get参数的默认限制为512个字符。所以你的URl不支持如果用户提供龙的数据,虽然做法不好,对黑客来说是小菜一碟。
检查来源
为此,您可以使用POST,并可以接收第二个页面上的所有变量。
例如:
$to = 'abc@xyz.com';
$subject = 'Your subject here'
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: Your Site <abc@abc.com>' . "\r\n";
$message = 'Your Html goes here';
mail($to, $subject, $message, $headers );
https://stackoverflow.com/questions/18459484
复制