Se você já tem o Composer no projeto:
composer require phpmailer/phpmailer
No início do seu código:
use PHPMailer\\PHPMailer\\PHPMailer;
use PHPMailer\\PHPMailer\\Exception;
require 'vendor/autoload.php';
<?php
use PHPMailer\\PHPMailer\\PHPMailer;
use PHPMailer\\PHPMailer\\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try {
// Configuração do servidor SMTP
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com'; // Ex: Gmail, Outlook, SendGrid
$mail->SMTPAuth = true;
$mail->Username = '[email protected]'; // Seu email
$mail->Password = 'sua_senha_app'; // Senha de app
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
// Remetente
$mail->setFrom('[email protected]', 'Seu Nome');
// Destinatários principais
$mail->addAddress('[email protected]', 'Fulano');
$mail->addAddress('[email protected]'); // sem nome
// Cópias (CC e BCC)
$mail->addCC('[email protected]');
$mail->addBCC('[email protected]');
// Anexos
$mail->addAttachment('/caminho/para/arquivo.pdf'); // Anexo simples
$mail->addAttachment('/caminho/para/foto.jpg', 'minha_foto.jpg'); // Anexo renomeado
// Conteúdo
$mail->isHTML(true);
$mail->Subject = 'Teste PHPMailer com anexos e múltiplos destinatários';
$mail->Body = '<h2>Olá, pessoal!</h2><p>Segue e-mail enviado com <b>PHPMailer</b>.</p>';
$mail->AltBody = 'Olá, pessoal! Segue e-mail enviado com PHPMailer (texto simples).';
// Envio
$mail->send();
echo '✅ Mensagem enviada com sucesso!';
} catch (Exception $e) {
echo "❌ Erro ao enviar: {$mail->ErrorInfo}";
}
Adicionar múltiplos destinatários:
$mail->addAddress('[email protected]');
$mail->addAddress('[email protected]');
Adicionar anexos:
$mail->addAttachment('documento.pdf');
$mail->addAttachment('imagem.png', 'foto.png'); // renomeia
Enviar em HTML + texto alternativo (para clientes que não suportam HTML):
$mail->isHTML(true);
$mail->Body = '<b>Mensagem em HTML</b>';
$mail->AltBody = 'Mensagem em texto simples';
Debug do SMTP (para ver erros de conexão):
$mail->SMTPDebug = 2; // Mostra detalhes no terminal