Formulário + MySql + Anexo.txt + Envio
Salve pessoal,
Meu problema é o seguinte:
Preciso de um código que receba as váriaveis de um formulário, salve-as no banco (Sql), crie um arquivo.txt e envie os dados do formulario para meu email junto com o txt (em anexo).
Até agora eu consegui fazer quase tudo, mas o anexo chega vazio e o texto não esta indo para o corpo do email, será que alguem poderia dar uma olhada no código abaixo e me informar onde estou errando.
Obrigado.
<?php
$nome = $_POST['nome'];
$email = $_POST['email'];
$idade = $_POST['idade'];
// Envia os dados para o banco
$conn = mssql_connect("sqlserver.xyz.com.br","xyz","senha");
mssql_select_db("xyz", $conn);
#executar a query para inserir os dados no banco
$sql = "INSERT INTO tabela (bd_area, bd_cargo, bd_nome)
VALUES ('".$nome."', '".$email."', '".$idade."')";
$result = mssql_query($sql);
mssql_close($conn);
// Formata os dados para envio de email
$msg .= "<font face='Verdana' size='1'><b>Nome:</b> \t$nome</font><br>";
$msg .= "<font face='Verdana' size='1'><b>Email:</b> \t$email</font><br><br>";
$msg .= "<font face='Verdana' size='1'><b>Idade:</b> \t$idade</font><br>";
$mensagem = "$msg";
$remetente = "$email";
$destinatario = "teste@teste.com.br";
$assunto = "Formulario";
// Cria o anexo .txt
$arquivo = "txt/arquivo.txt";//endereço do arquivo.
$file = fopen("$arquivo","w"); //substitui o texto anterior.
$string = $nome.";".$email.";".$idade."\r\n";
$fp = fwrite($file,$string);
fclose($file);
if(file_exists($arquivo) and !empty($arquivo)){
$fp = fopen($arquivo,"rt");
$anexo = fread($fp,filesize($arquivo));
$anexo = base64_encode($anexo);
fclose($fp);
$anexo = chunk_split($anexo);
$boundary = "XYZ-" . date("dmYis") . "-ZYX";
$mens = "--$boundary\r\n";
$mens .= "Content-Transfer-Encoding: 8bits\r\n";
$mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\r\n";
$mens .= "$mensagem\r\n";
$mens .= "--$boundary\r\n";
$mens .= "Content-Type: ".$arquivo["type"]."\r\n";
$mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"].".txt\"\r\n";
$mens .= "$anexo\r\n";
$headers = "MIME-Version: 1.0\n";
$headers .= "From: \"$nome\" <$remetente>\r\n";
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n";
$headers .= "$boundary\n";
//envio o email com o anexo
if (mail($destinatario,$assunto,$mens,$headers))
{echo "<script>window.location.href='pag2.php'</script>";}
else
{echo "erro";}
}
?>Discussão (4)
Carregando comentários...