Mailtrap: En falsk SMTP-server för e-posttestning före produktion
E-post är en viktig del av en webbplats. Vi brukade skicka e-postmeddelanden om användarregistrering, nyhetsbrev, nya erbjudanden, kuponger etc. Innan dessa e-postmeddelanden börjar sändas till riktiga användare, bör vi testa e-post under utvecklingsfasen. I den här artikeln studerar vi hur man gör sandlådestestning för dina e-postmeddelanden.
Mailtrap är en falsk SMTP-testserver som är användbar för e-posttest före produktion. Med Mailtrap får du din egen inkorg där du kan kontrollera att dina e-postmeddelanden visas korrekt eller inte.
Mailtrap tillåter 500 e-postmeddelanden per månad i din inkorg gratis. För en liten applikation räcker 500 e-postmeddelanden med en gratis plan. Kontrollera deras prissida om du behöver en extra kvot.
Få Mailtrap SMTP-referenser
Innan du skriver den faktiska koden för e-post måste du först registrera dig på Mailtrap och få referenserna. Även om Mailtrap tillhandahåller en betald plan behöver användare inte ange kreditkortsuppgifter för registrering.
Efter registrering, ta tag i dina SMTP-serveruppgifter. Du kan ändra dessa uppgifter när som helst. Se skärmdumpen nedan.
Låt oss nu testa ett e-postmeddelande med PHPMailer och Mailtrap SMTP-server.
Mailtrap-integration för e-posttestning
För e-posttestning med Mailtrap skickar vi en dummy-e-post. När du använder Mailtrap SMTP-servern skickas inte e-postmeddelandet till den riktiga användarens inkorg. Istället skickas det till din Mailtrap-inkorg.
Vi använder PHPMailer-biblioteket för att skicka ett e-postmeddelande. Du bör ha Composer installerat på ditt system för att installera biblioteket. Öppna terminalen i din projektkatalog och kör kommandot nedan:
composer require phpmailer/phpmailer
I nedanstående kod ersätter du platshållarna med dina autentiseringsuppgifter för Mailtrap SMTP-servern. Ställ också in e-postmeddelanden enligt dina krav. För närvarande använder jag mina e-postmeddelanden.
<?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;
}
När du kör ovanstående kod ska din e-post skickas till din Mailtrap-inkorg enligt följande:
På fliken Skräppostanalys kan du kontrollera skräppost och svartlistning för ditt meddelande och server. På fliken "Kontrollera HTML" visas HTML-validering mot din e-post.
Jag rekommenderar också att kolla in artikeln Så här skickar du e-postmeddelanden i PHP skrivet på Mailtrap-bloggen.
relaterade artiklar
- Skicka e-post med Gmail SMTP-server från PHP Script
- Skicka e-post via Gmail SMTP-server i Laravel
- Så här skickar du e-post med Gmail SMTP-server och Swift Mailer-bibliotek