Enviando email com anexo usando a função básica mail do PHP

image_pdfimage_print

Abaixo um exemplo de como enviar email com anexo utilizando a função básica mail do PHP.

//Edite as variáveis abaixo de acordo

//Quem vai receber o email
$to = "";

//Quem está enviando (Endereço a ser apresentado como da pessoa que está enviando)
$from = "";

//Assunto do email
$subject = '';

//Mensagem a ser enviada
$message = '';

//Diretório onde o arquivo a ser enviado está salvo
$path = "";

//Nome do arquivo anexo a ser enviado
$filename = "";


//Não altere nada deste ponto em diante

$headers = 'From: ' .     "$from\r\n" . 'Reply-To: ' . "$from\r\n";

$file = $path . "/" . $filename;
$file_size = filesize($file);
$handle = fopen($file, "r");
$content = fread($handle, $file_size);
fclose($handle);
$content = chunk_split(base64_encode($content));

// a random hash será necessário para separar conteúdos diversos a serem enviados
$separator = md5(time());

// Define o retorno de carro a ser utilizado
$eol = PHP_EOL;

// main header (multipart mandatory)
$headers = "From: name <test@test.com>" . $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;

// message
$headers .= "--" . $separator . $eol;
$headers .= "Content-Type: text/plain; charset=\"utf-8\"" . $eol;
$headers .= "Content-Transfer-Encoding: 8bit" . $eol . $eol;
$headers .= $message . $eol . $eol;

// attachment
$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 .= $content . $eol . $eol;
$headers .= "--" . $separator . "--";

//SEND Mail
if (mail($mailto, $subject, "", $headers)) {
   echo "Sucesso no envio do Email";
} else {
   echo "Erro! Não foi possível enviar o email solicitado";
}
Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!