Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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?
>
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.
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
Bah! Fiz um teste e funcionou! =D
Muito obrigado pela ajuda ae Matheus!
Você já testou no servidor do cliente?
Localhost, se você não configura o envio de e-mails, dá problema mesmo.