Formulário com Anexo
Olá pessoal, como vai?
Estou com um probleminha.
Preciso que meu formulário envie texto e imagem em anexo.
Eu testei o código só com texto e chega ok. Também testei só o anexo e chega ok.
Mas o problema está quando ajunto os dois códigos: ou chega só o texto ou não chega nada. :/
Alguém consegue me ajudar?
Deixei meu código abaixo.
Obrigadinha desde já.
<?php
$nome = utf8_decode(@$_POST['nome']);
$email = utf8_decode(@$_POST['email']);
$assunto = utf8_decode(@$_POST['assunto']);
$mensagem = utf8_decode(@$_POST['mensagem']);
$arquivo = isset($_FILES["Filedata"]) ? $_FILES["Filedata"] : FALSE;
$para = "email@dominio.com";
if ($nome != "" && $email != "" && $assunto != "" && $mensagem != "") {
//
$corpo .= 'Assunto: '.$assunto. "\n";
$corpo .= 'Nome: '.$nome. "\n";
$corpo .= 'E-mail: '.$email. "\n";
$corpo .= 'Mensagem: '.$mensagem. "\n";
//
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
//
$headers = "From: $email";
//
if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){
$fp = fopen($_FILES["Filedata"]["tmp_name"],"rb");
$anexo = fread($fp,filesize($_FILES["Filedata"]["tmp_name"]));
$anexo = base64_encode($anexo);
fclose($fp);
$anexo = chunk_split($anexo);
$boundary = "XYZ-" . date("dmYis") . "-ZYX";
//
$corpo .= "--$boundary\n";
$corpo .= "Content-Transfer-Encoding: 8bits\n";
$corpo .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; //plain
$corpo .= "$campostxt\n";
$corpo .= "--$boundary\n";
$corpo .= "Content-Type: ".$arquivo["type"]."\n";
$corpo .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n";
$corpo .= "Content-Transfer-Encoding: base64\n\n";
$corpo .= "$anexo\n";
$corpo .= "--$boundary--\r\n";
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n";
$headers .= "$boundary\n";
}
//
mail($para, $assunto, $corpo, $headers);
}
?>Discussão (4)
Carregando comentários...