<?php // criação do email $to = "destino@dominio.com"; $from = "remetente@dominio.com"; $subject = "Enviado dia".date('d_m_Y'); $message = "Segue em anexo o arquivo pedido."; // um hash randômico deve ser enviado com o conteúdo da mensagem $separator = md5(time()); // tipo carriage return (usamos em PHP a constante de fim de linha) $eol = PHP_EOL; // nome do anexo que aparecerá no email $filename = "arquivo_".date('d_m_Y').".txt"; // Abrindo o arquivo local para ser anexado $arq = fopen("arquivo.txt","r"); //Calculando o tamanho do arquivo fseek($arq,0,SEEK_END); $tamanho = ftell($arq); /* *Coloque aqui um tratamento limitando o tamanho *do arquivo, pois os emails possuem um limite máximo *para o tamanho do arquivo em anexo */ //Rebobiando o ponteiro do descritor do arquivo rewind($arq); //Carregando o arquivo para memório $doc = fread($arq,$tamanho); fclose($arq); // codificando os dados (colocando o anexo no formato correto) $attachment = chunk_split(base64_encode($doc)); // cabeçalho principal $headers = "From: ".$from.$eol; $headers .= "MIME-Version: 1.0".$eol; $headers .= "Content-Type: multipart/mixed; boundary=\"".$separator."\"".$eol.$eol; $headers .= "Content-Transfer-Encoding: 7bit".$eol; $headers .= "This is a MIME encoded message.".$eol.$eol; // mensagem $headers .= "--".$separator.$eol; $headers .= "Content-Type: text/html; charset=\"iso-8859-1\"".$eol; $headers .= "Content-Transfer-Encoding: 8bit".$eol.$eol; $headers .= $message.$eol.$eol; // anexo $headers .= "--".$separator.$eol; $headers .= "Content-Type: application/octet-stream; name=\"".$filename."\"".$eol; $headers .= "Content-Transfer-Encoding: base64".$eol; $headers .= "Content-Disposition: attachment".$eol.$eol; $headers .= $attachment.$eol.$eol; $headers .= "--".$separator."--"; // enviando a mensagem if (!mail($to, $subject, "", $headers)) echo "Erro ao enviar arquivo. Favor Contate seu administrador!"; else echo "Email enviado com sucesso!"; ?>
Leandro Santos
salvou minha vida
ResponderExcluir