Mailtrap: поддельный SMTP-сервер для предпроизводственного тестирования электронной почты
Электронная почта – важная часть любого веб-сайта. Раньше мы отправляли электронные письма о регистрации пользователей, информационных бюллетенях, новых предложениях, купонах и т.д. Прежде чем эти электронные письма начнут отправляться реальным пользователям, мы должны провести тестирование электронной почты на этапе разработки. В этой статье мы узнаем, как проводить тестирование ваших писем в песочнице.
Mailtrap – это поддельный тестовый сервер SMTP, который полезен для предварительного тестирования электронной почты. Используя Mailtrap, вы получите свой собственный почтовый ящик, где вы сможете проверить, правильно ли отображаются ваши электронные письма.
Mailtrap позволяет бесплатно получать 500 писем в месяц в вашем почтовом ящике. Для небольшого приложения достаточно 500 писем с бесплатным тарифным планом. Пожалуйста, проверьте их страницу с ценами, если вам требуется дополнительная квота.
Получить учетные данные SMTP Mailtrap
Прежде чем писать фактический код для электронной почты, вам необходимо сначала зарегистрироваться в Mailtrap и получить учетные данные. Хотя Mailtrap предоставляет платный план, пользователям не нужно вводить данные кредитной карты для регистрации.
После регистрации получите учетные данные своего SMTP-сервера. Вы можете изменить эти учетные данные в любое время. См. Снимок экрана ниже.
Теперь давайте протестируем одно электронное письмо с помощью PHPMailer и SMTP-сервера Mailtrap.
Интеграция Mailtrap для тестирования электронной почты
Для тестирования электронной почты с помощью Mailtrap мы отправим одно фиктивное письмо. При использовании SMTP-сервера 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-скрипта
- Отправка электронной почты через SMTP-сервер Gmail в Laravel
- Как отправить электронную почту с помощью SMTP-сервера Gmail и библиотеки Swift Mailer