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



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



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



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



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



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



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



В любой момент эти реквизиты можно сбросить.
Сервис предлагает множество вариантов конфигураций:



Для быстрой демонстрации я использую приложение "Hello", которое обсуждается в нашей серии уроков "Programming With Yii2 series". Если Вы тоже захотите использовать код этого примера для тестирования Mailtrap, то Вы можете склонировать репозиторий GitHub, данные для этого приведены ниже.
В нашем примере на платформе Yii, я изменяю настройки SMTP в файле "config/web.php". Вот это то, что Yii задает по-умолчанию:
'errorHandler' => [ 'errorAction' => 'site/error', ], 'mailer' => [ 'class' => 'yii\swiftmailer\Mailer', 'viewPath' => '@app/mailer', 'useFileTransport' => false, 'transport' => [ 'class' => 'Swift_SmtpTransport', 'host' => 'your-smtp-host-domain', 'username' => 'your-email-or-username', 'password' => 'your-password', 'port' => '587', 'encryption' => 'tls', ], ], 'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0,
И я меняю это на мои настройки в Mailtrap:
'errorHandler' => [ 'errorAction' => 'site/error', ], 'mailer' => [ 'class' => 'yii\swiftmailer\Mailer', 'viewPath' => '@app/mailer', 'useFileTransport' => false, 'transport' => [ 'class' => 'Swift_SmtpTransport', 'host' => 'mailtrap.io', 'username' => '294XXXXXXXXXXdd20', 'password' => '403XXXXXXXXXX2f7', 'port' => '25', 'encryption' => 'tls', ], ], 'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0,
После этого я иду на страницу моего приложения (http://localhost:8888/hello/user/register) и ввожу мой пароль:



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



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



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



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



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



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



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



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



Хотите узнать больше?
Возможности и средства отладки сервиса Mailtrap очевидно супер-полезны и доступны по низкой цене. Если Вы хотите увидеть еще одну демонстрацию использования Mailtrap, то у нас есть запись презентации, сделанной Ярославом Лазорем на конференции Railsberry 2012:
Mailtrap является простым и очень полезным продуктом, и я надеюсь, что Вы тоже захотите его попробовать в своей работе.
И мы приглашаем Вас оставить нам Ваши комментарии, поправки и дополнительные идеи. Вы можете посмотреть другие мои уроки на сервере Tuts+, и подписаться на мой Twitter @reifman.