Debug Mail — простой в использовании smtp-сервер для разработчиков



    Debug Mail — сервис, предоставляющий почтовый сервер, который перехватывает и сохраняет все проходящие через него письма. Адреса отправителя и получателя не имеют значения, реальной отправки писем не происходит.

    Для подключения сервиса достаточно прописать настройки SMTP-сервера, полученные после регистрации, в вашем development-окружении. После этого весь email-трафик будет обрабатываться при помощи Debug Mail.

    Основные возможности:

    • Real-time обновление списка писем в web-интерфейсе. Новые письма отображаются сразу после получения письма SMTP-сервером.
    • Создание нескольких проектов для группировки писем по ним.
    • Приглашение коллег в проекты для совместной работы.
    • Быстрый поиск сообщений, группировка их по заголовку и дате получения.
    • Просмотр заголовков, html, text, plain версий письма.
    • Добавление комментариев к html контенту письма через сервис coment.me.
    • Открытие доступа к конкретным письмам по короткой ссылке (в том числе для незарегистрированных пользователей).

    Сервис находится в публичной бете. Будем благодарны за любую обратную связь — судите строго!

    Тем, кому интересно, как разрабатывался сервис рекомендую прочитать пост про серверную архитектуру Debug Mail.


    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 28

      +3
      Но зачем, если есть mailcatcher.me?
        –3
        Например чтоб при тестировании не отправлять письма реальным пользователям или на не существующие адреса.
          0
          Debug Mail — это сервис, его не нужно устанавливать в отличии от mailcatcher. Также в Debug Mail есть возможности для совместной работы.
          +3
          Много говорите о фичах, но какую проблему вы решаете?
          Интересный инструмент, но с чем его едят?
            0
            Решаем проблему отладки email-рассылок. Т.к. в этот процесс могут быть вовлечены сразу несколько сотрудников (разработчики, верстальщики, дизайнеры, клиенты), то важной частью сервиса мы сделали совместную работу.
              +3
              Это понял, но тогда еще вопрос.
              Какие задачи в рассылках требуют коллективного решения, для чего тут нужна совместная работа, и почему для этого нельзя использовать любой SMTP-сервер?
              Задаю не из праздного любопытства, а из профессионального интереса.
                0
                Опишу несколько кейсов:
                • Совместная работа нескольких разработчиков на staging сервере.
                • Работа тестировщика. Если найдена ошибка в письме, он может легко получить на него прямую ссылку и отправить её в баг-трекер.
                • Работа дизайнеров. Если есть какая-то ошибка в дизайне письма, можно добавить к нему комментарии через сервис coment.me. Это делается в один клик.
                • Показать письмо по прямой ссылке заказчику, если тот уже очень любопытный.


                Сервис делался с оглядкой на те ситуации, которые возникали при работе нашей команды.
                  0
                  Это скорее транзакционные рассылки или массовые? Есть ли у вас анализ DKIM, SPF и прочих подписей?
                    0
                    Имеется в виду работа над автоматическими рассылками в процессе разработки сайта/приложения и тд.
                    Предполагается использование исключительно в dev/staging окружении, анализа DKIM, SPF у нас нет, по этой причине.
                    +1
                    А как это связано с работой верстальщика (упомянутого вами дизайнера). Он сможет посмотреть это письмо в различных почтовых клиентах чтобы проверить не поплыл ли дизайн или еще какие косяки отладить?
                      0
                      На данный момент он может посмотреть как выглядит письмо в браузере. Описанная вами функция есть в плане для дальнейшнего развития сервиса, если комьюнити проявит заинтересованность.
              +1
              Это аналог mailtrap.io/?
                +1
                Да, сервисы решают примерно одну проблему, но у нас акцент на совместную работу.
                +16
                $ python -m smtpd -n -c DebuggingServer localhost:2525
                
                  0
                  Это не одно и тоже. Для локальной работы ваше решение вполне применимо, но это не достаточно удобно при работе в команде. Да и история писем не сохраняется.
                    +21
                    $ python -m smtpd -nc DebuggingServer localhost:2525 > smtp_history
                    

                    Теперь сохраняется. =) Конечно ваш сервис круче, с этим никто не спорит. Просто многие не знают, что если у них есть python в системе, то вот так просто можно запустить smtp-демон для дебага. Он входит в стандартную пайтоновскую библиотеку.
                      0
                      Да, такое решение тоже имеет право на жизнь. Вопрос в том, какие задачи возникают у конкретного разработчика/команды. Для кого-то ваше решение будет покрывать все необходимые задачи.
                  0
                  А почему порт 9025 а не 25?
                    0
                    Так проще было, из-за того, что слушать 25-й порт может только root.
                    Если есть какая-то причина, по которой 25й порт удобнее, то подумаем о том, чтобы настроить forwarding с него.
                      0
                      Причина простая — порт для SMTP это 25. RFC, IANA.

                      sudo iptables -t nat -A PREROUTING -p tcp -m tcp --dport 25 -j REDIRECT --to-ports 9025
                      
                        0
                        Это понятно. Сделаем.
                          0
                          Открыли 25й порт.
                      +1
                      Да крутая штука, чего уж тут.
                        +1
                        Он у вас почему-то не-MIME письма не принимает — молча закрывает сокет и всё. Понимаю, конечно, что plaintext письма почти никто не отправляет сейчас, но можно же хотя-бы по человечески по RFC ответить сообщением об ошибке и только после этого отключаться.

                        $ python
                        Python 2.7.3 (default, Feb 27 2014, 20:00:17) 
                        [GCC 4.6.3] on linux2
                        Type "help", "copyright", "credits" or "license" for more information.
                        >>> import smtplib
                        >>> s = smtplib.SMTP('debugmail.io', 9025, 'localhost')
                        >>> s.login("*********************", "***************")
                        (235, '2.7.0 Authentication successful')
                        >>> s.sendmail("wasd@localhost", "to@localhost", "non-mime-plaintext")
                        Traceback (most recent call last):
                          File "<stdin>", line 1, in <module>
                          File "/usr/lib/python2.7/smtplib.py", line 734, in sendmail
                            (code, resp) = self.data(msg)
                          File "/usr/lib/python2.7/smtplib.py", line 502, in data
                            (code, msg) = self.getreply()
                          File "/usr/lib/python2.7/smtplib.py", line 361, in getreply
                            raise SMTPServerDisconnected("Connection unexpectedly closed")
                        smtplib.SMTPServerDisconnected: Connection unexpectedly closed
                        
                          0
                          Спасибо, поправим.
                            0
                            Поправили это.
                            0
                            Отличный сервис, сделан достаточно просто. Он останется бесплатным?
                              0
                              Спасибо. Все доступные сейчас функции точно останутся бесплатными.

                            Only users with full accounts can post comments. Log in, please.