• 0
Sign in to follow this  
Lucas_RS

Erro no formulario de contato

Question

Pessoal to com um sistema de imoveis aqui e to tento um problema com o formulario de contato, quando o cliente preenche o formulario e clica em enviar eu não recebo o e-mail dele, meu código ta assim:

contato.php

//get the agent info

$q1 = "select * from re2_agents where AgentID = '$_GET[AgentID]' ";

$r1 = mysql_query($q1) or die(mysql_error());

$a1 = mysql_fetch_array($r1);

if(isset($_POST[s1]))

{

$to = $a1;

$subject = $_POST[subject];

$message = $_POST[message];

$message .= "\n\nAnúncio:\n$site_url/anuncio.php?id=$_GET[ListingID]\n\n";

$headers = "MIME-Version: 1.0\n";

$headers .= "Content-type: text/plain; charset=iso-8859-1\n";

$headers .= "Content-Transfer-Encoding: 8bit\n";

$headers .= "From: $_POST[u_name] <$_POST[u_email]>\n";

$headers .= "X-Priority: 1\n";

$headers .= "X-MSMail-Priority: High\n";

$headers .= "X-Mailer: PHP/" . phpversion()."\n";

mail($to, $subject, $message, $headers);

$thankyou = "<center><b><br><br><br>Obrigado por entrar em contato, aguarde uma resposta em breve!<br><br><a class=RedLink href=\"$site_url/anuncio.php?id=$_GET[ListingID]\">Voltar</a></center>";

//get the templates

require_once("templates/HeaderTemplate.php");

require_once("templates/EmailThankyouTemplate.php");

require_once("templates/FooterTemplate.php");

}

$AgentName = "$a1[FirstName] $a1[LastName]";

if(!empty($_GET[ListingID]))

{

$SubjectLine = "Imóvel ID $_GET[ListingID]";

}

//get the templates

require_once("templates/HeaderTemplate.php");

require_once("templates/EmailTemplate.php");

require_once("templates/FooterTemplate.php");

?>

O código no emailtemplate está assim:

<script>

function CheckMail() {

if(document.je.u_name.value=="")

{

alert('Digite seu nome, por favor.');

document.je.u_name.focus();

return false;

}

if(document.je.u_email.value=="")

{

alert('Digite seu e-mail, por favor.');

document.je.u_email.focus();

return false;

}

if(document.je.subject.value=="")

{

alert('Enter the subject, please!');

document.je.subject.focus();

return false;

}

if(document.je.message.value=="")

{

alert('Digite uma mensagem, por favor.');

document.je.message.focus();

return false;

}

}

</script>

<br><br>

<form method=post onsubmit="return CheckMail();" name=je>

<table width=340 align=center border=0>

<caption align=center>

<span style="font-size:11; font-family:verdana; color:black; font-weight:bold"><img src="images/correio.gif" width="22" height="19"> Use este formul&aacute;rio para entrar em contato

<?=$AgentName?></span>

</caption>

<tr>

<td>Nome:</td>

<td><input type=text name="u_name" size=42 class="mtext"></td>

</tr>

<tr>

<td>E-mail:</td>

<td><input type=text name=u_email size=42 class="mtext"></td>

</tr>

<tr>

<td>Assunto:</td>

<td><input type=text name=subject size=42 class="mtext" value="<?=$SubjectLine?>"></td>

</tr>

<tr>

<td valign=top>Mensagem:</td>

<td><textarea rows=6 cols=41 name=message class="mtext"><?=$_POST[message]?></textarea></td>

</tr>

<tr>

<td>&nbsp;</td>

<td>

<input type=submit name=s1 value="Enviar" class="sub1">

</td>

</tr>

</table>

</form>

Não acho o erro pois da a mensagem de mensagem enviada só que eu não recebo o e-mail alguém poderia me ajudar com isso?? Obrigado.

Lucas

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Olá...

alguns fatores devem ser levados em consideração, como por ex: seu servidor. Alguns servidores só aceitam e-mails autenticados, usando o PHPMailer, aconselho a você entrar em contato com seu servidor para ver se esse é o seu caso. Pode ser tb caixa cheia. Outro ponto que muitas pessoas não levam em consideração é usar dessa forma:

$q1 = "select * from re2_agents where AgentID = '".$_GET["AgentID"]."' ";

Outro ponto é ver se o seu register_globals está off, pois se a variável $_GET["AgentID"] estiver vindo da url, pode não recuperar... nesse caso, use $_REQUEST["AgentID"].

Tente depurar seu código, colocando "echos" ou vendo se querys estão resgatando os valores corretamente. Qualquer coisa, use o comando "basicão", levando em conta que é um formulário do fale conosco com os campos "Nome" e "Mensagem" algo como:

$nomeCliente = trim($_POST["NomeCliente"]);
$mensagemCliente = trim($_POST["MensagemCliente"]);

if(empty($nomeCliente)):
 $erro[1]  = "Favor colocar seu nome";
elseif(strlen($nomeCliente) < 5):
 $erro[1]  = "Seu nome não pode ser inferior a 5 caracteres";
elseif(empty($mensagemCliente)):
 $erro[2]  = "Favor colocar sua mensagem";
elseif(strlen($mensagemCliente) < 5):
 $erro[2]  = "Seu mensagem não pode ser inferior a 5 caracteres";
else:

        $envia = "[email protected]";
        $titulo = "Fale Conosco";
    
        $msg = "MIME-Version: 1.0\r\n";
        $msg .= "Content-type: text/html; charset=iso-8859-1\r\n";
        $msg .= "From: Fale Conosco<[email protected]>\r\n";
                     
                                 $mens = "<html><head><title>Fale Conosco</title></head><body>";
        $mens .= "<div align='justify'>".$_POST["MensagemEnviada"]."</div>";
        $mens .= "</body></html>";

        if(mail($envia, $titulo, $mens, $msg) == TRUE):    
                       echo "<script>alert('Sua mensagem foi enviada com sucesso. Obrigado por entrar em contato';window.location.href='fale.php';</script>";
        else:
        echo "<script>alert('Houve um erro na hora do envio. Caso o erro persista, favor entrar em contato com [email protected]');                         window.location.href='fale.php';</script>";                
        endif;
     endif;

Edited by MTavares

Share this post


Link to post
Share on other sites
  • 0

tente colocar no seu header

$headers = "From: $_POST[u_name] <$_POST[u_email]>\n";

$headers .= "Content-type: text/plain; charset=iso-8859-1\n\r";

e tenha certeza de ter conteudo na variavel $to

Edited by jissa

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this