Mailtrap: фальшивий SMTP-сервер для передвиробничого тестування електронної пошти
Електронні листи є важливою частиною будь-якого веб-сайту. Раніше ми надсилали електронні листи про реєстрацію користувачів, інформаційні бюлетені, нові угоди, купони тощо. Перш ніж ці електронні листи почнуть надходити реальним користувачам, нам слід провести тестування електронної пошти на етапі розробки. У цій статті ми вивчаємо тестування пісочниці для електронних листів.
Mailtrap – це фальшивий сервер тестування SMTP, який корисний для попереднього тестування електронної пошти. Використовуючи Mailtrap, ви отримаєте власну поштову скриньку, де ви зможете перевірити, чи правильно відображаються ваші електронні листи.
Mailtrap дозволяє безкоштовно отримувати 500 листів на місяць у вашій поштовій скриньці. Для невеликого додатку достатньо 500 електронних листів із безкоштовним планом. Будь ласка, перевірте їх цінову сторінку, якщо вам потрібна додаткова квота.
Отримайте облікові дані SMTP Mailtrap
Перш ніж писати фактичний код електронної пошти, вам потрібно спочатку зареєструватися в Mailtrap і отримати облікові дані. Хоча Mailtrap надає платний тариф, користувачам не потрібно вводити дані кредитної картки для реєстрації.
Після реєстрації захопіть облікові дані сервера SMTP. Ви можете будь-коли змінити ці облікові дані. Зверніться до знімка екрана нижче.
Тепер давайте протестуємо одну електронну пошту, використовуючи PHPMailer та SMTP-сервер Mailtrap.
Інтеграція Mailtrap для тестування електронної пошти
Для тестування електронної пошти за допомогою Mailtrap ми надішлемо один фіктивний електронний лист. При використанні SMTP-сервера Mailtrap електронне повідомлення не надсилатиметься у скриньку реального користувача. Натомість він буде надісланий у вашу поштову скриньку Mailtrap.
Для надсилання електронного листа ми використовуємо бібліотеку PHPMailer. Для встановлення бібліотеки у вашій системі повинен бути встановлений Composer. Відкрийте термінал у кореневому каталозі проекту та запустіть команду нижче:
composer require phpmailer/phpmailer
У наведеному нижче коді замініть заповнювачі вашими обліковими даними SMTP-сервера Mailtrap. Також встановіть електронні листи відповідно до ваших вимог. Наразі я використовую свої електронні листи.
<?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;
}
Після запуску вищевказаного коду ваш електронний лист повинен бути надісланий у поштову скриньку Mailtrap таким чином:
На вкладці "Спам-аналіз" ви можете перевірити кількість спаму та чорний список вашого повідомлення та сервера. На вкладці "Перевірка HTML" буде перелічено перевірку HTML для вашої електронної пошти.
Я також рекомендую переглянути статтю Як надсилати електронні листи у PHP, написану в блозі Mailtrap.
Пов’язані статті
- Надіслати електронну пошту за допомогою SMTP-сервера Gmail із PHP Script
- Надсилання електронної пошти через SMTP-сервер Gmail у Laravel
- Як надсилати електронну пошту за допомогою SMTP-сервера Gmail та бібліотеки