Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Testing
Code

Введение в Mailtrap: фиктивный сервер SMTP для тестирования отправки электронных писем при разработке приложений

by
Difficulty:BeginnerLength:ShortLanguages:

Russian (Pусский) translation by Mick Levin (you can also view the original English article)

Final product image
What You'll Be Creating

Mailtrap предлагает вашей команде разработчиков фиктивный сервер SMTP для тестирования, просмотра и распространения электронных писем, посылаемых серверами, на которых ведется разработка. Подобное тестирование может проводиться с реальными данными без риска случайной их отправки настоящим клиентам. Этот сервис был создан компанией Railsware, и для многих задач разработки они предлагают его бесплатно.

Всё, что требуется сделать это зарегистрироваться на сервере Mailtrap и настроить вашу среду разработки так, чтобы письма отправлялись напрямую через SMTP на сервер Mailtrap.

Use MailTrap to capture email from testing development and staging environments

И с этого момента вся исходящая почта будет оседать в Mailtrap. Вы можете просмотреть и отладить оправленные письма через дружественный интерфейс сервиса.

Вы даже сможете использовать реальные почтовые адреса клиентов вашего приложения во время его тестирования и разработки. Ваши автоматизированные тесты могут работать с реальными данными, потому что Mailtrap предотвратит риск отправки тестовых сообщений на почту реальных клиентов.

Сколько стоит сервис Mailtrap?

Для небольших команд разработчиков или для небольших приложений Mailtrap бесплатен. Для более крупных задач стоимость сервиса может изменяться от 120 до 300 долларов США в год:

Mailtrap Pricing

Начинаем работу с Mailtrap

Регистрация делается просто. Вы даже можете использовать свою учётку в Google или GitHub:

Mailtrap Signup You can sign up via Google or Github

Например, я использовать свою учётку в GitHub, и регистрация завершилась без труда:

Authorize Signhub with Github via OAuth

После подтверждения регистрации Вам откроется интерфейс Mailtrap с демонстрационным почтовым ящиком:

The Mailtrap dashboard with your inboxes

Настройка Mailtrap

Далее я покажу как настроить разрабатываемое приложение для использования Mailtrap.

Нужно нажать иконку Settings в списке почтовых ящиков, и Вы увидите, что каждый ящик имеет свои собственные реквизиты сервера SMTP:

Mailtrap SMTP Server credentials

В любой момент эти реквизиты можно сбросить.

Сервис предлагает множество вариантов конфигураций:


Mailtrap Dropdown selector for configuration options

Для быстрой демонстрации я использую приложение "Hello", которое обсуждается в нашей серии уроков "Programming With Yii2 series". Если Вы тоже захотите использовать код этого примера для тестирования Mailtrap, то Вы можете склонировать репозиторий GitHub, данные для этого приведены ниже.

В нашем примере на платформе Yii, я изменяю настройки SMTP в файле "config/web.php". Вот это то, что Yii задает по-умолчанию:

И я меняю это на мои настройки в Mailtrap:

После этого я иду на страницу моего приложения (http://localhost:8888/hello/user/register) и ввожу мой пароль:

Yii Hello Application Sign Up

Yii сразу отправляет мне электронное письмо с подтверждением:

Yii Confirmation Email Announcement

И моментально это письмо появляется в моём почтовом ящике на Mailtrap.

Примечание: не путайте это письмо с подтверждением от самого Mailtrap - это было письмо, посланное из моего тестового приложения "Hello" на платформе Yii.

Посьмо показывается примерно также, как и в любом почтовом клиенте, например, в Gmail.

Mailtrap inbox display

Но кроме этого сервис предоставляет несколько закладок для отладки пришедших писем. Например, можно просмотреть исходный код HTML:

Mailtrap Message HTML source view

И еще можно провести проверку соответствия HTML кода стандартам:

Mailtrap message Check HTML validator

А можно провести анализ на спам и на блокирование как самого сообщения, так и отправившего его сервера:

Mailtrap message analysis - spam report and blacklist report

Mailtrap является мощным инструментом для отладки содержимого и кода писем.

Предоставление команде доступа к почтовым ящикам и сообщениям

Если требуется предоставить другим разработчикам доступ к почтовым ящикам, то можно это сделать отправив ссылки с приглашениями:

Mailtrap invite developers into your inboxes

Или можно сделать так, что входящие письма будут автоматически перенаправляться на учётки других разработчиков.

Mailtrap forwarding and shared users

Mailtrap API

Используя программный интерфейс API существует возможность написать автоматизированные тесты, проверяющие содержимое входящих писем. Документация к API приведена на сервере apiary. Иначе говоря, используя API Mailtrap у Вас есть возможность автоматически запускать скрипты и работать с реальными данными Вашего приложения, чтобы затем проверить содержимое и разметку электронных писем, содержащих настоящие данные.

The Mailtrap API inbox message view example

Хотите узнать больше?

Возможности и средства отладки сервиса Mailtrap очевидно супер-полезны и доступны по низкой цене. Если Вы хотите увидеть еще одну демонстрацию использования Mailtrap, то у нас есть запись презентации, сделанной Ярославом Лазорем на конференции Railsberry 2012:

Mailtrap является простым и очень полезным продуктом, и я надеюсь, что Вы тоже захотите его попробовать в своей работе.

И мы приглашаем Вас оставить нам Ваши комментарии, поправки и дополнительные идеи. Вы можете посмотреть другие мои уроки на сервере Tuts+, и подписаться на мой Twitter @reifman.

Ссылки по теме

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.