Como enviar e-mails com o PHP Mailer

Você pode implementar os e-mails transacionais da SendPulse com configurações de SMTP em seu projeto usando PHPMailer. O PHPMailer é compatível com muitas bibliotecas PHP e permite que você crie um e-mail personalizado com um anexo e envie para seus assinantes.

No artigo, veremos como instalar o PHPMailer, onde encontrar os parâmetros SMTP em sua conta SendPulse e como configurar um arquivo para enviar um e-mail.

Instalar o PHPMailer

Você pode instalar o PHPMailer via Composer ou faça o download do arquivo e instale-o em seu projeto.

Se você estiver usando o Composer, adicione a seguinte linha ao seu arquivo "composer.json":

"phpmailer/phpmailer": "^6.5"

Ou execute o seguinte comando:

compositor requer phpmailer/phpmailer

Se você não estiver usando o Composer, baixe os arquivos PHPMailer e adicione-os por meio de classes adicionais:

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

requer 'caminho/para/PHPMailer/src/Exception.php';
requer 'caminho/para/PHPMailer/src/PHPMailer.php';
require 'path/to/PHPMailer/src/SMTP.php';

Confira os detalhes da instalação e um exemplo de código no documentação oficial do PHPMailer.

Copiar suas credenciais de login SMTP

Vá para “Configurações de SMTP” > guia “Geral” em sua conta SendPulse. Copie os valores de autorização em SMTP: endereço do servidor, porta, login e senha.

Você pode acessar as configurações de SMTP depois que seu perfil for ativado. A mensagem "Seu perfil está sendo moderado" desaparecerá da página e você receberá um e-mail notificando que sua conta foi aprovada e ativada.

Configure o objeto para usar SMTP

Se você usou o Composer para instalar o PHPMailer, adicione o arquivo autoload.php:

requer 'path/to/composer/vendor/autoload.php';

Se você instalou o PHPMailer manualmente, inicialize-o assim:

requer caminho/para/PHPMailer/src/PHPMailer.php';
requer caminho/para/PHPMailer/src/SMTP.php';
require path/to/PHPMailer/src/Exception.php';

Crie uma classe PHPMailer e um novo objeto:

<?php
use PHPMailer\PHPMailer\PHPMailer;

Crie um novo objeto PHPMailer:

$mail = new PHPMailer(true);

Em seguida, adicione os parâmetros SMTP, os dados sobre seu remetente e destinatários e seu conteúdo de e-mail.

Adicionar configurações de SMTP

Na seção "Configurações do servidor", você precisa adicionar os dados de suas configurações de SMTP à sua conta da SendPulse.

//Configurações do servidor
    $mail->SMTPDebug = SMTP::DEBUG_SERVER; //Ativa a saída de depuração detalhada
    $mail->isSMTP(); //Envia usando SMTP
    $mail->Host = 'smtp-pulse.com'; //Configura o servidor SMTP para enviar
    $mail->SMTPAuth = true; //Ativar autenticação SMTP
    $mail->Nome de usuário = 'usuário@exemplo.com'; // nome de usuário SMTP
    $mail->Senha = 'segredo'; //Senha SMTP
    $mail->SMTPSecure = 'ssl'; //Ativar criptografia TLS implícita
    $mail->Porta = 465; //Porta TCP para conectar; use 587 se você definiu `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`

Onde:

Anfitrião Endereço do servidor
SMTPAuth Indica se a autenticação está habilitada (no nosso caso, sim, nós a usamos e precisamos adicionar o valor true)
Nome de usuário Seu login de e-mail da SendPulse
Senha Senha para sua conta SendPulse
SMTPSecure Tipo de criptografia (corresponde à porta)
Porta A porta que você usará para se conectar ao SMTP. Você pode escolher 2525, 465 e 587

Adicione o remetente e os destinatários

Especifique o remetente e os destinatários na seção "Destinatários".

//Destinatários
    $mail->setFrom('from@example.com', 'Mailer');
    $mail->addAddress('joe@example.net', 'Joe User'); //Adiciona um destinatário
    $mail->addAddress('ellen@example.com'); //Nome é opcional
    $mail->addCC('cc@example.com');
    $mail->addBCC('bcc@example.com');

Onde:

setFrom Nome e endereço do remetente do e-mail.

O endereço do remetente deve ser verificado em sua conta SMTP.

adicionar endereço Endereço de e-mail e nome do destinatário principal.

Você pode enviar quantos e-mails por hora forem determinados pelo seu plano de preços.

adicionar CC Endereço de e-mail e nome do destinatário secundário na cópia. O destinatário verá outros destinatários.
adicionar BCC Endereço de e-mail e nome do destinatário secundário em BCC. O destinatário não verá outros destinatários.

Adicione seu conteúdo de e-mail

Especifique os parâmetros de e-mail na seção "Conteúdo".

Para personalizar a mensagem no valor do parâmetro, você pode usar suas variáveis ​​de projeto.

 //Conteúdo
    $mail->isHTML(true); //Definir formato de e-mail para HTML
    $mail->Assunto = 'Aqui está o assunto';
    $mail->Codificação = 'base64';

    $mail->Body = 'Este é o corpo da mensagem HTML <b>em negrito!</b>';
    $mail->AltBody = 'Este é o corpo em texto simples para clientes de correio não HTML';
   $mail->msgHTML(file_get_contents('contents.html'), __DIR__);

Onde:

Assunto Assunto do seu e-mail
Corpo Corpo do seu e-mail em HTML
AltBody Versão de texto do seu e-mail
Codificação Codifica o conteúdo do e-mail no formato de dados selecionado. Você pode usar os valores base64 e quoted-printable.
msgHTML Converte uma versão de e-mail HTML em uma versão de texto

Além disso, você pode anexar arquivos à mensagem. Especifique o caminho e o nome do arquivo no parâmetro addAttachment

//Anexos
    $mail->addAttachment('/var/tmp/file.tar.gz'); //Adicionar Anexos
    $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); //Nome opcional

Definir os atributos de envio

No final do documento, a função de envio é especificada. No comando echo, você pode especificar qual mensagem exibir se o envio for bem-sucedido ou ao receber um erro de envio:

$mail->send();
    echo 'Mensagem enviada';
} catch (Exceção $e) {
    echo "A mensagem não pôde ser enviada. Erro do Mailer: {$mail->ErrorInfo}";
}

Você pode verificar um exemplo de uma configuração de arquivo diferente na documentação oficial do PHPMailer: Exemplo simples e Exemplo: SMTP.

Se você estiver tendo problemas para usá-lo, você também pode consultar o Solucionar problemas de PHPMailer e visualizar Códigos de erro SMTP.

Depois, você precisará executar um arquivo de acordo com as configurações do seu projeto em cada evento para enviar um e-mail transacional.

    Rate this article about "Como enviar e-mails com o PHP Mailer"

    User Rating: 4 / 5

    Anterior

    Como enviar e-mails via SMTP usando clientes de e-mail

    Próximo

    Utilizando o servidor de SMTP da SendPulse com o MailPoet do WordPress

    Teste o servidor SMTP do SendPulse gratuitamente