Como enviar e-mails facilmente com o PHPMailer
O PHPMailer é uma biblioteca de programas que regula a transferência de e-mails por meio do PHP. O PHPMailer é usado principalmente para formulários de contato em sites, mas também pode ser usado para enviar e-mails particulares.
O que é PHPMailer?
O PHPMailer é uma extensão de e-mail para PHP, que é desenvolvida e mantida pela comunidade PHP. É menos provável que os e-mails enviados usando o PHPMailer acabem em uma pasta de spam do que aqueles enviados com a função de e-mail integrada do PHP. Isso ocorre porque os e-mails escritos com o PHPMailer são enviados usando SMTP. SMTP significa Simple Mail Transfer Protocol e é usado para transferir e-mails pela Internet. Além disso, o PHPMailer também suporta e-mails e anexos em HTML, ao contrário da função de e-mail integrada.
Para que o PHPMailer é usado?
O PHPMailer é um pouco mais tedioso de usar quando comparado a outros provedores de e-mail ou programas de e-mail integrados em seu computador, o que pode fazer com que você se pergunte por que as pessoas optam por usá-lo. A estrutura PHP simplifica a criação de respostas automatizadas, como as necessárias para uma loja virtual. Além disso, o PHPMailer também é adequado para formulários de contato em sites.
Quais são os requisitos para o PHPMailer?
Você precisa de um servidor SMTP para usar o PHPMailer. Depende de você usar um servidor de e-mail de um provedor ou configurar seu próprio servidor. É melhor usar o Composer (um gerenciador de pacotes para PHP) para instalar a extensão PHP.
Dominar os conceitos básicos de PHP é outro requisito importante para usar o PHPMailer. Nosso tutorial de PHP para iniciantes pode ajudá-lo se você estiver tendo problemas com os conceitos básicos do PHP.
Como instalar o PHPMailer passo a passo
Etapa 1: Faça o download da versão atual do PHPMailer
Faça download da versão mais recente do PHPMailer. Você pode fazer isso com o Composer ou manualmente a partir do GitHub.
Opção 1: Fazer download usando o Composer
Se você tiver instalado o gerenciador de pacotes Composer, poderá simplesmente usar este comando:
Importante: Se você instalou o PHPMailer com o Composer, deverá incluir o Composer em seu código PHP para enviar e-mails.
A seguinte linha de código pode ser usada:
A palavra-chave “require_once” garante que o Composer seja incluído apenas uma vez. Caso contrário, você poderá encontrar erros no programa. A instalação usando o Composer está concluída.
Opção 2: Baixar diretamente do GitHub
Os arquivos de origem do PHPMailer também podem ser baixados manualmente clicando no botão Code no repositório correspondente GitHub e baixando o arquivo ZIP. Se o Git estiver instalado em seu sistema, você poderá clonar o repositório usando um comando de linha.
Etapa 2: descompactar arquivos
Se você fez o download do código-fonte do PHPMailer manualmente, é necessário abrir os arquivos ZIP. Selecione o local onde deseja instalar o PHPMailer e inclua o PHPMailer em seu script. Supondo que você tenha descompactado os arquivos do PHPMailer em uma pasta chamada PHPMailer, você pode usar as seguintes linhas de código:
Como enviar e-mails com o PHPMailer passo a passo
Etapa 1: Incluir namespaces
Certifique-se de que os namespaces estejam corretos para acessar o PHPMailer. Use
As declarações são necessárias para isso, portanto seu código deve conter as seguintes linhas:
Você pode acessar as classes individuais incluindo os nomes após a última barra.
Etapa 2: Captura de erros
Embora o PHPMailer seja uma forma muito confiável de enviar e-mails, podem ocorrer erros de tempos em tempos. Incluir uma instrução try catch em um envio de e-mail evitará que dados confidenciais do seu servidor de e-mail sejam enviados aos usuários como uma mensagem de erro:
Etapa 3: Autenticação com SMTP
Você deve autenticar-se com SMTP para usar o PHPMailer. Digite o endereço do seu servidor de e-mail ao lado do protocolo apropriado (, seja TLS/SSL ou SMTP) e inclua a porta com seu nome de usuário e senha. O protocolo e a porta que você usa dependem do seu provedor de e-mail. Os respectivos dados do servidor podem ser recuperados no site do provedor de e-mail.
Em vez de ENCRYPTION_STARTTLS
, você também pode usar ENCRYPTION_SMTPS
como método de criptografia. Com ENCRYPTION_SMTPS
, uma conexão só será estabelecida se o TLS TLS estiver ativo**. Isso significa que a comunicação com um servidor só é possível se o servidor suportar as medidas de criptografia necessárias para a transmissão segura. Com StartTLS, a conexão com o servidor de e-mail é estabelecida sem criptografia. Somente depois a criptografia é aplicada. Se não for possível aplicar a criptografia TLS, a troca de dados restante ocorrerá sem criptografia.
O SMTPS oferece um nível mais alto de segurança, enquanto o StartTLS temmelhor compatibilidade. Devido à sua compatibilidade, o StartTLS é geralmente a escolha preferida.
Etapa 4: Indique o destinatário do e-mail
Agora você pode designar os destinatários do seu e-mail no script.
Etapa 5: Adicionar o conteúdo do e-mail
Não se esqueça do conteúdo de seu e-mail. Ele geralmente consiste em um assunto e um texto, que pode ser especificado como versões HTML e não HTML. É importante observar que softwares mais antigos podem não ser capazes de lidar com o padrão atual HTML5, portanto, pode ser uma boa ideia criar seu e-mail usando HTML.
Você também pode enviar facilmente attachments com o PHPMailer usando a função addAttachment função. Imagens, músicas, documentos, vídeos e GIFs também podem ser enviados com o PHPMailer. Você também pode renomear seus anexos com um segundo parâmetro opcional que é transferido para a função.
Etapa 6: Use a codificação de caracteres correta
É uma boa ideia ativar UTF-8 no PHPMailer para evitar a ocorrência de erros de exibição ao processarletras acentuadas de outros idiomas, especialmente ao usar anexos diferentes. Você pode fazer isso adicionando as seguintes linhas de código ao seu script PHP:
Etapa 7: Enviar e-mail
Agora, é hora de enviar seu e-mail. Use o seguinte comando para fazer isso:
É melhor colocar todo o código mostrado na solicitação de envio no bloco de instrução try do seu script para que você possa detectar quaisquer erros.
Exemplo de código para enviar um e-mail com o PHPMailer
Abaixo está todo o código necessário para enviar um e-mail contendo um anexo de imagem para um destinatário de sua escolha usando o PHPMailer: