carlostelles
(usa Linux Mint)
Enviado em 05/02/2013 - 14:25h
Olá, estou tendo dificuldades para criar um formulário que é enviado por email juntamente com um arquivo anexado.
Estou conseguindo enviar o email, porém só o anexo é enviado e o texto não.
Segue abaixo o código da página php que envia pro email:
<?php
//resgata o que foi enviado do formulário
$nome = $_POST['nome'];
$email = $_POST['email'];
$cargo = $_POST['cargo'];
$telefone = $_POST['telefone'];
$arquivo = $_FILES["arquivo"];
$assunto = "Trabalhe Conosco";
$boundary = "Data: ".date("d/m/Y");
$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
// email
$text .= "Content-Type: text/html; charset='utf-8'\n";
$text .= "Nome: $nome \n Email: $email \n Assunto: $assunto \n Cargo Pretendido: $cargo \n Telefone: $telefone";
$text .= "--$boundary \n";
// anexo
$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";
//envia o e-mail
if(!empty($nome) & !empty($email)){
mail("email@email.com", "$assunto", "$text",
"FROM:$nome<$email>, $mensagem");
echo "<script language='JavaScript' type='text/javascript'>
alert ('Sua mensagem foi enviada com sucesso!')</script>";
echo "<meta http-equiv='refresh' content='1;URL=inicio.php'>";
}
else{
echo "<script language='JavaScript' type='text/javascript'>
alert ('Você deve preencher todos os campos obrigatórios para que sua mensagem seja enviada!')</script>";
echo "<meta http-equiv='refresh' content='1;URL=trabalheconosco.php'>";
}
?>
O conteúdo da variável $text não está aparecendo no email.
Se alguém souber o que pode estar acontecendo, ficaria muito grato. Valeu!!