problemas ao enviar email usando Gmail e SMTP
Boa noite galera. Quando tento enviar um email pelo formulario do meu site, usando gmail e smtp, acontece o seguinte erro:
Mail error: SMTP connect() failed.
Eu nunca tentei fazer autenticação por SMTP, por isso não sei me virar...
Fiz um formulário bem simples so pra testar, baixei um pacote com os seguitens arquivos: classes, dados, phpmailer
este aqui é o formulário:
<form action="email.php" method="post">
<label for="Nome">Nome:</label>
<input type="text" name="Nome" size="35" />
<label for="Assunto">Assunto:</label>
<input type="text" name="Assunto" size="35" />
<label for="Email">E-mail:</label>
<input type="text" name="Email" size="35" />
<label for="Fone">Telefone:</label>
<input type="text" name="Fone" size="35" />
<label for="Mensagem">Mensagem:</label>
<textarea name="Mensagem" rows="8" cols="40"></textarea>
<input type="submit" name="Enviar" value="Enviar" />
</form>
Este aqui é o arquivo email.php
<?php
$Nome = $_POST["Nome"]; // Pega o valor do campo Nome
$Assunto = $_POST["Assunto"]; // Pega o valor
$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.phpmailer.php");
define('GUSER', 'felipe.udk@gmail.com'); // <-- Insira aqui o seu GMail
define('GPWD', 'minhasenha'); // <-- 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 = 465; // 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@felipeandres.com.br', 'felipe.udk@gmail.com', 'Nome do Enviador', 'Assunto do Email', $Vai)) {
Header("location:http://www.dominio.com.br/obrigado.html"); // Redireciona para uma página de obrigado.
}
if (!empty($error)) echo $error;
?>
BOm, tem algo de errado com o código ou estou esquecendo de alguma coisa?
Obrigado!
Discussão (9)
Carregando comentários...