Muitas vezes temos problemas quando nossos clientes migram os seus e-mails para o GMAIL e seus formulários de contato param de funcionar, com isso criei este simples tutorial mostrando o que é necessário para que seja enviado um e-mail através do PHPMailer utilizando o SMTP do próprio GMAIL.

PHPMailer com GMAIL (CONEXÃO SSL)

<?php
require_once("mailer/class.phpmailer.php");

//Nova instância do PHPMailer
$mail = new PHPMailer;

//Informa que será utilizado o SMTP para envio do e-mail
$mail->IsSMTP();

//Informa que a conexão com o SMTP será autênticado
$mail->SMTPAuth   = true;

//Configura a segurança para SSL
$mail->SMTPSecure = "ssl";

//Informa a porta de conexão do GAMIL
$mail->Port       = 465;

//Informa o HOST do GMAIL
$mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server

//Usuário para autênticação do SMTP
$mail->Username =   "seuemailgmail@gmail.com";

//Senha para autênticação do SMTP
$mail->Password =   "123456";

//Titulo do e-mail que será enviado
$mail->Subject  =   "Formulário de contato";

//Preenchimento do campo FROM do e-mail
$mail->From = $mail->Username;
$mail->FromName = "OGENIAL";

//E-mail para a qual o e-mail será enviado
$mail->AddAddress("lucas@ogenial.com.br");

//Conteúdo do e-mail
$mail->Body = "Novo contato feito através do site.";
$mail->AltBody = $mail->Body;

//Dispara o e-mail
$enviado = $mail->Send();

?>

Como podemos ver bastará apenas configurar os parâmetros $mail->SMTPAuth, $mail->SMTPSecure e $mail->Port para o envio correto através do GMAIL.

Então com estas simples mudanças você poderá passar a enviar e-mails utilizando o GMAIL.

Observe que em SMTPSecure informamos o tipo de conexão SSL, esta configuração servirá para qualquer outra conexão SSL, sendo necessário configurar a porta do SMTP que por padrão é utilizada a porta 465 no SSL.


11 Comments

  1. Hudson
    Posted 19 de fevereiro de 2012 at 01:56 | Permalink

    o, se passar host direto dessa forma também funciona…
    $mail->Host = “ssl://smtp.gmail.com:465″

    • Eliton Luiz
      Posted 22 de outubro de 2012 at 00:15 | Permalink

      Vlw, amigo.
      Comigo só funcionou nessa forma comprimida.

    • Posted 1 de outubro de 2014 at 12:44 | Permalink

      Cara, você acertou na mosca. Incluir o protocolo e porta fez todo o sentido na hora de servidor autenticar. Vlw!

  2. Leonardo
    Posted 10 de abril de 2013 at 14:34 | Permalink

    Não funcionou… A mensagem não chega

  3. Posted 30 de janeiro de 2014 at 17:07 | Permalink

    Não esqueçam de habilitar o gmail a logins sem captcha

    https://accounts.google.com/b/0/DisplayUnlockCaptcha

    • admin
      Posted 30 de janeiro de 2014 at 19:56 | Permalink

      Isso não é necessário para utilizar o SMTP

      • Posted 17 de fevereiro de 2014 at 14:45 | Permalink

        No meu caso foi necessário sim, após a liberação o Gmail autorizou a utilização por aplicativos.

        • Max W
          Posted 24 de julho de 2014 at 13:50 | Permalink

          No meu caso também precisei habilitar.

  4. Posted 19 de fevereiro de 2014 at 13:16 | Permalink

    Ajudo muito seu post obrigado mano.. estou usando em meu site de frases.

  5. Posted 4 de julho de 2014 at 15:33 | Permalink

    Só consigo fazer funcionar localmente. Quando tento fazer do servidor de hospedagem simplesmente não envia.

    O que pode estar acontecendo?

    • admin
      Posted 4 de julho de 2014 at 17:36 | Permalink

      Olá amigo, já tentou usar o SMTPDebug? Com certeza terá uma resposta ou uma luz la

One Trackback

  1. […] o PHPMailer, que já falamos tanto, inclusive no último post, ensinamos a como configura-lo para enviar e-mails através do SMTP do Gmail, o que facilitou a vida de muitas pessoas, porém desta vez, o assunto é outro, vamos tratar aqui […]

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>