Mailtrap: um servidor SMTP falso para teste de e-mail de pré-produção
Os e-mails são uma parte importante de qualquer site. Costumávamos enviar e-mails sobre cadastro de usuários, newsletters, novas ofertas, cupons, etc. Antes que esses e-mails comecem a ser enviados para usuários reais, devemos fazer um teste de e-mail na fase de desenvolvimento. Neste artigo, estudamos como fazer testes de sandbox para seus e-mails.
Mailtrap é um servidor de teste SMTP falso, útil para testes de e-mail de pré-produção. Usando o Mailtrap, você obterá sua própria caixa de entrada, onde poderá verificar se seus e-mails estão sendo exibidos corretamente ou não.
Mailtrap permite 500 emails por mês em sua caixa de entrada gratuitamente. Para um aplicativo pequeno, 500 e-mails são suficientes com um plano gratuito. Verifique a página de preços se precisar de uma cota adicional.
Obter credenciais SMTP do Mailtrap
Antes de escrever o código real para e-mails, você precisa primeiro se inscrever no Mailtrap e obter as credenciais. Embora o Mailtrap forneça um plano pago, os usuários não precisam inserir os detalhes do cartão de crédito para o registro.
Após o registro, obtenha as credenciais do servidor SMTP. Você pode alterar essas credenciais a qualquer momento. Consulte a imagem abaixo.
Agora, vamos testar um e-mail usando o servidor PHPMailer e Mailtrap SMTP.
Integração Mailtrap para Teste de Email
Para teste de e-mail com Mailtrap, enviaremos um e-mail fictício. Ao usar o servidor SMTP Mailtrap, o e-mail não será enviado para a caixa de entrada do usuário real. Em vez disso, ele será enviado para sua caixa de entrada Mailtrap.
Usamos a biblioteca PHPMailer para enviar um e-mail. Você deve ter o Composer instalado em seu sistema para instalar a biblioteca. Abra o terminal no diretório raiz do seu projeto e execute o comando abaixo:
composer require phpmailer/phpmailer
No código a seguir, substitua os espaços reservados por suas credenciais do servidor SMTP Mailtrap. Além disso, defina os e-mails de acordo com sua necessidade. Por enquanto, estou usando meus e-mails.
<?php
//Import PHPMailer classes into the global namespace
use PHPMailerPHPMailerPHPMailer;
use PHPMailerPHPMailerException;
require_once 'vendor/autoload.php';
$mail = new PHPMailer(true);
try {
$mail->isSMTP();
$mail->Host = 'smtp.mailtrap.io'; //mailtrap SMTP server
$mail->SMTPAuth = true;
$mail->Username = 'YOUR_USERNAME'; //username
$mail->Password = 'YOUR_PASSWORD'; //password
$mail->Port = 465; //smtp port
$mail->setFrom('[email protected]', 'Artisans Web');
$mail->addAddress('[email protected]', 'Sajid');
$mail->isHTML(true);
$mail->Subject = 'Mailtrap Email';
$mail->Body = 'Hello User, <p>This is a test mail sent through Mailtrap SMTP</p><br>Thanks';
if (!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: '. $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
} catch (Exception $e) {
echo 'Message could not be sent.';
echo 'Mailer Error: '. $mail->ErrorInfo;
}
Ao executar o código acima, seu e-mail deve ser enviado para a caixa de entrada do Mailtrap da seguinte forma:
Na guia Spam Analysis, você pode verificar a pontuação de spam e a lista negra de sua mensagem e servidor. A guia ‘Verificar HTML’ listará a validação de HTML em relação ao seu e-mail.
Também recomendo verificar o artigo How to Send Emails in PHP escrito no blog Mailtrap.
Artigos relacionados
- Enviar e-mail usando o servidor SMTP do Gmail a partir de script PHP
- Enviando e-mail via servidor SMTP do Gmail no Laravel
- Como enviar e-mail usando o servidor SMTP do Gmail e a biblioteca Swift Mailer