суббота, января 26, 2013

GeekJob, шаг 1 и первые грабли, email рассылка (SPF и DKIM)

(речь пойдет про GeekJob, который был только что запущен).

Наверное, об этом много сказано. Но я не каждый день запускаю стартапы, поэтому делюсь с вами технической инфой на будущее. Потому что даже самые тру-гики, с которыми мне довелось общаться, не знают об этом. Рано или поздно вам это может пригодиться. Итак, речь пойдет о email рассылке для стартапа.

Наступит и день и у вас возникнет вопрос: как сделать так, чтобы сообщения всегда попадали в почтовый ящик? Протокол SMTP был изобретен давно, и является по сути таким legacy-динозавром, который достался нам со времен основания интернета. Никто тогда не понимал проблему спама, а сейчас она стоит очень остро. И это в первую очередь касается вас, стартаперы.

Вот есть у вас готовый сайт или заглушка, на которой вы собираете емайлы. И наступает день X, когда у вас есть список из тысячи, например, емайлов, по которым нужно разослать анонс. Кроме того, ваш крутейший, конечно же, сервис должен успешно рассылать письма о подтверждении регистрации (и какие-то другие, для того, чтобы уведомить юзера о том или ином событии).

Если вы хотите сделать свой собственный локальный smtp сервер, который будет просто отсылать письма, то вы на совершенно ошибочном пути. В книге для стартаперов Start Small Stay Small так и сказано: "Don't do that". Причина в том, что в наше время существуют особые Anti Spam Policies, которых стартапер обязан придерживаться. Иначе письма попадут в спам, и конверсия упадет просто катастрофически. В некоторых случаях можно будет ставить крест на вашем крутом домене (или переписываться с разными spamhaus для того, чтобы извлечь ваш домен или IP из списка спамеров).

Эти Anti Spam Policies настолько геморойные, что проще подготовить 1000 рублей и платить небольшую денежку ежемесячно, только ради того, чтобы избежать этого.

И если вы захотите этого геморроя избежать, то вам нужно будет передать email рассылку сторонним компаниям, которые профессионально этим занимаются, общаются с интернет-провайдерами, у которых есть договоренность с топ-мейл-сервисами типа gmail'а и т.д. Но и тут не все так просто. Рассылка в наше время разделяется на два типа:

  • Bulk emails
  • Transactional emails
Итак, что же такое Bulk emails и чем оно отличается от transactional? Bulk это рассылка идентичных емайлов по списку. Это могут быть новости, анонсы, коммерческие предложения и т.д. Другими словами, email для каждого получателя не будет особо отличаться (возможно вообще не будет отличаться, а возможно поменяется только приветствие).


Transactional emails, это как раз те емайлы, которые присылаются юзеру по наступлению каких-либо событий, связанных с активностью юзера на сайте. Например, юзер регистрируется, ему приходит письмо с просьбой подтвердить свой акк. В случае с GeekJob (работа в IT ;)) еще один пример события это когда работодатель связывается с гиком или наоборот. В случае с каким-нибудь форумом это емайл в котором приходит уведомление о личном сообщении. Другими словами, transactional emails это емайлы, которые связаны с уведомлениями о событии.

И так сложилось в Интернете, что нельзя путать эти два понятия. Нельзя юзать одну компанию для отсылки и bulk и transactional емайлов. Почему? Как они сами говорят, "провайдеры ожидают от нас емайлов только одного типа". Поэтому, скажем, такой известный сервис bulk-рассылок MailChimp имеет свой сервис для transactional email'ов: ManDrill (г...но еще то, не юзайте).

Всего этого я, конечно, до определенного момента не знал. В предыдущих стартапах юзал просто Google Apps, который позволял рассылать по-моему сотню писем в день :)

Сейчас, после тестирования все сервисов могу сказать и посоветовать следующее:

  • ManDrill - для transactional emails. Дают возможность отправить 40.000 бесплатных емайлов в месяц. Сначала повелся на это. Попробовал отправить через них три (!) емайла. Из трех емайлов дошел только один. Надо ли говорить, что сервис г...но? Более того, сразу при регистрации у них норма 25 емайлов в час. Если вы выходите за этот предел, то ваши емайлы будут отправлены в следующий час. Порог могут поднять, но они не говорят как они это делают. Возможно забивают болт на это.
  • MailChimp - для bulk емайлов. Т.к. ManDrill доставил только одно письмо из трех, в MailChimp не было идти никакого желания. (прим.:Некоторые люди хвалят).
  • SendGrid - для transactional emails. Зарегался там, просили меня по емайлу объяснить что за сайт, просили обновить DNS'ы и после этого только им написать. Может быть вполне нормальная контора. Но я не выдержал процедуры.
  • PostmarkApp - для transactional емайлов. Простой интерфейс, ясно говорят как и что сделать. Рассылать можно сразу. Правда, нельзя рассылать от имени noreply@geekjob.ru, говорят что это bad practice. Требуется емайл в зоне домена, для чего был сделал отдельный емайл через Google Apps for Business (гугл по-моему бесплатно до 10 емайлов, если я не прав, то поправьте меня). PostmarkApp дают бесплатно 1000 кредитов, а также предоставляют стартапам 50.000 бесплатных кредитов (есть условия).
  • CampaignMonitor - для bulk рассылок. За создание рассылки берут 5 баксов. За 1 емайл берут 1 цент. Есть хорошая статистика.
В итоге я остановился на PostmarkApp и CampaignMonitor. Если вы еще не поняли, то внимание! В вашем стартапе должно быть два сервиса: для bulk рассылок (новости и т.д.) и для transactional рассылок (уведомление о регистрации).

Сервис Transactional-рассылок (в моем случае это PostMarkApp) внедряется непосредственно в конфигурацию проекта. Т.е. мы указываем в нем smtp-сервер через который нужно слать все эти письма.

А bulk-рассылки мы создаем сами, на сайте CampaignMonitor (в моем случае). Т.е. делаем это только из браузера.

Но на этом фан не заканчивается. И надо сказать, если вы начнете рассылать, не прочитав что написано далее, то считайте, что вы ничего не узнали. Самое важное это два слова: SPF и DKIM.

SPF расшифровывается как Sender Policy Framework, DKIM что-то вроде Domain Keys. Если вкратце, то это технология созданная для борьбы со спамерами. Вы можете рассылать и так, ничего не зная об этом. Но ваши письма будут намного чаще попадать в спам. Поэтому лучше всего чтобы вы настроили SPF и DKIM.

Как же это сделать? Очень просто. Все это настраивается в панели домена вашего провайдера. В моем случае я регистрировал домен в R01 (убогая у них панель, но сама контора нормальная вроде), туда и идем. Все, что нужно для настройки SPF и DKIM это добавить соответствующие TXT записи к вашему домену. Если вы настраивали Google Apps для вашего домена, то вы наверное уже добавляли MX записи и знаете как это делать.

SPF и DKIM это просто название. Для вас все выглядит в виде небольших TXT записей, которые вы должны добавить к вашему домену. Разные почтовые сервера будут их по-своему обрабатывать. Эти TXT записи вы получите непосредственно в PostmarkApp и в CampaignMonitor. Если вы все сделали правильно, то записи будут выглядеть примерно вот так:


ВНИМАНИЕ! Если у вас нет SPF и DKIM записей, то не надо слать письма через PostmarkApp и CampaignMonitor! Если записи есть, то подождите час-два пока обновятся DNS!

Моя ошибка была в том, что я отправил bulk-мейлы без SPF и DKIM записи для CampaignMonitor, хотя они были для PostmarkApp. В итоге статистика доставки была довольно печальной:


Т.е. примерно 112 писем не дошло и они попали в Gmail Spam (люди жалуются в комментах к предыдущему посту). Хотя у Gmail'а порой спам фильтр настолько суров, что он отправляет сам себя в спам.

Поэтому сейчас добавил уже эти записи, немного подожду и снова сделаю рассылку. Надеюсь, из этой статьи вы уяснили что такое transactional-емайлы, чем они отличаются от bulk. Что такое SPF и что такое DKIM. Если у вас есть вопросы, то я отвечу на них в комментах.

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

Комментарии: 8:

Blogger paganelius сказал(а)...

Бля, мегаполезно. Я и не знал. Пользуюсь MailChimp, думал наикрутейшее, но теперь призадумался

"Правда, нельзя рассылать от имени noreply@geekjob.ru, говорят что это bad practice. Требуется емайл в зоне домена"

То есть? Ты же используешь свой домен. Не совсем понял этот момент.

2:43 PM  
Blogger Roman Pushkin сказал(а)...

Т.е. нужно чтобы с юзером был фидбек.

Я зарегал мыльник, но вместо noreply написал team. И этот адрес реальный. Другими словами они говорят о том, что плохо отсылать с адреса, куда нельзя ответить.

2:56 PM  
Blogger Glazkov сказал(а)...

Можно в обзор добавить Amazon SES, я пользуюсь и доволен сервисом. Для вашего проекта, возможно, это будет наиболее подходящий вариант.

3:33 PM  
Blogger Roman Pushkin сказал(а)...

Ок, посмотрим)

3:35 PM  
Anonymous Анонимный сказал(а)...

А почему ты думаешь что 112 No Opened это именно спам? Во первых люди могли просто успеть прочитать, во вторых gmail по умолчанию отключает картинки и соответственно письмо будет считаться не открытым даже если оно нормально дошло.

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

5:30 PM  
Anonymous Анонимный сказал(а)...

Использую mandrill - сервис достаточно хорош, то что он от содлателей MailChimp о многом говорит.

12:31 AM  
Anonymous KMiNT21 сказал(а)...

Очень полезная инфа. Много раз мысли проскакивали про организацию рассылок, но лениво было искать/читать что да как.

8:01 PM  
Blogger Unknown сказал(а)...

Знакомый также хвалил амазон.
Говорит сервис также выдает фидбэк, если пользователь пометил письмо как спамное, для того, чтобы можно было автоматом отписать пользователя от уведомлений (продолжать отсылать уведомления в случае пометки спамом также считается плохой практикой).

1:44 PM  

Отправить комментарий

Подпишитесь на каналы Комментарии к сообщению [Atom]

<< Главная страница