É o seguinte, os outros dados chegam normal, porém o anexo não chega (chega um monte de letras) alguém sabe por que isso tá acontecendo? envia.php <?php
/*Verifica qual é o sistema operacional e ajusta a quebra da linha funcional do cabeçalho de e-mail para Windows e Linux
Existem diferenças entre o ambiente Linux e Windows, por isso a validação abaixo configura a variável $quebra_linha com o caracter correto para cada sistema_operacional
Windows utiliza "\r\n"
Linux utiliza "\n"
*/
if(PHP_OS == "Linux") $quebra_linha = "\n"; //Se for Linux
//define os dados do remetente (deve ser um e-mail do seu domínio conforme determina a RFC 822)
$email_from = 'contato@bycompetence.com.br';
//pego os dados enviados pelo formulário
$nomecompleto = $_POST['nomecompleto'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$txcelular = $_POST['txcelular'];
$txcidade = $_POST['txcidade'];
$txestado = $_POST['txestado'];
$txcargo = $_POST['txcargo'];
$txprofissional = $_POST['txprofissional'];
$txhierarquico = $_POST['txhierarquico'];
//formato o campo da mensagem
$mensagem = wordwrap( $mensagem, 10000, "<br>", 1);
//valido os emails
if (!ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email)){
echo('<center>Digite um email valido</center>');
echo('<center><a href="java script:history.go(-1)">Voltar</center></a>');
exit;
}
$arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;
if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){
$fp = fopen($_FILES["arquivo"]["tmp_name"],"rb");
$anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"]));
$anexo = base64_encode($anexo);
fclose($fp);
$anexo = chunk_split($anexo);
$mensagem_cabecalho = '<P><FONT color=#3300ff size=5>Mensagem entregue com sucesso!!!</FONT></P>
<TABLE>
<TBODY>
</TBODY></TABLE>';
$boundary = 'XYZ-' . date("dmYis") . '-ZYX';
$mens = '--' . $boundary . $quebra_linha;
$mens .= 'Content-Transfer-Encoding: 8bits' . $quebra_linha;
$mens .= 'Content-Type: text/html; charset="ISO-8859-1"' . $quebra_linha . $quebra_linha;
$mens .= $mensagem_cabecalho . $quebra_linha;
$mens .= $mensagem . $quebra_linha;
$mens .= "
$nomecompleto <BR>
$email <BR>
$telefone <BR>
$txcelular <BR>
$txcidade <BR>
$txestado <BR>
$txcargo <BR>
$txprofissional <BR>
$txhierarquico <BR>";
$mens .= '--' . $boundary . $quebra_linha;
$mens .= 'Content-Type: ' . $arquivo["type"] . $quebra_linha;
$mens .= 'Content-Disposition: attachment; filename="' . $arquivo["name"] . '"' . $quebra_linha;
$mens .= 'Content-Transfer-Encoding: base64' . $quebra_linha . $quebra_linha;
$mens .= $anexo . $quebra_linha;
$mens .= '--' . $boundary . '--' . $quebra_linha;
$headers = 'MIME-Version: 1.0' . $quebra_linha;
$headers .= 'From: ' . $email_from . $quebra_linha;
$headers .= 'Return-Path: ' . $email_from . $quebra_linha;
$headers .= 'Content-type: multipart/mixed; boundary="' . $boundary . '"' . $quebra_linha;
$headers .= $boundary . $quebra_linha;
//envio o email com o anexo
mail($email,$assunto,$mens,$headers);
echo('Email enviado com Sucesso! <a href="email.html">Voltar</a>');
}
//se não tiver anexo
else{
$mens .= "
$nomecompleto <BR>
$email <BR>
$telefone <BR>
$txcelular <BR>
$txcidade <BR>
$txestado <BR>
$txcargo <BR>
$txprofissional <BR>
$txhierarquico <BR>";
$headers = 'MIME-Version: 1.0' . $quebra_linha;
$headers .= 'Content-type: text/html; charset=iso-8859-1' . $quebra_linha;
$headers .= 'From: ' . $email_from . $quebra_linha;
//envia o email sem anexo
mail($email,$assunto,$mens,$headers);
echo('Email enviado com Sucesso! <a href="email.html">Voltar</a>');
}
?>