O PHPMailer é a biblioteca PHP mais popular para envio de e-mails via SMTP. Ele simplifica autenticação, criptografia (TLS/SSL), anexos e HTML, além de oferecer um debug útil para resolver problemas de configuração.
# Dentro da pasta do seu projeto
composer require phpmailer/phpmailer
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
try {
$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host = 'smtp.seudominio.com';
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'senha-super-secreta'; // use variável de ambiente
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
$mail->CharSet = 'UTF-8';
$mail->setFrom('[email protected]', 'Seu Site');
$mail->addAddress('[email protected]', 'Fulano');
$mail->addReplyTo('[email protected]', 'Atendimento');
$mail->isHTML(true);
$mail->Subject = 'Bem-vindo!';
$mail->Body = '<h3>Olá, Fulano!</h3><p>Sua conta foi criada.</p>';
$mail->AltBody = 'Olá, Fulano! Sua conta foi criada.';
$mail->send();
echo 'Mensagem enviada com sucesso!';
} catch (Exception $e) {
echo "Erro ao enviar: {$mail->ErrorInfo}";
}
?>
$mail->addAttachment(__DIR__ . '/docs/termos.pdf'); // anexo
$mail->addAttachment(__DIR__ . '/img/logo.png', 'logo.png'); // nome opcional
Para usar o Gmail, ative a Verificação em duas etapas e gere uma Senha de app para SMTP. Configure assim:
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'sua-senha-de-app';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
$mail->SMTPDebug = \PHPMailer\PHPMailer\SMTP::DEBUG_SERVER; // detalhes do handshake
$mail->Debugoutput = 'html';
CharSet e prefira HTML + AltBody.setFrom) e resposta (addReplyTo), evitando spoofing.smtp.gmail.com, STARTTLS na porta 587 (ou SMTPS 465), ative 2FA e use uma Senha de app para autenticar.addAttachment() para anexos, isHTML(true) e AltBody; defina CharSet = 'UTF-8' para acentuação.Precisa gerar senhas, validar CPF/CNPJ ou criar QR Code? Acesse nossos Geradores e Validadores Online.