Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal,
Vi na internet um código para implementação de envio de e-mail com anexos e adaptei ao meu caso, pois preciso enviar de 0 à N anexos à ele. Segue o código abaixo. Realizei alguns testes e recebi os anexos tranquilamente, porém, em alguns servidores, eu recebo os anexos atrelados ao e-mail e logo abaixo da mensagem, aparece a descrição ou o arquivo codificado em base64. Isto pode ser um problema na minha codificação ou na configuração do servidor de e-mail?
Obrigada!
$headers = "From:$ds_de\r\nReply-To: $ds_de\r\nCC: $ds_cc\r\nBBC: $ds_cco\r\n";
$dir = "/email/pasta/nome_pasta";
if (file_exists($dir))
{
$abrir=opendir($dir);
$body_top = "--Message-Boundary\n";
$body_top .= "Content-type: text/plain; charset=UTF-8\n";
$body_top .= "Content-transfer-encoding: 7BIT\n";
$body_top .= "Content-description: Mail message body\n\n";
$msg_body = $body_top . $str_mensagem;
while($attach_name=readdir($abrir))
{
if (($attach_name!=".") && ($attach_name!=".."))
{
$attach_dir = $dir.'/'.$attach_name;
$file = fopen($attach_dir, "r");
$attach_type = filetype($attach_dir);
$contents = fread($file, filesize($attach_dir));
$encoded_attach = chunk_split(base64_encode($contents));
fclose($file);
$headers .= "MIME-version: 1.0\n";
$headers .= "Content-type: multipart/mixed; ";
$headers .= "boundary=\"Message-Boundary\"\n";
$headers .= "Content-transfer-encoding: 7BIT\n";
$headers .= "X-attachments: $attach_name\n";
$msg_body .= "\n\n--Message-Boundary\n";
$msg_body .= "Content-type: $attach_type; name=\"$attach_name\"\n";
$msg_body .= "Content-Transfer-Encoding: BASE64\n";
$msg_body .= "Content-disposition: attachment; filename=\"$attach_name\"\n\n";
$msg_body .= "$encoded_attach\n";
}
}
$msg_body .= "--Message-Boundary--\n";
$enviaEmail = mail($ds_para, stripslashes($ds_assunto), $msg_body, $headers);
}
else
{
...
}Carregando comentários...