Всем привет. Большую часть времени я занимаюсь управлением разработкой проектов shopium.ua и zakaz.ua, но инженер внутри меня периодически требует развлечений. Не имея свободного времени на хакатоны, гаражи, стартап-сауны и прочее, я придумал себе свой формат «покодить чего душа пожелает»:
нужен мне самому
время на реализацию MVP — до 24х часов в сумме
бюджет — до $100
коммерческий потенциал
В наших проектах мы шлём пользователям письма. Мы шлём пользователям информационные рассылки, и с этим прекрасно справляется MailChimp, но ниша отсылки транзакционных писем (подтверждения, уведомления и т.д.) до недавнего времени была относительно пуста.
В большинстве проектов, которые я знаю, транзакционные письма прямо в коде создаются из шаблона письма (и хорошо если он вынесен в отдельные файл, а не зашит рядом в коде), и передаются локальному SMTP серверу. И при этом:
менять текст сообщений могут только программисты (это медленно и дорого, и при этом невозможно делегировать работу с текстами контент-менеджеру, а для любого изменения текста писем нужен редеплой системы)
не отслеживается открытие писем и клики по ссылкам (нет данных для улучшения текста письма)
не обрабатываются bounce (можно постоянно слать письма на несуществующие адреса, а это влияет на показатель «спамности» адреса, с которого шлются письма)
лишь у некоторых реализована подпись писем через DKIM (тоже уменьшает шансы на доставку письма в inbox)
Я решил за 24 часа сделать сервис, с помощью которого можно будет надёжно слать красивые письма, быстро менять их текст, и отслеживать статистику. Встречайте Notifout.
Что такое Notifout?
Notifout.com — это сервис для отправки транзакционных сообщений вашим пользователям, и работает он так:
вы в Notifout объявляете список шаблонов писем, которые вы хотите рассылать
когда нужно отослать пользователю письмо вы из своего приложения делаете HTTP POST запрос, передавая идентификатор шаблона, и любые дополнительные данные в виде JSON
Notifout используя ваш шаблон, и переданные данные сформирует HTML и plain-text версии письма, соберёт их в одно письмо, проставит токены для отслеживания открытия, пропишет в ссылках код для отслеживания кликов, проставит правильные заголовки для Return-Path и List-Unsubscribe, подпишет письмо с помощью DKIM ключа, и отправит получателю.
Вся информация о взаимодествии получателя с письмом
В случае если адресат недоступен — Notifout корректно отработает bounce, и отразит это в статусе письма.
О времени и ресурсах
Разработка велась в основном в перерывах между поездками и встречами, вечером под любимый сериал. В запланированный формат удалось вписаться практически полностью. Первая версия, заняла 23:30 (включая локализацию ru/en и оплату через PayPal/LiqPay), всё отсылала, принимала и всячески работала, но чтобы вписаться в тайминг из неё пришлось исключить реализацию DKIM/SPF. После релиза добавление SPF+DKIM заняло ещё около 4х часов.
В планах было чтобы не мозолить стандартным бутстрепом глаза — купить симпатичную тему на https://wrapbootstrap.com/, но пока всё достаточно симпатично и так.
Благодарности
Конечно такой результат за 24 часа был бы не возможен без прекрасного FOSS софта, и отличных сервисов:
Мы уже используем его в своих проектах, но мне хочется поделиться им с окружающими, поэтому для всех пользовтелей хабра до 01.08.12 действует акция: Зарегистрируйтесь на http://notifout.com, и напишите на serg@notifout.com кодовую фразу «Я c хабра», со ссылкой на свой профиль на хабре, и адресом под которым вы зарегистрировались в Notifout и я увеличу вам бесплатный лимит до 10 000 сообщений в месяц.
И на дессерт — видео 24х часов создания Notifout, сжатое до 11 минут, под аккомпанемент прекрасного пси-транса Etnica — Full-on: