Como enviar email pela sua aplicação PHP usando php Mailer

PHPMailerTumb
PHPMailerTumb

Primeiramente o que é o PHPMailer é provavelmente a mais utilizado “código” para envio de emails, sendo utilizado em WordPress, Drupal, 1CRM, SugarCRM, Yii, Joomla.Com suporte integrado a SMTP.

PHPMailer logo
PHPMailer logo

Porém voce consegue maiores informaçoes e o código para inserir em seu sistema em https://github.com/PHPMailer/PHPMailer

Como Usar

Em nossa aplicação o utilizamos da seguinte maneira

Inclusão do arquivo

require_once __CLASS_FOLDER__ . ‘/phpmailer/PHPMailerAutoload.php’;

 

Função para o envio de email com PHPMailer

private function enviarEmailPadrao($dados){
//pega um template criado para inserir a mensagem dentro deste template colocarei este template abaixo
$arquivo_email = file_get_contents(__SYSTEM_URL__ . ‘/templates/template-padrao.php’);
//substitui no arquivo a variavel %MENSAGEM% com os dados trazidos no array na posição texto
$arquivo_email = str_replace(‘%MENSAGEM%’, $dados[‘texto’], $arquivo_email);

$mail = new PHPMailer();
$mail->CharSet = ‘UTF-8’;
$mail->IsSMTP();
$mail->Host = “smtp.rodoviariaonline.com.br”;
$mail->SMTPAuth = true;
$mail->Username = ‘teste@teste.com.br’;//seu email a utilizar na aplicação
$mail->Password = ‘suaSenha’;
$mail->Port = 587;//muito importante setar a porta 60 % dos problemas são por não a setar ou setar errada
$mail->From = “teste@teste.com.br”;//email de quem envia
$mail->Sender = “teste@teste.com.br”;//email de quem envia
$mail->FromName = “Seu teste de envio de email”;//nome do remetente

// Define os destinatário(s)
$mail->AddAddress($dados[‘email_para’]);//para quem vai o email

//se quiser enviar copia oculta
if(isset($dados[‘emailOculto_para’]) && $dados[‘emailOculto_para’]!=”” && isset($dados[‘nomeOculto_para’]) && $dados[‘nomeOculto_para’]!=””){
$mail->AddBCC($dados[‘emailOculto_para’], $dados[‘nomeOculto_para’]);
}
else if(isset($dados[‘emailOculto_para’]) && $dados[‘emailOculto_para’]!=””){
$mail->AddBCC($dados[‘emailOculto_para’]);
}
//se quiser anexar um arquivo junto
if(isset($dados[‘nomeArquivo’]) && $dados[‘nomeArquivo’]!=””){
$mail->AddAttachment(__ROOT_FOLDER__.’/logs/arquivos/’.$dados[‘nomeArquivo’].’.pdf’, $dados[‘nomeArquivo’].’.pdf’);
}
//para quem sera enviada a resposta do email
$mail->AddReplyTo(‘sac@rodoviariaonline.com.br’);
// Adicionando imagens incorporadas
$mail->AddEmbeddedImage(__ROOT_FOLDER__ . “/templates/imagem/cabecalho.png”, “img-cabecalho”, __ROOT_FOLDER__ . “/templates/imagem/cabecalho.png”);

$mail->IsHTML(true);
$mail->Subject = $dados[‘assunto’];
$mail->Body = $arquivo_email;
$mail->AltBody = $arquivo_email;

$enviado = $mail->Send();
}

Template da Mensagem a ser enviada

no nosso caso ele esta pasta templates em um arquivo chamado template-padrao.php

<?php

include_once “../includes/constantes.php”;
header(‘Content-Type: text/html; charset=utf-8’);

?>

<style>
body{
background-color: #F2F2F2;
color: #606060;
font-family: Arial, Helvetica, sans-serif;
font-size: 16px;
}
#container{
padding: 1px 15px 15px 15px;
width: 600px;
margin: 0 auto;
background-color: #FFF;
}
</style>
<html>
<head>
<script type=”application/ld+json”>
%SCHEMA%
</script>
</head>
<body>
<div id=”container”>
<p>
<a href=”https://seuSiteTeste.com.br” target=”_blank” style=”text-decoration: none;”>

<!– inserção de imagem de cabeçalho –>

<img src=”cid:img-cabecalho” border=0>
</a>
</p>
<br>
%MENSAGEM%
<p><i><small>Equipe Seu Site Teste<br>
Fone : (00) 0000-0000 (seg à sex das 8h às 23h)<br>
E-mail: <a href=”mailto:teste@teste.com.br” style=”text-decoration: none;”>teste@teste.com.br</a><br>
Duvidas: <a href=”https://seuSiteTeste.com.br” style=”text-decoration: none;” target=”_blank”>https://seuSiteTeste.com.br</a><br></i></p>

</div>
</body>
</html>

 

Lembrando que a indentação deve ser sempre respeitada e neste caso esta um pouco feia devido a maneira que o WordPress nos permite colocar.

Seja o primeiro a comentar

Deixe uma resposta