O que é PHPMailer e para que serve?
\n\nPHPMailer é 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
- 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
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\nInstalação do PHPMailer
\n\nO 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\nAbra o terminal na pasta raiz do seu projeto e execute o comando:
\n\ncomposer require phpmailer/phpmailer\n\nApó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:
require 'vendor/autoload.php';\n\nSe 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.
Início rápido com exemplo de código
\n\nVamos 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<