Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde, amigos
Estou com problema no seguinte código para fazer o envio de email com anexo:
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST) && (!empty($_POST)))
{
$nome = $_POST['nome'];
$contato = $_POST['numeroContato'];
$email = $_POST['email'];
$comentario = $_POST['descricao'];
$arquivo = $_FILES["curriculo"];
$subject = "Uma mensagem de $nome";
$owner_email = "seu@email.com";
$boundary = "XYZ-".date("dmYis")."-ZYX";
$fp = fopen($arquivo["tmp_name"], "rb"); // abre o arquivo enviado
$anexo = fread($fp, filesize($arquivo["tmp_name"])); // calcula o tamanho
$anexo = base64_encode($anexo); // codifica o anexo em base 64
fclose($fp); // fecha o arquivo
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed; ";
$headers .= "boundary=".$boundary."\r\n";
$headers .= "$boundary\n";
$mensagem = "--$boundary\n";
$mensagem .= "Content-Type: text/html; charset='utf-8' \n";
$mensagem .= "<strong>Nome</strong> $nome \r\n";
$mensagem .= "<strong>Número para contato</strong> $contato \r\n";
$mensagem .= "<strong>Número para contato</strong> $email \r\n";
$mensagem .= "<strong>Comentário</strong> $comentario \r\n";
$mensagem .= "--$boundary \n";
$mensagem .= "Content-Type: " .$arquivo["type"]. "; name=\"\" " .$arquivo['name']. " \n";
$mensagem .= "Content-Transfer-Encoding: base64 \n";
$mensagem .= "Content-Disposition: attachment; filename=\"\" " .$arquivo['name']. " \r\n";
$mensagem .= "$anexo \n";
$mensagem .= "--$boundary \n";
try {
if(!mail($owner_email, $subject, $mensagem, $headers))
{
throw new Exception('mail failed');
}
else
{
header("Location: ../index.php");
}
} catch (Exception $e) {
echo $e->getMessage();
}
?>
O email é enviado e é recebido sem problemas pelo servidor, mas ao verificar a mensagem a mesma está vazia, inclusive sem o anexo.
O que poderia ser?
Carregando comentários...