【发布时间】:2013-08-27 08:20:38
【问题描述】:
我需要发布到一个 URL,我正在使用 curl 执行此操作。但问题在于我发布的 HTML 内容。我正在使用我要求发送 html 电子邮件的此页面。所以它将具有内联样式。当我 urlencode() 或 rawurlenocde() 时,这些样式属性被剥离。所以邮件看起来不正确。我怎样才能避免这种情况并按原样发布 HTML?
这是我的代码:
$mail_url = "to=".$email->uEmail;
$mail_url .= "&from=info@domain.com";
$mail_url .= "&subject=".$email_campaign[0]->email_subject;
$mail_url .= "&type=signleOffer";
$mail_url .= "&html=".rawurlencode($email_campaign[0]->email_content);
//open curl request to send the mail
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count(5));
curl_setopt($ch,CURLOPT_POSTFIELDS,$mail_url);
//execute post
$result = curl_exec($ch);
【问题讨论】:
-
如果您正确使用 cURL POST,则不需要使用
urlencode()或rawurlenocde(),请出示您的代码。 -
与@l̕aͨŵƦȆ̴̟̟͙̞ͩ͌͝ƞCͭ̏ȇƇhƐȓ0nè 一起使用,您不需要对其进行编码。但是,即使您确实决定对其进行编码,也只需使用 decode 函数将 html 恢复为原始状态(例如 rawurldecode)
-
我现在已经添加了代码。但如果我不使用这些功能,我就会失去风格。我认为它在 POST 期间被剥夺了安全性或其他原因。如果我不使用这些,我会收到一封空邮件,因为页面正在使用 rawurldecode