Logo DrCode Logo DrCode

Blog

Blog / PHP / Envio de e-mail autenticado com PHP Mailer

Envio de e-mail autenticado com PHP Mailer

Envio de e-mail autenticado

Fazer o envio de e-mail autenticado uma hora ou outra será necessário. Seja pelo disparo de um e-mail marketing, ou até mesmo um simples contato via site.

Se você como muitos é um leitor que não perde um sequer conteúdo aqui do blog, certamente você já viu o nosso artigo de Como Enviar E-mail com PHP. Este post é um sucesso tremendo, até porque, todos nós em um momento ou outro precisamos enviar e-mail com PHP.

Vendo os comentários do post de envio de e-mail, o maior problema que os devs encontram, é funcionar o envio. Eu particularmente sofro quase sempre. O problema é que sempre precisamos de um e-mail do servidor, e as vezes alguém troca a senha desse e-mail, exclui. Vira uma baita dor de cabeça.

Contudo, vendo esse problema, decidi fazer esse post para ensinar como fazer o envio de e-mail autenticado com PHP Mailer! Com isso você pode usar praticamente qualquer e-mail, até mesmo um que não está no servidor.

Se você preferir, pode clicar aqui e baixar tudo zipado e prontinho pra você só substituir as variáveis e começar a usar.

O que é um e-mail autenticado?

Primeiro vamos explicar o que é um e-mail convencional. Um e-mail como o feito naquele post, não necessita de autenticação, por isso sempre tem que ser um e-mail do mesmo domínio. Um e-mail autenticado nada mais faz que enviar um e-mail com as credenciais do usuário. Ou seja, ele faz exatamente como se fosse uma pessoa enviando o e-mail.

O que é PHP Mailer

O PHP Mailer é uma classe PHP que facilita (e muito) o trabalho de enviar um e-mail autenticado. Nós também conseguimos autenticar um e-mail através da função mail() do PHP. Porém fazer isso é muito chato e complicado, até porque a função não nos da nenhum suporte, nenhuma tratativa de erros. Sem contar, que é um parto para utilizar HTML, Imagens e Anexar arquivos com a função. Com a classe do PHP Mailer tudo fica mais fácil.

Mão na massa!

Instalação

Podemos instalar o PHP Mailer de duas maneiras: Composer ou baixando os arquivos.

Via Composer:
composer require phpmailer/phpmailer

Se você não sabe como usar o composer, clique aqui.

Via Download:
https://github.com/PHPMailer/PHPMailer/archive/master.zip

Configuração para o autenticar o envio do e-mail

Após efetuar a instalação/download dos arquivos partiremos para a configuração. É simples.

Se você fez a instalação via download, deverá fazer o require/include dos arquivos que servem como dependências. Se esse for seu caso, basta fazer desta forma:

Eu recomendo que você utilize o composer para fazer a instalação. Com o composer o código fica muito mais simples, mais fácil de atualizar e entender. Veja só:

Como podemos ver, utilizando o composer para instalar o PHP Mailer só precisamos chamar um único arquivo e ele é responsável por carregar as dependências necessárias.

Autenticação e envio do e-mail autenticado

Eu tentei descrever o máximo utilizando os comentários ao lado de cada função. De todo modo, caso tenha alguma dúvida, deixe um comentário que terei o prazer de lhe auxiliar!

*Bonus*

Geralmente utilizamos templates em nossos contatos, até por uma questão de estética. Podemos simplesmente colocar nosso HTML dentro do $mail->Body que irá funcionar. O problema é que isso geralmente gera conflitos por conta das aspas. Sem contar a confusão que é utilizar HTML dentro do PHP. Eu utilizo um arquivo .html com a estrutura html+css e apenas substituo as tags. Veja como é simples:

Primeiro vamos criar nosso arquivo email-template.html

Como vemos, aqui temos toda a estrutura HTML e CSS do que será recebido em nosso e-mail. As tags, nós definimo-as entre %%, você já vai entender porque.

Aqui o que nós fazemos é simples. Primeiro pegamos o conteúdo do arquivo de template. Depois utilizamos a função str_replace para buscar o %data% dentro do arquivo de template e substituir pelo valor real. Por último, dizemos que o corpo do e-mail é igual ao nosso template depois de atualizarmos as tags.

Como você já sabe, se restar alguma dúvida, precisar de alguma ajuda. É só deixar um comentário que eu irei lhe ajudar!

Tags: email autenticado enviar e-mail php enviar email autenticado gmail envio de e-mail formulario de contato pronto
Felipe Mello
Comentários