Enviando Email com Anexo em php

Enviando Email com Anexo em php

Nesta video aula vou ensinar enviar um E-mail com anexo usando o PHP.

Espero que gostem desta video aula.

Abraços

Boa Aula

Enviando E-mail com Anexo

OBS: Este recurso não funciona corretamente em todos os servidores.
formulario-com-anexo.php
<?php

//verifica se o formulário foi acionado
if($_GET['acao'] == 'enviar'){

 //resgata o que foi enviado do formulário
 $nome = $_POST['nome'];
 $assunto = $_POST['assunto'];
 $mensagem = $_POST['mensagem'];
 $arquivo = $_FILES["arquivo"];

 //para quem vai ser enviado o e-mail
 $para = "seu-email@dominio.com.br";

 //boundary o que identifica cada parte da mensagem
 $boundary = "XYZ-".date("dmYis")."-ZYX";

 $fp = fopen($arquivo["tmp_name"], "rb"); //abri o arquivo enviado
 $anexo = fread($fp, filesize($arquivo["tmp_name"])); //pega sua largura
 $anexo = base64_encode($anexo); //codifica para base 64
 fclose($fp); //fecha a conexão

 //cabeçalho da mensagem
 $headers  = "MIME-Version: 1.0 n";
 $headers .= "Content-Type: multipart/mixed; ";
 $headers .= "boundary="$boundary" rn";
 $headers .= "$boundaryn";

 //corpo do email
 $corpoMSG  = "--$boundary n";
 $corpoMSG .= "Content-Type: text/html; charset="iso-8859-1" n";
 $corpoMSG .= "Content-Transfer-Encoding: 8bits nn";

 //mensagem enviada pelo formulário
 $corpoMSG .= "<strong>Nome: </strong> $nome <br> <strong>Mensagem: </strong> $mensagem rn";
 $corpoMSG .= "--$boundary n";
 //Anexo
 $corpoMSG .= "Content-Type: ".$arquivo["type"]."; name="".$arquivo['name']."" n";
 $corpoMSG .= "Content-Transfer-Encoding: base64 n";
 $corpoMSG .= "Content-Disposition: attachment; filename="".$arquivo['name']."" rn";
 $corpoMSG .= "$anexo n";
 $corpoMSG .= "--$boundary n";

 //envia o e-mail
 mail($para, $assunto, $corpoMSG, $headers);

 }

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Enviando email pelo PHP - LuizAzevedo.com.br</title>
</head>

<body>
<form action="?acao=enviar" method="post" enctype="multipart/form-data" name="form1" id="form1">
 <table width="500" border="0" align="center" cellpadding="0" cellspacing="2">
 <tr>
 <td align="right">Nome:</td>
 <td><input type="text" name="nome" id="nome" /></td>
 </tr>
 <tr>
 <td align="right">Assunto:</td>
 <td><input type="text" name="assunto" id="assunto" /></td>
 </tr>
 <tr>
 <td align="right">Mensagem:</td>
 <td><textarea name="mensagem" id="mensagem" cols="45" rows="5"></textarea></td>
 </tr>
 <tr>
 <td align="right">Anexo: </td>
 <td><input type="file" name="arquivo" id="arquivo" /></td>
 </tr>
 <tr>
 <td colspan="2" align="center"><input type="submit" value="Enviar" /></td>
 </tr>
 </table>
</form>
</body>
</html>