Jump to content
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!";

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.