Formulário de Contato com Anexo (Dúvida)
Bom dia.
Pessoal encontrei um script na internet para criar um formulário de contato/pedido de orçamento com possibilidade de envio de anexo.
Consegui executar o script normalmente.
O meu problema é que quando não tenho anexo o formulário chega em branco no e-mail, ou seja, mesmo preenchendo todos os campos e não colocando anexo chega todo em branco e se colocar o anexo chega correto.
Abaixo segue o script:
<?php
//Pega os dados postados pelo formulário HTML e os coloca em variaveis
if (preg_match('/criativaguaxupe.com.br$/', $_SERVER[HTTP_HOST])) {
//substitua na linha acima a aprte locaweb.com.br por seu domínio.
$email_from='email@email.com'; // Substitua essa linha pelo seu e-mail@seudominio
}else {
$email_from = "contato@" . $_SERVER[HTTP_HOST];
// Na linha acima estamos forçando que o remetente seja 'webmaster@',
// você pode alterar para que o remetente seja, por exemplo, 'contato@'.
}
if( PATH_SEPARATOR ==';'){ $quebra_linha="\r\n";
} elseif (PATH_SEPARATOR==':'){ $quebra_linha="\n";
} elseif ( PATH_SEPARATOR!=';' and PATH_SEPARATOR!=':' ) {echo ('Esse script não funcionará corretamente neste servidor, a função PATH_SEPARATOR não retornou o parâmetro esperado.');
}
//pego os dados enviados pelo formulário
$sistema = $_POST["sistema"];
$nome = $_POST["nome"];
$endereco = $_POST["endereco"];
$estado = $_POST["estado"];
$cidade = $_POST["cidade"];
$email = $_POST["email"];
$residencial = $_POST["residencial"];
$comercial = $_POST["comercial"];
$celular = $_POST["celular"];
$tipo_estabelecimento = $_POST["tipo_estabelecimento"];
$comentarios = $_POST["comentarios"];
$email = 'email@email.com';
//formato o campo da mensagem
$mensagem = wordwrap( $mensagem, 50, "<br>", 1);
//valido os emails
if (!preg_match("^([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=\"javascript: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);
$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 . ""; //plain
$mens .= "Tipo de sistema: $sistema" . $quebra_linha . "";
$mens .= "<br>Nome: $nome" . $quebra_linha . "";
$mens .= "<br>Endereço: $endereco" . $quebra_linha . "";
$mens .= "<br>Estado: $estado" . $quebra_linha . "";
$mens .= "<br>Cidade: $cidade" . $quebra_linha . "";
$mens .= "<br>E-mail: $email" . $quebra_linha . "";
$mens .= "<br>Telefone Residencial: $residencial" . $quebra_linha . "";
$mens .= "<br>Telefone Comercial: $comercial" . $quebra_linha . "";
$mens .= "<br>Telefone Celular: $celular" . $quebra_linha . "";
$mens .= "<br>Tipo de Estabelecimento: $tipo_estabelecimento" . $quebra_linha . "";
$mens .= "<br>Comentários: $comentarios" . $quebra_linha . "";
$mens .= "$mensagem" . $quebra_linha . "";
$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, "-r".$email_from);
echo"Email enviado com Sucesso!";
}
//se nao tiver anexo
else{
$headers = "MIME-Version: 1.0" . $quebra_linha . "";
$headers .= "Content-type: text/html; charset=iso-8859-1" . $quebra_linha . "";
$headers .= "From: $email_from " . $quebra_linha . "";
$headers .= "Return-Path: $email_from " . $quebra_linha . "";
//envia o email sem anexo
mail($email,$assunto,$mensagem, $headers, "-r".$email_from);
echo"Email enviado com Sucesso!";
}
?>
Agradeço desde já a ajuda de todos.
Obrigado.
Discussão (1)
Carregando comentários...