Enviando E-Mails com a Classe PHPMailer
O PHP possui a [Only registered and activated users can see links. Click Here To Register...], porém ela é simples demais, uma vez que só é possível usar SMTP local, além de ser necessário definir manualmente todos os cabeçalhos da mensagem. Esses cabeçalhos devem ser preenchidos corretamente, uma vez que são usados por servidores de emails como principal forma de identificação de spam. Mensagens com cabeçalhos fracos e incompletos têm alta probabilidade de serem consideradas spam.
A fim de facilitar o envio de e-mails, foi criada a classe [Only registered and activated users can see links. Click Here To Register...], que possui excelente configuração de cabeçalhos, além de facilitar tarefas meio chatas, como anexar arquivos nas mensagens.
A classe PHPMailer pode ser baixada em seu [Only registered and activated users can see links. Click Here To Register...]. O pacote baixado terá, dentre outros arquivos e diretórios, os arquivos class.phpmailer.php e class.smtp.php. O primeiro contém a classe PHPMailer, a qual instanciaremos para o envio da mensagem; o segundo contém a classe para envio de email por SMTP. Esse arquivo é automaticamente inclúido pela classe PHPMailer, caso opte-se por envio via SMTP, ou seja, não é necessário incluir esse arquivo, apenas o class.phpmailer.php.
Aqui um exemplo simples, com comentário nas principais instruções. Usarei o SMTP do GMail, mas pode ser usado qualquer outro SMTP. Notem que o GMail usa SSL e porta diferente da padrão do SMTP (25).
Código PHP:
require 'phpmailer/class.phpmailer.php';
$PHPMailer = new PHPHPMailerailer();
// define que será usado SMTP
$PHPMailer->IsSMTP();
// envia email HTML
$PHPMailer->isHTML( true );
// codificação UTF-8, a codificação mais usada recentemente
$PHPMailer->Charset = 'UTF-8';
// Configurações do SMTP
$PHPMailer->SMTPAuth = true;
$PHPMailer->SMTPSecure = 'ssl';
$PHPMailer->Host = 'smtp.gmail.com';
$PHPMailer->Port = 465;
$PHPMailer->Username = 'seu_login';
$PHPMailer->Password = 'sua_senha';
// E-Mail do remetente (deve ser o mesmo de quem fez a autenticação
// nesse caso [email protected])
$PHPMailer->From = '[email protected]';
// Nome do rementente
$PHPMailer->FromName = 'Seu Nome';
// assunto da mensagem
$PHPMailer->Subject = 'Teste';
// corpo da mensagem
$PHPMailer->Body = '<p>Mensagem em HTML</p>';
// corpo da mensagem em modo texto
$PHPMailer->AltBody = 'Mensagem em texto';
// adiciona destinatário (pode ser chamado inúmeras vezes)
$PHPMailer->AddAddress( '[email protected]' );
// adiciona um anexo
$PHPMailer->AddAttachment( 'arquivo.pdf' );
// verifica se enviou corretamente
if ( $PHPMailer->Send() )
{
echo "Enviado com sucesso";
}
else
{
echo 'Erro do PHPMailer: ' . $PHPMailer->ErrorMsg;
}
É muito fácil mexer com o PHPMailer. Até anexar um arquivo é simples!
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
Retirado de: [Only registered and activated users can see links. Click Here To Register...]