Enviar dados de formulário para E-mail
Olá galera.
Sou iniciante em PHP e preciso da ajuda de vocês para enviar dados de um formulário em HTML para um e-mail.
Andei vendo algumas coisas na internet, e vi que é melhor desenvolver com a biblioteca phpmailer, porém não obtive sucesso.
Abaixo algumas dúvidas:
Como faço para enviar os dados do formulário para o gmail?
Quando é domínio próprio(meuemail@site.com.br) como consigo o usuário e a senha do servidor?
Abaixo os códigos:
Segue o formulários em HTML (o formulário esta sem estilização, pois no momento o importante é a funcionalidade do mesmo)
<html>
<head>
<title>TESTE CONTATO</title>
</head>
<body>
<form action="email.php" method="post">
<label for="Nome">Nome:</label>
<input type="text" name="Nome" size="35" /><br>
<label for="Email">E-mail:</label>
<input type="text" name="Email" size="35" /><br>
<label for="Fone">Telefone:</label>
<input type="text" name="Fone" size="35" /><br>
<label for="Mensagem">Mensagem:</label>
<textarea name="Mensagem" rows="8" cols="40"></textarea><br>
<input type="submit" name="Enviar" value="Enviar" />
</form>
</body>
</html>
Segue o formulário PHP(se possível me ajudem corrigindo o que esta errado e porque esta errado)
<?php
$Nome = $_POST["Nome"]; // Pega o valor do campo Nome
$Fone = $_POST["Fone"]; // Pega o valor do campo Telefone
$Email = $_POST["Email"]; // Pega o valor do campo Email
$Mensagem = $_POST["Mensagem"]; // Pega os valores do campo Mensagem
// Variável que junta os valores acima e monta o corpo do email
$Vai = "Nome: $Nome\n\nE-mail: $Email\n\nTelefone: $Fone\n\nMensagem: $Mensagem\n";
require_once("phpmailer/class.PHPMailerAutoLoad.php");
define('GUSER', 'meuemail@gmail.com'); // <-- Insira aqui o seu GMail
define('GPWD', 'minhasenhadogmail'); // <-- Insira aqui a senha do seu GMail
function smtpmailer($para, $de, $de_nome, $assunto, $corpo) {
global $error;
$mail = new PHPMailer();
$mail->IsSMTP(); // Ativar SMTP
$mail->SMTPDebug = 0; // Debugar: 1 = erros e mensagens, 2 = mensagens apenas
$mail->SMTPAuth = true; // Autenticação ativada
$mail->SMTPSecure = 'ssl'; // SSL REQUERIDO pelo GMail
$mail->Host = 'smtp.gmail.com'; // SMTP utilizado
$mail->Port = 587; // A porta 587 deverá estar aberta em seu servidor
$mail->Username = GUSER;
$mail->Password = GPWD;
$mail->SetFrom($de, $de_nome);
$mail->Subject = $assunto;
$mail->Body = $corpo;
$mail->AddAddress($para);
if(!$mail->Send()) {
$error = 'Mail error: '.$mail->ErrorInfo;
return false;
} else {
$error = 'Mensagem enviada!';
return true;
}
}
// Insira abaixo o email que irá receber a mensagem, o email que irá enviar (o mesmo da variável GUSER),
//o nome do email que envia a mensagem, o Assunto da mensagem e por último a variável com o corpo do email.
if (smtpmailer('contato@site.com.br', 'meugmail@gmail.com', 'Enviador', 'Assunto', $Vai)) {
Header("location:http://www.dominio.com.br/obrigado.html"); // Redireciona para uma página de obrigado.
}
if (!empty($error)) echo $error;
?>
Desde já agradeço a atenção e a colaboração de todos.
Obrigado.
Discussão (13)
Carregando comentários...