Caixa de soluções

Enviando emails com PHPMailer e Gmail

Enviar emails com PHPMailer é muito simples. Ela foi desenvolvida principalmente para o uso em servidores que exigem autenticação ou para desenvolvedores que precisam de configurações que a função mail() não possua.

E para utilizar o PHPMailer para enviar emails usando o SMTP do Gmail precisamos seguir esses passos:

1. OpenSSL

Antes de começar devemos verificar se o OpenSSL esta habilitado no PHP. Pra isso use a função phpinfo().

OpenSSL

Caso o OpenSSL não esteja instalado acesse: www.php.net/manual/en/openssl.setup.php

2. PHPMailer

Certifique-se de sempre usar a última versão do PHPMailer.
Acesse o site oficial: phpmailer.worxware.com/

3. Configuração/Uso

// Incluimos a classe do PHPMailer
require_once './phpmailer/class.phpmailer.php';

// Instanciamos a classe
$email = new PHPMailer();

// Informamos que a classe ira enviar o email por SMTP
$email->isSMTP();

// Configuração de SMTP
$email->Host = "ssl://smtp.googlemail.com";
$email->SMTPAuth = true;
$email->SMTPDebug = true;
$email->Port     = 465;
$email->Username = "email@gmail.com";
$email->Password = "*********";

// Remetente da mensagem
$email->From     = "email@gmail.com";
$email->FromName = "Nome";

// Destinatario do email
$email->AddAddress("Email", "Nome");

// Iremos enviar o email no formato HTML
$email->IsHTML(true);

// Assunto e Corpo do email
$email->Subject  = "Assunto da mensagem";
$email->Body = "Corpo da mensagem";

// Enviando o email
if ( $email->Send() ) {
	echo "Email enviado";
}
else {
	echo "Erro para enviar o email";
}

Importante: Durante meus testes notei que $email->Username e $email->From devem ser iguais.
Portanto se você estiver enviando o email com o usuário chicobento@gmail.com o seu destinatário também deverá ser chicobento@gmail.com