Ir para conteúdo
HélioSan

Mail com anexo não funciona

Recommended Posts

O script abaixo funciona normalmente quando o e-mail é recebido pelo google mail. Agora quando o e-mail é do yahoo ou da microsoft, a mensagem é recebida, porém o anexo dá erro ao baixar. O que pode estar ocorrendo ? o código está errado ?

 

<?php


$nome = filter_input(INPUT_POST,'nome');
$email = filter_input(INPUT_POST,'email');
$msg = filter_input(INPUT_POST,'msg');
$arquivo = $_FILES['arquivo'];



$arquivo_nome = $_FILES['arquivo']['name'];
$arquivo_temporario = $_FILES['arquivo']['tmp_name'];
$arquivo_tipo = $_FILES['arquivo']['type'];
$arquivo_tamanho = $_FILES['arquivo']['size'];


$para = "email1@google.com,email2@outlook.com,@email3@yahoo.com";
$assunto = "Envio de Arquivo";
$remetente = "Hélio Sander<dev@meuservidor.com.br>";
$boundary= md5(time());


$cabecalhos = "MIME-Version:1.0\n";
$cabecalhos.= "From: $remetente\n";
$cabecalhos.= "Reply-to: $remetente\n";
$cabecalhos.= "Content-type:multipart/mixed; boundary =\"$boundary\"\n";

$corpo_mensagem = "

Formulário de Contato<br>

Nome: $nome<br>
Assunto: $assunto<br>
Mensagem: $msg<br>

";

if(file_exists($arquivo_temporario)){
    
$a = fopen($arquivo_temporario,"r");
$anexo = fread($a,$arquivo_tamanho);
$anexo = base64_encode($anexo);
$anexo = chunk_split($anexo);
fclose($a);
$mensagem = "--$boundary\n";

$mensagem .= "Content-Type: text/html; charset=\"utf8\"\n"; 
$mensagem .= "$corpo_mensagem\n";
$mensagem .= "--$boundary\n";


$mensagem .= "Content-Type:$arquivo_tipo\n";
$mensagem .= "Content-Disposition: attachment; filename=$arquivo_nome\n";
$mensagem .= "Content-Transfer-Encoding: base64\n";
$mensagem .= "$anexo\n";

}
else{
    
$mensagem = "Content-Type:text/html; charset=\"utf-8\"\n";
$mensagem .= "$corpo_mensagem\n";
    
}

mail($para,$assunto,$mensagem,$cabecalhos);
echo "Mensagem Enviada com sucesso!";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.