O PHPMailer é a biblioteca mais completa para o PHP , para envio de emails. Atualmente, quase todos os provedores exigem autenticação de SMTP para realizar o envio de emails. A tarefa de enviar emails usando o PHPMailer pelo PHP é bastante simples, bastando usar o código fonte de exemplo que iremos fornecer.
Primeiramente é necessário fazer o download da biblioteca PHPMail através deste link. Você também pode baixar outras versões do PHPMailer no site oficial, pelo Github neste link.
Neste exemplo, usaremos a seguinte estrutura:
- /public_html/enviar.php – Nosso arquivo que irá enviar o email
- /public_html/PHPMailer-master/ – Pasta contendo a biblioteca PHPMailer
Exemplo de código para envio de emails usando o PHP + PHPMailer
Basta copiar este código em seu PHP, alterando os parametros indicados. Observe os comentários no código e altere os campos de acordo com seu servidor.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 <?php// Inclui o arquivo class.phpmailer.php localizado na mesma pasta do arquivo phpinclude “PHPMailer-master/PHPMailerAutoload.php”;// Inicia a classe PHPMailer$mail = new PHPMailer();// Método de envio$mail->IsSMTP(); // Enviar por SMTP$mail->Host = “mail.meusitemodelo.com”; // Você pode alterar este parametro para o endereço de SMTP do seu provedor$mail->Port = 25;$mail->SMTPAuth = true; // Usar autenticação SMTP (obrigatório)$mail->Password = ‘senha-do-email’; // Mesma senha da sua conta de email// Configurações de compatibilidade para autenticação em TLS$mail->SMTPOptions = array(‘ssl’ => array(‘verify_peer’ => false,‘verify_peer_name’ => false,‘allow_self_signed’ => true));// $mail->SMTPDebug = 2; // Você pode habilitar esta opção caso tenha problemas. Assim pode identificar mensagens de erro.// Define o remetente$mail->FromName = “Francisco”; // Seu nome// Define o(s) destinatário(s)//$mail->AddAddress(‘[email protected]’);// CC//$mail->AddCC(‘[email protected]’, ‘Joana’);// BCC – Cópia oculta//$mail->AddBCC(‘[email protected]’, ‘Roberto’);// Definir se o e-mail é em formato HTML ou texto plano$mail->IsHTML(true); // Formato HTML . Use “false” para enviar em formato texto simples.$mail->CharSet = ‘UTF-8’; // Charset (opcional)// Assunto da mensagem$mail->Subject = “Assunto da mensagem”;// Corpo do email$mail->Body = ‘Corpo do email em html.<br><br><font color=blue>Teste de cores</font><br><br><img src=”http://meusitemodelo.com/imagem.jpg”>’;// Anexos (opcional)//$mail->AddAttachment(“/home/usuario/public_html/documento.pdf”, “documento.pdf”);// Envia o e-mail$enviado = $mail->Send();// Exibe uma mensagem de resultadoif ($enviado) {echo “Seu email foi enviado com sucesso!”;} else {echo “Houve um erro enviando o email: “.$mail->ErrorInfo;}?>