Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

danielborhy

[Resolvido] Form de contato server error 500

Recommended Posts

Bem, mais uma vez aqui estou com um pepino =/

 

Estou utilizando o a seguinte página para contato.

 

<?php 
include('header.php');
include('menu.php');
echo'</div>';

echo'<div id="prin">';

echo'<div align="left">';
?>
<div class="font-1" align="left" style="margin-left:80px;"><br />

<h2>Contato</h2>

Para entrar em contato conosco, para nos enviar dúvidas, sugestões ou comentário, preencha corretamente o formulário de contato abaixo:<br />
<br />

<div class="font-1" style="width:916px; margin-left:auto; margin-right:auto;">
<table width="916" border="0" cellpadding="0" cellspacing="5" align="justify">
 <tr>
   <td width="0%"> </td>
   <td width="100%" align="justify"><?php
if (!$_POST){ 

?>

<table width="100%" border="0">
 <tr>
   <td>

     <form name="contato" action="contato.php" method="post" onSubmit="return validaForm(this)">
       <span><b>Nome: </b></span>*<br>
         <input name="nome" type="text" size=30 maxlength="30">
         <br>
         <span><b>Telefone: *</b></span><br>
         <input name="telefone" onkeypress="return SomenteNumero(event)" onkeyup="Mascara(this);" onclick="Mascara(this);" type="text" size=30 maxlength="13">
         <font color="#999999"> Ex: (51)3333-7000</font>
         <br>
         <span><b>Empresa: </b></span><br>
         <input name="empresa" type="text" size=30 maxlength="80">
         <br>
         <span><b>E-mail: </b></span><br>
         <input name="email" type="text" onblur="return checkMail();" size=30 maxlength="80"> 
         <br>
         <span><b>Assunto: </b></span><br>
         <input name="assunto" type="text" size=30 maxlength="80"> 
         <br>
         <span><b>Digite sua mensagem:</b></span> *<br>
         <textarea name="coment" cols=50 rows=4 id="coment"></textarea> 
         <br> 
         <input type=submit value="Enviar"> 
         <input name="Reset" type="reset" value="Limpar" />
         <br />
         <table border="0" cellpadding="0">
           <tr>
             <td>* Campo obrigatório  </td>
             </tr>
           </table>
 </form> 

   </td>
   </tr>
</table>



<?php
}else{ 

  $corpo = "Email de contato\n\n"; 
  $corpo .= "Nome: " . $_POST["nome"] . "\n"; 
  $corpo .= "Telefone: " . $_POST["telefone"] . "\n";
  $corpo .= "Empresa: " . $_POST["empresa"] . "\n";
  $corpo .= "Email: " . $_POST["email"] . "\n"; 
  $corpo .= "Assunto: ". $_POST["assunto"] . "\n";
  $corpo .= "Mensagem: " . $_POST["coment"] . "\n"; 

  mail("danielbohry@gmail.com","Contato - LSBRASIL.com.br",$corpo);

echo"Mensagem enviada com sucesso!";

} 
echo'</td>';
echo'  </tr>';
echo'</table>';
echo'</div>';

echo'</div>';
echo'</div>';
echo'</center>';
?>

</td></tr></table></div></div>
<?php

include('rodape.php');
?>

 

Em servidor linux o form funciona perfeitamente. O problema agora é que estou para entregar um site e o servidor do cliente é windows.

 

Testando localmente (utilizo o wampserver) dá o seguinte erro:

Warning: mail() [function.mail]: SMTP server response: 554 5.7.1 <danielbohry@gmail.com>: Relay access denied in C:\wamp\www\LS\contato.php on line 77

 

O erro é justamente no comando "mail".

 

O que preciso fazer para resolver esse problema provavelmente é fazer ele autenticar o smtp mas não sei como fazer. Alguém pode me explicar como adaptar uma atenticação nesse codigo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você já testou no servidor do cliente?

Localhost, se você não configura o envio de e-mails, dá problema mesmo.

 

Sim sim, já testei. Lá não dá erro nenhum, até fala que foi enviada com sucesso, mas a mensagem não chega.

Eu tenho os dados necessários pra fazer a autenticação (servidor, user, pass) mas não sei como colocar codigo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, é o seguinte:

 

A mensagem sai do servidor, portanto ela é "enviada", e é dada a bendita mensagem de sucesso, PORÉM, sua função não possui headers. Você não tem informação alguma em seu cabeçalho de mensagem, e dificilmente algum servidor será "louco" de aceitar esse tipo de mensagem (políticas BÁSICAS anti-spam).

 

 

$headers = 'From: contato@'.$_SERVER['HTTP_HOST'] . "\r\n" .
   'X-Mailer: PHP/' . phpversion();
mail("danielbohry@gmail.com","Contato - LSBRASIL.com.br",$corpo,$headers);

 

Quero ver não chegar agora! :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.