Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho um script padrao que envio anexo .... funciona normalmente em alguns servidores.. mas em um servidor .. não funciona.. ele até é enviado mas vem com o corpo criptografado.. suspeito que seja o charset.. mas ja tentei trocar e sempre fica com UTF8
exemplo:
$image_file = str_replace('..', '',$_FILES['arquivo']['name']); $extens = strtolower(end(explode('.',$image_file))); $fp = fopen($_FILES["arquivo"]["tmp_name"],"rb"); $anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"])); $anexo = base64_encode($anexo); fclose($fp); $anexo = chunk_split($anexo); $boundary = "XYZ-" . date("dmYis") . "-ZYX"; $corpo = "--$boundary\n";$corpo .= "Content-Transfer-Encoding: 8bits\n";$corpo .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; $corpo .= "$mensagem\n";$corpo .= "--$boundary\n";$corpo .= "Content-Type: ".filetype($arquivo)."\r\n";$corpo .= "Content-Disposition: attachment; filename=\"".$arquivo."\n";$corpo .= "Content-Transfer-Encoding: base64\n\n";$corpo .= "$anexo \n";$corpo .= "--$boundary--\r\n"; $headers = "MIME-Version: 1.0\n"; $headers .= "From: <$email>\r\n"; $headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n"; $headers .= "$boundary\n";
tentei trocar esta linha para ver se funcionava .. e NÃO funcionou...
$corpo .= "Content-Type: text/html; charset=\"UTF8\"\n\n";
a mensagem chega assim no corpo
XYZ-061120063617-ZYX
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: BASE64
LS1YWVotMDYxMTIwMDYzNjE3LVpZWApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0cwpD
b250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD0iSVNPLTg4NTktMSIKCmEgTWVuc2FnZW0g
ZmljYSBhcXVpCi0tWFlaLTA2MTEyMDA2MzYxNy1aWVgKQ29udGVudC1UeXBlOiBmaWxlDQpDb250
ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iL3Zhci93d3cvdmhvc3RzL2Zh
Agradeço a ajuda de todos...
T+
Carregando comentários...