PHPMailer para PHP: guia completo com exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é PHPMailer e para que serve?

\n\n

PHPMailer é uma das bibliotecas mais populares e poderosas para envio de e-mails em PHP. Ela fornece uma interface simples, mas ao mesmo tempo flexível, para trabalhar com os protocolos SMTP, POP3 e IMAP. Ao contrário da função padrão do PHP mail(), o PHPMailer oferece muitas vantagens:

\n\n
    \n
  • Suporte a autenticação SMTP — envio seguro através de servidores de e-mail externos (Gmail, Yandex, Mail.ru, seu próprio servidor SMTP).
  • \n
  • Trabalho com e-mails HTML — criação de e-mails bonitos e formatados com imagens e estilos.
  • \n
  • Anexos — possibilidade de anexar arquivos de qualquer tipo.
  • \n
  • Suporte a UTF-8 — funcionamento correto com caracteres cirílicos e outros idiomas.
  • \n
  • Proteção contra injeção de cabeçalhos — segurança da sua aplicação.
  • \n
  • Suporte a várias codificações — Base64, Quoted-Printable e outras.
  • \n
  • Trabalho com CC e BCC — cópias ocultas e abertas.
  • \n
\n\n

A biblioteca é usada em milhares de projetos em todo o mundo, incluindo CMS como WordPress, Drupal e Joomla. Se você precisa enviar e-mails a partir de uma aplicação PHP — sejam notificações de registro, redefinição de senha, newsletters ou propostas comerciais — o PHPMailer será sua ferramenta indispensável.

\n\n

Instalação do PHPMailer

\n\n

O PHPMailer é instalado via Composer — o gerenciador de dependências para PHP. Se você ainda não tem o Composer, instale-o a partir do site oficial getcomposer.org.

\n\n

Abra o terminal na pasta raiz do seu projeto e execute o comando:

\n\n
composer require phpmailer/phpmailer
\n\n

Após a instalação bem-sucedida, uma pasta vendor e o arquivo composer.json aparecerão no seu projeto. Para incluir a biblioteca no seu script PHP, use o autoloader do Composer:

\n\n
require 'vendor/autoload.php';
\n\n

Se você não usa o Composer, pode baixar a biblioteca manualmente do GitHub e incluí-la via require_once, mas é altamente recomendável usar o Composer para gerenciamento automático de dependências.

\n\n

Início rápido com exemplo de código

\n\n

Vamos enviar nosso primeiro e-mail com o PHPMailer. Neste exemplo, usamos o servidor SMTP do Gmail. Certifique-se de ter ativado o acesso a aplicativos menos seguros ou use uma senha de aplicativo (App Password) para autenticação de dois fatores.

\n\n
<?php\n// Inclui o autoloader do Composer\nrequire 'vendor/autoload.php';\n\n// Importa as classes do PHPMailer\nuse PHPMailer\\PHPMailer\\PHPMailer;\nuse PHPMailer\\PHPMailer\\SMTP;\nuse PHPMailer\\PHPMailer\\Exception;\n\n// Cria uma instância do PHPMailer\n$mail = new PHPMailer(true);\n\ntry {\n    // Configurações do servidor\n    $mail->SMTPDebug = SMTP::DEBUG_OFF; // Desativa a depuração (para produção)\n    $mail->isSMTP();                     // Usa SMTP\n    $mail->Host       = 'smtp.gmail.com'; // Servidor SMTP\n    $mail->SMTPAuth   = true;            // Ativa autenticação\n    $mail->Username   = 'your_email@gmail.com'; // Seu e-mail\n    $mail->Password   = 'your_password';        // Sua senha ou senha de aplicativo\n    $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // Criptografia SSL\n    $mail->Port       = 465;             // Porta para SSL\n\n    // Remetente e destinatário\n    $mail->setFrom('your_email@gmail.com', 'Seu Nome');\n    $mail->addAddress('recipient@example.com', 'Nome do Destinatário');\n\n    // Conteúdo do e-mail\n    $mail->isHTML(true); // Define o formato HTML\n    $mail->Subject = 'E-mail de teste do PHPMailer';\n    $mail->Body    = '<h1>Olá!</h1><p>Este é um e-mail de teste enviado com <b>PHPMailer<                    

Recommendations