Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
olá, pessoal estou tentando fazer um formulario de contato com php e html, mas não recebo as informações no e-mail de destino, o que tem de errado com o meu codigo.
------------------------------------- contato.htm -----------------------------------------
<form action="contato.php" method="post" name="form1" id="form1" onSubmit="return validar();">
<P>
<font color="#333333" size="2" face="Geneva, Arial, Helvetica, sans-serif">Nome:
</font><BR>
<INPUT TYPE="text" NAME="nome" SIZE="30" class="campo" id="nome">
<BR>
<font color="#333333" size="2" face="Geneva, Arial, Helvetica, sans-serif">E-Mail:
</font><BR>
<INPUT TYPE="text" NAME="email" SIZE="30" class="campo" id="email">
<BR>
<font color="#333333" size="2" face="Geneva, Arial, Helvetica, sans-serif">Assunto:
</font><BR>
<font size="2" face="Geneva, Arial, Helvetica, sans-serif">
<INPUT TYPE="text" NAME="assunto" SIZE="30" class="campo" id="assunto">
<BR>
<font color="#333333">Mensagem: </font></font><BR>
<TEXTAREA NAME="mensagem" ROWS="8" COLS="23" class="campo" id="mensagem"></TEXTAREA>
<P>
<INPUT name="submit" TYPE="submit" class="campo" VALUE="Enviar">
<INPUT name="reset" TYPE="reset" class="campo" VALUE="Limpar">
</P>
<?php print '<pre>'; print_r($_POST); print '</pre>'; ?>
</FORM>
--------------------------------------- contato.php ------------------------------------------
<html>
<head>
<title>Formulario</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
if (getenv("REQUEST_METHOD") == "POST")
{
$nome = $_POST['nome'];
$fone = $_POST['fone'];
$email = $_POST['email'];
$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];
//Inicio do Email para o Cliente
$MailRecipiente = "jrnin_87@hotmail.com"; //Coloque aqui o e-mail que vai receber
$MailAssunto = "Fale Conosco";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: $email\r\n";
$msg = "<html><body>
<br><br>
<br>Formulario de Contato no Site!:
<br>
<br>Nome : <b>$nome</b>
<br>Telefone : <b>$fone</b>
<br>Email : <b>$email</b>
<br>Assunto : <b>$assunto</b>
<br>
<br>Mensagem : <br>$mensagem
<br></body></html>";
$MandaEmail=mail($MailRecipiente,$MailAssunto,$msg,$headers);
?>
<script>
alert('Seu email foi enviado com sucesso!');
</script>
<script>
window.location.href='../a_empresa.htm'
</script>
<?php
exit;
}
?>
</body>
</html>>
Olha, tem um script que eu postei no laboratório de script para enviar formulário de contato. Tem validações, múltiplos destinatários. Bem simples de implantar. Utiliza a classe PHPMailer e autenticação do Gmail.
Carlos Eduardo
olhei esse script mas nao compreendi onde coloco a pasta da classe php PHPMailer, é so joga ela no servidor junto com os outros arquivos do site?
Isto mesmo.
Carlos Eduardo
está dando esses erros:
Warning: include(class.phpmailer.php) [function.include]: failed to open stream: No such file or directory in /var/www/www.novaondaconfeccoes.com.br/formulario.php on line 56
Warning: include() [function.include]: Failed opening 'class.phpmailer.php' for inclusion (include_path='PHPMailer:.:/usr/share/php:/usr/share/pear') in /var/www/www.novaondaconfeccoes.com.br/formulario.php on line 56
Fatal error: Class 'PHPMailer' not found in /var/www/www.novaondaconfeccoes.com.br/formulario.php on line 60
>
está dando esses erros:
Warning: include(class.phpmailer.php) [function.include]: failed to open stream: No such file or directory in /var/www/www.novaondaconfeccoes.com.br/formulario.php on line 56
Warning: include() [function.include]: Failed opening 'class.phpmailer.php' for inclusion (include_path='PHPMailer:.:/usr/share/php:/usr/share/pear') in /var/www/www.novaondaconfeccoes.com.br/formulario.php on line 56
Fatal error: Class 'PHPMailer' not found in /var/www/www.novaondaconfeccoes.com.br/formulario.php on line 60
consegui, o arquivo formulario.php tem que ficar dentro da pasta PHPMaile nehhhh?
Obrigado pela atenção.
>
>
está dando esses erros:
Warning: include(class.phpmailer.php) [function.include]: failed to open stream: No such file or directory in /var/www/www.novaondaconfeccoes.com.br/formulario.php on line 56
Warning: include() [function.include]: Failed opening 'class.phpmailer.php' for inclusion (include_path='PHPMailer:.:/usr/share/php:/usr/share/pear') in /var/www/www.novaondaconfeccoes.com.br/formulario.php on line 56
Fatal error: Class 'PHPMailer' not found in /var/www/www.novaondaconfeccoes.com.br/formulario.php on line 60
consegui, o arquivo formulario.php tem que ficar dentro da pasta PHPMaile nehhhh?
Obrigado pela atenção.
Será que nao tem como deichar o arquivo php fora da pasta PHPMaile? tive que fazer isso pra funcionar joga todos os arquivos do site dentro da pasta PHPMaile, é isso mesmo?
Não. O arquivo fica fora da pasta mesmo. Duas coisas podem ter acontecido.
Primeira.
// aqui incluímos a pasta onde está a classe PhpMailer no include_path
set_include_path('PHPMailer'. PATH_SEPARATOR .get_include_path());
Você retirou esta linha do código. Se for isto, recoloque que vai funcionar. Se não funcionar ou você não tiver retirado esta linha...
Segunda opção.
// aqui incluímos a pasta onde está a classe PhpMailer no include_path
// set_include_path('PHPMailer'. PATH_SEPARATOR .get_include_path());
// comente esta linha
// incluímos a classe phpmailer. Não utilizamos a pasta onde ela está porque já incluímos anteriormente
include 'PHPMailer/class.phpmailer.php';
// nesta linha, você adiciona a pasta ao caminho, conforme acima
Veja se funciona.
Carlos Eduardo
Agora deu certo, ñ mudei nada que você me indicou o que poderia ser, mas acontece que qdo descompactei o PHPMailer, ficou assim PHPMailer/PHPMailer_5.2....por isso que nao estava encotrando a pasta, ai deixei uma unica pasta e funfou legal.
Queria outra ajuda, ao enviar a mensagem em vez dessa linha de codigo:
if(!$mail->Send())
{
echo 'Erro ao enviar e-mail: ' . $mail->ErrorInfo;
} echo 'Sua mensagem foi enviada com sucesso.';
unset($_POST);
}
}
?>
nao teria como eu colocar uma mensagem, como se fosse uma caixa de dialogo pro usuario clicar em ok e pronto?
Isto chama alert do Javascript. Faça algo assim.
echo '<script>alert(\'Sua mensagem aqui dentro\')</script>';
Carlos Eduardo
Boa tarde,
Uso Locaweb, a validação pode ser trocada nos campos para Gmail?
Olha, tem um script que eu postei no laboratório de script para enviar formulário de contato. Tem validações, múltiplos destinatários. Bem simples de implantar. Utiliza a classe PHPMailer e autenticação do Gmail.
http://forum.imasters.com.br/index.php?/topic/363321-formulario-de-contato-com-multiplos-destinatarios/
Carlos Eduardo