Mailtrap: fałszywy serwer SMTP do przedprodukcyjnego testowania poczty e-mail
E-maile są ważną częścią każdej witryny. Kiedyś wysyłaliśmy e-maile dotyczące rejestracji użytkowników, biuletynów, nowych ofert, kuponów itp. Zanim te e-maile zaczną wysyłać do prawdziwych użytkowników, powinniśmy przeprowadzić testy e-maili w fazie rozwoju. W tym artykule dowiemy się, jak testować e-maile w piaskownicy.
Mailtrap to fałszywy serwer testujący SMTP, który jest przydatny do testowania przedprodukcyjnych wiadomości e-mail. Korzystając z Mailtrap, otrzymasz własną skrzynkę odbiorczą, w której możesz sprawdzić, czy wiadomości e-mail wyświetlają się poprawnie, czy nie.
Mailtrap pozwala na 500 e-maili miesięcznie w Twojej skrzynce odbiorczej za darmo. W przypadku małej aplikacji wystarczy 500 e-maili przy bezpłatnym abonamencie. Sprawdź ich stronę z cenami, jeśli potrzebujesz dodatkowego limitu.
Uzyskaj poświadczenia SMTP Mailtrap
Przed napisaniem rzeczywistego kodu do wiadomości e-mail musisz najpierw zarejestrować się w Mailtrap i uzyskać dane uwierzytelniające. Chociaż Mailtrap zapewnia płatny plan, użytkownicy nie muszą wprowadzać danych karty kredytowej w celu rejestracji.
Po rejestracji pobierz dane uwierzytelniające serwera SMTP. Możesz zmienić te poświadczenia w dowolnym momencie. Zobacz zrzut ekranu poniżej.
Teraz Przetestujmy jeden e-mail przy użyciu PHPMailer i Mailtrap SMTP serwer.
Integracja Mailtrap do testowania poczty e-mail
W przypadku testowania poczty e-mail za pomocą Mailtrap wyślemy jeden fałszywy e-mail. W przypadku korzystania z serwera Mailtrap SMTP wiadomość e-mail nie zostanie wysłana do skrzynki odbiorczej rzeczywistego użytkownika. Zamiast tego zostanie wysłany do Twojej skrzynki odbiorczej Mailtrap.
Do wysyłania e-maili używamy biblioteki PHPMailer. Aby zainstalować bibliotekę, w systemie powinien być zainstalowany Composer. Otwórz terminal w katalogu głównym projektu i uruchom poniższe polecenie:
composer require phpmailer/phpmailer
W poniższym kodzie zastąp symbole zastępcze swoimi poświadczeniami serwera SMTP Mailtrap. Ustaw również e-maile zgodnie z wymaganiami. Na razie korzystam z moich e-maili.
<?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;
}
Po uruchomieniu powyższego kodu, twój e-mail powinien zostać wysłany do skrzynki odbiorczej Mailtrap w następujący sposób:
Na karcie Analiza spamu możesz sprawdzić wynik spamu oraz czarną listę wiadomości i serwera. Zakładka „Sprawdź HTML" wyświetli listę sprawdzania poprawności HTML w Twoim e-mailu.
Polecam również zapoznać się z artykułem Jak wysyłać e-maile w PHP napisanym na blogu Mailtrap.
Powiązane artykuły
- Wyślij e-mail za pomocą serwera SMTP Gmaila z PHP Script
- Wysyłanie wiadomości e-mail przez serwer SMTP Gmaila w Laravel
- Jak wysłać wiadomość e-mail za pomocą serwera SMTP Gmaila i biblioteki Swift Mailer