Сегодня я расскажу о том, как быстро поднять собственную платформу для email-маркетинга и отправить 1 млн писем, которые попадут во входящие всего за 100 $.
4333 просмотров
Но, сначала маленький опрос.
Какой сервис для email рассылок вы сейчас используете?
GetResponse
Sendinblue
Amazon AWS
Собственный сервер
Не занимаемся email-маркетингом
Показать результаты
Переголосовать
Проголосовать
Не будем ходить вокруг и сразу перейдём к делу. Вы, конечно, слышали, а может быть и использовали Amazon AWS. Частью этого облака является очень удобный сервис рассылок: SES (Simple Email Service).
К слову, некоторые российские сервисы email рассылок по сути просто перепродают вам услуги Amazon SES.
Чем же Amazon SES так хорош
- Стоимость. Всего 1 $ за 10 000 отправленных писем. Это без учёта трафика. Если вы отправляете тяжелые вложения, нужно ещё учесть расходы на трафик.
- Письма можно отправлять как по API, так и через SMTP, что позволяет интегрировать SES с чем угодно (ваш сервис или приложение не обязаны при этом находится в облаке AWS).
- Поддержка DKIM, SPF, MAIL FROM доменов, Feedback Forwarding и все такое прочее разумеется в наличии.
- Уведомления по API о доставках, жалобах на спам и отказах.
- Выделенный IP для вашего домена, если он вам нужен.
- Отсутствие предварительной модерации ваших рассылок. Да, чтобы получить доступ к сервису, вам придётся писать тикет в саппорт, где попросят подробно рассказать о том, что и как вы планируете отправлять, но после того как вам выделят лимиты на отправку, больше никаких проверок того, что вы отправляете не будет (если показатели качества в аккаунте в порядке).
- Есть возможность настроить в том числе и приём почты.
- Amazon может предоставить вам просто огромные мощности на отправку. Я отправлял по 2 млн писем в час и это далеко не предел.
Итак, продано? Вы закономерно спросите почему же тогда маркетинг в большинстве компаний всё ещё сидит на MailChimp, UniSender, SendPulse и подобных сервисах.
Как отправить сообщение на почту с помощью Python | Email рассылка | Python send Gmail
У Amazon SES нет web-интерфейса для отправки писем. Как вы понимаете, это несколько усложняет процесс его использования, если вы не обладаете техническими навыками.
Но, как я уже писал, c SES можно работать как с обычным SMTP-сервером, если вы по какой-то причине не хотите работать по API. А значит, всё что нужно это какая-то платформа для email-маркетинга, которую вы можете поставить на свой хостинг и подключить её к SES.
Вариантов у вас довольно много. Вот основные:
- Sendy. Стоит 59 $ единоразово. Разрабатывался специально для Amazon AWS, т.ч. умеет работать с SES по API, что намного быстрее SMTP. Крутится на стандартной связке из PHP + MySQL + Apache (на nginx тоже работает нормально).
- MailWizz. Стоит 69 $ единоразово. Поддерживает только SMTP.
- Если нужно что-то, что можно сильно кастомизировать под себя посмотрите на Mailtrain. Это бесплатный продукт с открытым исходным кодом. Поддерживает только SMTP. Крутится на Nodemailer, Node.js и MySQL. Первая версия давно не обновлялась, но вполне работоспособна. Вторая версия ещё в бете и уже почти стабильна. Из неожиданных приятностей – MJML-шаблоны.
Кроме этого, можно ещё посмотреть в сторону Dada Mail, NuevoMailer, MoonMail. Ещё есть Mautic, который представляет из себя скорее платформу для маркетинга, но и в части email-рассылок тоже сможет вас очень порадовать.
В этой статье я расскажу о Sendy. Проект активно развивается, у него приятный не перегруженный интерфейс, есть весь основной функционал, который удовлетворит 90% компаний в малом бизнесе и он умеет работать с Amazon SES по API.
Что же Sendy нам предлагает
Как и большинство из упомянутых выше платформ, Sendy в установке не сложнее, чем WordPress. Всё, что вам нужно это хостинг на Apache с поддержкой PHP и БД MySQL. Можете сами его поднять на виртуальной машине в Amazon AWS, тогда у вас будут ежемесячно бесплатные 62 000 писем.
Просто закидываете файлы на хостинг, выставляете права доступа на папку uploads, чтобы вы могли загружать файлы, указываете лицензию, адрес и доступы к БД в файле includes/config.php и готово.
Ну почти готово. Ещё нужно добавить в cron скрипты, чтобы отправка по расписанию, double opt-in и импорт подписчиков из csv заработали. Вот так:
*/1 * * * * php /var/www/sendy/import-csv.php > /dev/null 2> /dev/null 2> /dev/null 2>
Как сделать рассылку сообщений в телеграм боте | Массовая рассылка в телеграм
Если вы превысите эти показатели, то получите предупреждение. Это не означает блокировку, но вам выделят какой-то лимит в несколько десятков тысяч писем (или сотен тысяч в зависимости от лимитов аккаунта), в течение которого вы должны исправится и привести показатели в норму.
А если показатели будут намного хуже? Автоматическая блокировка обычно прилетает при следующих показателях:
- Процент отказов больше 10%;
- Процент жалоб больше 1%.
Это кстати не означает, что если вы отправили неудачную рассылку и словили процент жалоб в 6%, то аккаунт обязательно заблокируют. Показатели рассчитываются по всем письмам отправленным за последние несколько дней (период варьируется в зависимости от объемов и частоты отправки).
Если ваш аккаунт получит блокировку, то снять её можно будет уже только через техподдержку.
Как видите, self-hosted платформы для рассылок предлагают функционал, который вполне сопоставим с большинством облачных решений и вполне покрывает потребности 90% компаний в малом бизнесе. А использование собственной платформы для email-маркетинга в связке в SES позволяет значительно сэкономить на отправке писем.
Кстати, если вам понравилась статья, подпишитесь на мой новый Telegram канал Ads Notata, где я буду выкладывать интересные заметки по интернет-маркетингу и web-аналитике. Лонгриды, конечно и дальше будут на vc.ru.
Источник: vc.ru
Как сделать собственный сервис рассылок с гарантированной доставкой писем
Здравствуйте, друзья! В одном из своих комментариев к предыдущей статье, посвященной выбору сервиса рассылок на замену Смартреспондеру, я обещал рассказать о еще одной достойной альтернативе.
Альтернатива необычная – нужно просто отказаться от всех сервисов и сделать свой собственный сервис на своем же блоге. Именно так работаю я, поэтому поделюсь в статье впечатлениями от первого лица.
Сразу оговорюсь, что тема e-mail маркетинга мне очень нравится еще со времен учебы на менеджера по запуску интернет-проектов. Мы тогда на практике облазили самые популярные сервисы рассылок, изучили стратегии рассылок, их анализ.
Единственным минусом во всех полученных знаниях лично для меня было отсутствие своего сайта. И вот в прошлом году, когда я созрел для его создания, судьба меня свела с одним из мастеров e-mail маркетинга Вячеславом Балашовым.
Я попал в его тренинг «Собственный сервис рассылок за 1 вечер» и несказанно рад, потому что собственный сервис – это СВОБОДА!
Свобода не только в отправке писем, но и в настройке всей продающей цепочки, плюс творчество в создании писем и в анализе своих результатов.
К сожалению в настоящее время данный тренинг уже не проводится, но вся информация относительно плагинов и их применения остается актаульной и может быть реализована на практике.
Поправка по состоянию на 2020 год.
Но давайте обо всем по порядку. В принципе можно рассылать письма и через хостинг, но сам хостинг накладывает ограничения на их количество.
Можно установить специальные плагины. Например, бесплатный вариант MailPoet, который позволяет без ограничения работать с 2000 подписчиками посредством одного из подключенных SMTP сервисов типа Amazon, SendGrid, smtp2go.com и подобным.
Хотя понятие без ограничений весьма условно, так как на самом деле есть ограничение в скорости отправки: 50 писем в час. Получается, что бесплатные 2000 писем будут отправляться 40 часов.
Но вот платная версия данного плагина с примерно равнозначными моему сервису рассылок возможностями обойдется уже в 25 Евро в месяц.
Мой сервис построен на связке трех плагинов, основным из которых является Mailster – Email Newsletter Plugin . Итоговая связка плагинов может уже работать с несколькими сервисами SMTP.
К сожалению основной плагин моей связки – плагин Mailster – Email Newsletter Plugin сейчас платный, стоит около $60.
Но в сети всегда можно найти его nulled версию за символические 200 рублей.
Плагин позволяет прописывать подписи DKIM и spf, что категорически требуют в настоящее время политики почтовых сервисов mail, yandex, gmail и т.п.
На то время большая часть сервисов рассылок не предоставляли таких возможностей на низкооплачиваемых тарифах.
Но и сейчас есть такие. К примеру, Джастклик «дарит» такую свободу только на высшем тарифе за 19700 рублей в месяц.
Плюсом применения сторонних сервисов SMTP является то, что Вы пользуетесь их шлюзами для своей отправки. Причем в этих сервисах, не во всех конечно, но тоже есть бесплатные лимиты, плюс можно найти цены порядка 10 y.e. за 100 000 писем без помесячной(!) оплаты.
Сравним?
Данная цена равнозначна тарифу «Часто» сервиса рассылок Unisender (безлимит по количеству писем!) при лимите в 500 подписчиков.
Предположим Вы их подписали в 1 день и потратили при этом по 3 письма, плюс Вы напряглись и разослали по 1 письму в день. Итого сумма отправленных писем составит 16500.
Но месяц заканчивается и в своем сервисе рассылок у Вас остается возможность отправить 83500 писем, т.е. отработать в этом ритме еще 5 месяцев, а в Unisender Вы проплатите каждый месяц по 10 y.e.
Свой сервис позволяет не только производить рассылки в заданное время, но и оперативно проверять новое письмо на спам, а также выстраивать целые цепочки писем по различным условиям.
Я, например, один раз написал статью на блоге и забыл сделать рассылку, но зато сделал рекламу в Сабскрайбе. Пошли читатели и новые подписчики, и тут наконец-то до меня дошло, что старых то подписчиков я не оповещал!
Что я сделал? Я просто поставил условие отправить тем, кто подписался в определенный период времени и решил проблему.
С помощью встроенного шаблона я по дизайнерски решил вопрос оформления писем. Сразу определил для себя, что буду работать с двойным подтверждением подписки на новости (можно сделать и регистрацию в один клик), настроил формы подписки на своем блоге.
Причем они отличаются по функционалу и восприятию для подписчиков. В сайдбаре стоит общепринятая форма, а та, что находится под каждой статьей разворачивается, как pop-up окно.
Но в отличии от применяемого многими блогерами сервиса Feedburner не нужно вводить никакой капчи. Если Вы скажите, что Feedburner позволяет делать RSS-рассылку, то отвечу, что плагин это делает не менее достойно.
Теперь, что касается аналитики. Всех подписчиков можно собирать в нужные Вам списки (группы). У Вас всегда будет возможность анализировать каждого подписавшегося по многим параметрам. Далее будут пофрагментные скриншоты страницы одного из моих подписчиков.
Видите сами: есть не просто контактные данные, но и IP, время подписки и посредством какой формы это произошло. В какой список. Общий рейтинг.
Чуть ниже идет общая статистика с данными по отправленным кампаниям, потребному времени на реакцию подписчика:
А еще ниже уже все подробности по каждому письму. Обратите внимание, что данный человек подписался не сразу, а только после получения третьего письма, которое кстати было отправлено плагином без моего участия (все настраивается!). Все действия подписчика отражены условными значками.
Ниже фрагмент списка подписчиков. Все со статусами и в принципе Вы можете оперативно отправить прямо со страницы списка повторное письмо активации рассылки тем, кто находится в статусе «ожидает», т.е. не открыл письмо.
Конечно есть аналитика и по самим рассылкам. Вот так, например, выглядит общая аналитика авторассылки для подписки на новости блога.
А вот так выглядит детальная аналитика письма-оповещения об очередной статье на блоге:
Причем есть деталировка по самим подписчикам:
Кстати плагин позволяет очень просто переносить подписчиков сразу одним списком или с загрузкой по спискам. Вы просто создаете новый список, даете ему название и при импорте указываете группе адресов название вновь созданного списка. Именно в него и произойдет импортирование.
Вот такой небольшой экскурс внутрь собственного сервиса рассылок на своем же блоге. Скриншоты Вы сами видели.
Доставляемость писем от 95% и выше .
И все это благодаря одноименному тренингу.
Вот такая альтернатива любому сервису рассылок. Если кто-то скажет: зачем же тогда я писал предыдущую статью, скажу, что, во-первых, я все-таки учился в свое время на менеджера интернет-проектов, в обязанности которого входит в том числе аналитика и анализ выгод.
Во-вторых, желание помочь людям с выбором нового сервиса. Ну а в-третьих, чтобы еще раз убедить себя, что в свое время сделал правильный выбор в сторону собственного сервиса рассылок.
Вот такая информация для размышления. А как Вы относитесь к идее стать независимым от Макса Хиггера, Олега Горячо и прочих владельцев сервисов рассылок? Пишите, обсудим.
С уважением, Сергей Почечуев
Источник: prostodelaytak.ru
История создания одного бессерверного приложения рассылки с открытым ПО
Как-то я создал сервис информационных рассылок Revue для публикации авторских материалов по бессерверной разработке. Он отлично работал и включал ряд интересных функциональностей, которые предоставляли краткие недельные отчеты. Revue был интегрирован напрямую с Twitter, позволяя пользователям регистрироваться из моего профиля. А самое главное, он был бесплатным!
К моменту написания статьи сервис Revue прекратил работу. Пришлось искать другое решение для выпуска информационной рассылки, поскольку было бы несправедливо по отношению к подписчикам прерывать обслуживание.
Я изучил такие сервисы рассылок, как MailChimp, Sendinblue и ConvertKit. Они вполне подходили для намеченных целей, если бы не платные расширенные возможности. Большинство из подобных сервисов на бесплатной основе поддерживали до 300 подписчиков. Мне же повезло обзавестись намного большим количеством читателей, подписанных на рассылку Serverless Picks of the Week (Недельная подборка новостей из мира бессерверных технологий).
В итоге я решил сам создать платформу для рассылки. А что? Разве состоявшийся инженер-программист, который разбирается в бессерверных технологиях и заслужил звание AWS Hero (Героя AWS), не справится с этой задачей? Бессерверные технологии обладают рядом преимуществ: стоят недорого, автоматически масштабируются в соответствии с требованиями и котируются как один из самых быстрых способов создания ПО.
Кроме того, мне удалось автоматизировать перекрестную рассылку статей на несколько сайтов со ссылкой на свой блог. Эта функциональность также могла послужить основой для выпуска рассылок. Задача казалась вполне осуществимой!
Самым нетерпеливым и желающим познакомиться сразу с результатом, предлагаю ссылку на репозиторий с открытым исходным кодом. Изучайте и практикуйте!
Поиск движка для email-рассылки
Чтобы создать пользовательское приложение для информационной рассылки, прежде всего требовалось решить вопрос с отправкой самого электронного письма. Для этой цели существует множество библиотек, но нужно было подобрать именно управляемый сервис.
Добиться того, чтобы отправленные электронные письма не попадали в категорию спама, было сложно. Для этого требовались специальные знания и постоянное сопровождение, но обеспечить выполнение этих условий не представлялось возможным. Поэтому из всех существующих вариантов рассматривались два, наиболее знакомых: Amazon SES и SendGrid.
По умолчанию предпочтение отдается сервисам AWS. Все мои ранее создаваемые продукты размещались и управлялись с использованием AWS. Данный случай не стал исключением.
Сначала я изучил возможности сервиса Amazon SES, но они не вполне соответствовали требованиям. Предоставлялись управление репутацией и статистика отправки, но не хватало самой важной функциональности — управления процессами маркетинговой кампании.
Я отслеживаю каждый выпуск рассылки как отдельную маркетинговую кампанию, что позволяет получать по нему основные статистические данные. Они показывают: количество адресатов рассылки, количество открытых и вернувшихся электронных писем, количество переходов по ссылкам внутри рассылки.
В поисках требуемой функциональности я обратился к SendGrid и нашел там все что нужно. Сервис позволял создать Single Send, т.е. одноразовое электронное сообщение, доставляемое списку контактов. Как раз подходящий вариант рассылки!
Кроме того, SendGrid предоставляет замечательный спектр услуг на бесплатной основе: управление контактами общей численностью до 2000 подписчиков и отправка до 6000 одноразовых сообщений Single Send в месяц. Идеальный вариант для формата моей рассылки с учетом перспектив ее роста!
Выбор сделан — и это SendGrid. Он стал движком для управления рассылкой в разрабатываемом бессерверном приложении.
Создание рабочего процесса
За последние несколько лет мне удалось бегло познакомиться с SendGrid. Мы применяли его в рабочих целях на базовом уровне, когда отправляли пользователям уведомления. Собственно говоря, этими навыками и ограничивался мой опыт взаимодействия с данным сервисом.
Мне предстояло создать приложение с функциональностями, которые ранее не разрабатывал. Приступив к работе, я быстро сообразил, что не получится программным способом опубликовать сообщение Single Send через SendGrid. Требовалось ручное нажатие на кнопку графика рассылки/отправки.
Сначало мне это не понравилось. Однако, поразмыслив, расценил данное решение как отличную меру безопасности. Не хотелось бы отправлять тысячам подписчиков электронное сообщение с явной опечаткой или серьезной ошибкой форматирования. В результате получился следующий рабочий процесс:
Весь свой контент я пишу в Markdown. При сохранении новой статьи блога или информационного письма они компилируются в HTML посредством фреймворка Hugo в конвейере CI моего проекта AWS Amplify. После успешного завершения сборки Amplify направляет событие в EventBridge, где оно подхватывается рабочим процессом.
Последовательность этапов:
- Написание информационного письма в Markdown и отправка в главную ветку репозитория GitHub.
- Сборка Amplify компилирует в HTML и публикует контент на сайте.
- Запуск функции Lambda, загружающей файл Markdown из репозитория.
- Запуск рабочего процесса Step Function, который анализирует контент, преобразует его для SendGrid и создает сообщение Single Send.
- Получение электронного письма со ссылкой для просмотра созданного сообщения Single Send и нажатие кнопки Approve(Одобрить).
- Осуществление SendGrid предусмотренной графиком доставки всем подписчикам.
Такой автоматизированный рабочий процесс еженедельно экономит массу времени. В случае с Revue приходилось локально просматривать HTML -контент на сайте, копировать и вставлять его в Revue, после чего реорганизовывать и повторно отправлять изображения и встроенную информацию.
Сам по себе процесс не представлял сложности, но занимал время и сопровождался ошибками.
Автоматизация процесса посредством кода экономит время и не позволяет ничего упускать из внимания.
Преобразование данных
SendGrid снабжен отличной функциональностью под названием динамические шаблоны. Они предназначены для создания параметризованных электронных сообщений посредством шаблонизатора Handlebars.
Динамические шаблоны позволяют передавать необработанные данные и форматировать их в последовательный структурированный HTML . SendGrid предоставляет замечательные возможности взаимодействия с пользователями в процессе создания шаблонов. Вы можете перетаскивать компоненты информационного письма, расширять их посредством кода, использовать тестовый стенд для просмотра объединенных шаблонов.
Я решил разместить шаблон информационного письма в SendGrid. Использование компоновщика позволяет быстро корректировать формат и оперативно просматривать вносимые изменения. В приложении для рассылки шаблон загружается через SendGrid API, а слияние данных осуществляется с помощью npm -пакета Handlebars.
Однако для слияния данных в динамическом шаблоне требуется привести контент в определенный формат. Функция Lambda, выполняющаяся как часть рабочего процесса Step Function, преобразует разметку Markdown информационного письма в отформатированный объект JSON :
«metadata»: «number»: 1,
«title»: «My first newsletter!»,
«date»: «2023-01-01»,
«url»: «https://readysetcloud.io/newsletter/1»
>,
«content»: «sections»: [
«header»: «Serverless Superhero»,
«text»: «
Congrats to our serverless superhero!
»
>
]
>
>
Структурируя контент информационного письма как объект JSON , вы позволяете пакету Handlebars подставлять значения в шаблон сообщения. Тем самым обеспечивается удобство дальнейшего сопровождения за счет отделения данных от форматирования. Например, вы без труда можете корректировать стиль определенного компонента, поскольку отпадает необходимость трогать данные и привносить дополнительные риски к изменениям.
После слияния данных в шаблоне приложение задействует SendGrid API для создания сообщения Single Send, вслед за чем я получаю электронное письмо для просмотра созданного сообщения.
Дополнительные возможности
Сервис Revue располагал полезной функциональностью, о потере которой я весьма сожалел. По прошествии нескольких дней он отправлял мне краткий отчет о результатах рассылки. Я подумал, что было бы неплохо снять с себя часть нагрузки и перепоручить ее SendGrid. Так что составил список востребованных функциональностей:
- спонсорская поддержка;
- автоматические напоминания;
- краткий отчет о выпуске рассылки;
- отслеживание количества подписчиков.
Все эти функциональности уже встроены в приложение для рассылки, так что можно брать и пользоваться.
Спонсоры
Зачастую для рассылок моих информационных писем всегда находились спонсоры. Им следовало напоминать об отправке предстоящей рекламы, что у меня не особо получалось. Спонсоры предпочитают еженедельно размещать рекламные объявления. В этом случае целесообразно им напомнить о необходимости прислать свежую рекламу и таким образом избавить их от суеты накануне выпуска рассылки.
Данное приложение отслеживает всех спонсоров информационной рассылки и управляет календарем выпусков на основе JSON . За 5 дней до нового выпуска приложение находит очередного спонсора и отправляет контактному лицу электронное письмо с напоминанием о предстоящем рекламном объявлении. Получив от заинтересованной стороны рекламу для размещения, я добавляю ее в метаданные информационного письма, и готово!
Реклама в письме отображается благодаря добавлению короткого кода, который вставляет ее в любое место. Автоматизированный процесс подхватывает этот код и заменяет отформатированное рекламное объявление расширенным контентом о спонсоре.
Метрики информационного письма
Каждую неделю я просматриваю индивидуальную статистику, отражающую результаты проведения рассылки. SendGrid выполняет мониторинг множества метрик наряду с отслеживанием нажатий, предоставляя ценные данные о взаимодействии подписчиков с контентом.
Проблема в том, что рассылка не является моей основной работой, и я часто забываю проверить статистику. Когда же вспоминаю, то уже не остается времени внести улучшающие корретивы для следующей рассылки.
Я создал рабочий процесс Step Function с запланированным запуском для еженедельной проверки статистики. Он загружает последнюю рассылку, затем с помощью SendGrid API получает метрики и текущее количество подписчиков, после чего отправляет электронное сообщение с кратким отчетом и прямую ссылку на страницу подробного анализа:
Такой отчет приходит по пятницам. Я сажусь за компьютер, а на почте уже ждет письмо со статистикой последней рассылки четырехдневной давности и отчет о динамике подписчиков по сравнению с предыдущей неделей!
Проект сам по себе оказался увлекательным и решал ряд проблем. Как и автоматизация перекрестной рассылки, он еженедельно экономит массу времени.
Рекомендую убирать человеческий фактор при первой возможности. Люди совершают ошибки, и я не исключение. Теперь же я не забываю отправлять напоминание спонсорам и проверять статистику рассылки. Кроме того, своевременно выявляю ошибки и форматирую версии писем рассылки при копировании и вставке.
Созданная платформа с открытым исходным кодом. Вы можете свободно пользоваться и обновлять ее по своему усмотрению. Потребуется лишь создать аккаунт SendGrid. Файл README содержит все необходимые инструкции по настройке.
Благодаря бесплатному уровню SendGrid и низкой стоимости реализации бессерверных AWS, обеспечивающих работу данного сервиса, это решение ничего не будет стоить, пока вы не наберете более 2000 подписчиков или не отправите свыше 6000 сообщений в месяц.
- Как создать бессерверную форму для бессерверного сайта
- Как извлечь показатели из устаревшей системы в реальном времени, не изменив ни строчки кода
- Введение в конвейерную обработку данных с использованием бессерверной архитектуры
Читайте нас в Telegram, VK и Дзен
Источник: nuancesprog.ru