Pessoal tenho este formulário de contato no meu site e ele funcionava bem, mas não sei o que aconteceu que agora ele não envia mais o formulario com os dados digitados para o e-mail. Já tentei um monte de coisa e nada pois ele esta funcionando tudo certinho como validação e não apresenta erro algum e pelo contrario da msg enviada com sucesso e td, mas quando olho no e-mail não chega nada pra mim :angry:
Pergunta
Marciarv
Pessoal tenho este formulário de contato no meu site e ele funcionava bem, mas não sei o que aconteceu que agora ele não envia mais o formulario com os dados digitados para o e-mail. Já tentei um monte de coisa e nada pois ele esta funcionando tudo certinho como validação e não apresenta erro algum e pelo contrario da msg enviada com sucesso e td, mas quando olho no e-mail não chega nada pra mim :angry:
<?php
if(isset($_POST['acao']) && $_POST['acao'] == 'enviar'){
require("funcoes/funcoes_mail.php");
$nome = ValidarString($_POST['nome'], "Preencha o campo Nome");
$email = ValidarEmail($_POST['email']);
$titulo = ValidarString($_POST['titulo'], "Preencha o campo Titulo");
$mensagem = ValidarString($_POST['mensagem'], "Preencha o campo Mensagem");
$msg = "<strong>Nome </strong>: $nome <br />
<strong>E-mail </strong>: $email <br />
<strong>Titulo </strong>: $titulo <br />
<strong>Mensagem </strong>: $mensagem <br />
<strong>Enviado em </strong>: ".date("d-m-Y H:i:s");
$destino = "seuemail@seuemail.com.br";
$titulo = "Formulário de Contato";
if(EnviarEmail($destino, $email, $titulo, $msg)){
echo '<script type="text/javascript">
alert("Sr(a), '.$nome.', sua mensagem foi enviada com sucesso!")
window.location="index.php";
</script>';
}else{
echo '<script type="text/javascript">
alert("Sr(a), '.$nome.', sua mensagem não foi enviada")
</script>';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formulário de Contato</title>
<link href="css/estilo.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form action="" method="post">
<fieldset>
<legend>Formulário de Contato</legend>
<label>
<span>Nome</span>
<input type="text" name="nome" />
</label>
<label>
<span>E-mail</span>
<input type="text" name="email" />
</label>
<label>
<span>Titulo</span>
<input type="text" name="titulo" />
</label>
<label>
<span>Mensagem</span>
<textarea name="mensagem" cols="30" rows="5"></textarea>
</label>
<input type="hidden" name="acao" value="enviar" />
<input type="submit" value="Enviar Formulário" class="btn"/>
</fieldset>
</form>
</body>
</html>
funcoes_mail.php
<?php
function TratarDados($str){
$str = trim($str);
$str = strip_tags($str);
$caracters = array("&", "%");
$str = str_replace($caracters, "", $str);
return $str;
}
function ValidarString($string, $erro){
$string = TratarDados($string);
if(empty($string)){
echo '<script type="text/javascript">alert("'.$erro.'")</script>';
echo '<script type="text/javascript">history.back()</script>';
exit;
}
return $string;
}
function ValidarEmail($email){
$email = TratarDados($email);
if(empty($email)){
echo '<script type="text/javascript">alert("Preencha o campo E-mail")</script>';
echo '<script type="text/javascript">history.back()</script>';
exit;
}
elseif(substr_count($email, "@") !== 1 || substr_count($email, ".") == 0){
echo '<script type="text/javascript">alert("Preencha com um e-mail válido")</script>';
echo '<script type="text/javascript">history.back()</script>';
exit;
}
return $email;
}
function EnviarEmail($destino, $rementente, $titulo, $msg){
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-Type:text/html; charset=iso-8859-1\n";
$headers .= "From: $rementente\n";
$headers .= "Return-Path: $rementente";
return mail($destino, $titulo, $msg, $headers);
}
?>
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.