Открытый Ruby‑API для создания приложений автоматизации электронной почты
Бесплатная Ruby‑библиотека автоматизации электронной почты, упрощающая создание приложений автоматизации писем и отправку писем по шаблонам. Создавайте, управляйте и отслеживайте различные типы последовательностей писем в Ruby‑приложениях.
Что такое MailyHerald ?
MailyHerald — мощный, открытый Ruby on Rails gem, предназначенный для упрощения email‑коммуникаций в Ruby‑приложениях. Работая как самостоятельная альтернатива сервисам вроде Mailchimp, MailyHerald предоставляет разработчикам надёжные инструменты для управления различными типами email‑кампаний, включая транзакционные письма, рассылки новостей и последовательности онбординга. Библиотека поддерживает различные типы рассылок, такие как разовые рассылки, одноразовые рассылки, периодические рассылки и последовательные рассылки. MailyHerald интегрируется с шаблонизатором Liquid, позволяя использовать динамический контент в письмах. Это даёт возможность персонализировать сообщения с учётом атрибутов пользователя. За счёт организации шаблонов, отделения логики и централизованной конфигурации, она позволяет разработчикам создавать более поддерживаемые, масштабируемые и надёжные функции коммуникации.
MailyHerald очень прост в использовании и дает разработчикам возможность создавать сложные системы автоматизации электронной почты непосредственно в их приложениях Ruby on Rails. Для разработчиков программного обеспечения, желающих построить собственные инструменты автоматизации email, маркетинговые платформы или системы взаимодействия с клиентами, MailyHerald предоставляет идеальную основу. Отправка писем обрабатывается асинхронно с помощью Sidekiq, обеспечивая неблокирующие операции и эффективную обработку. Его гибкость, в сочетании с мощными функциями, такими как фоновые задачи и динамические шаблоны, делает его отличным выбором для разработчиков, ищущих самохостинговую систему управления электронной почтой.
Начало работы с MailyHerald
Самый простой способ установить библиотеку MailyHerald — через RubyGems. Пожалуйста, используйте следующую команду для быстрой установки.
Установите MailyHerald через Rubygems
gem install maily_heraldСоздание последовательностей писем с помощью Ruby
Библиотека с открытым исходным кодом MailyHerald предоставляет разработчикам программного обеспечения возможность создавать сложные последовательности электронных писем с точным таймингом внутри Ruby‑приложений. Серия писем, отправляемых в определённом порядке с конкретными задержками, идеально подходит для процессов адаптации. Кроме того, она предлагает упрощённый и удобный для разработчиков подход к управлению email‑уведомлениями в Ruby‑приложениях. Ниже приведён пример, демонстрирующий, как создавать сложные последовательности писем с помощью команд Ruby.
Как создать сложные последовательности электронных писем в Ruby‑приложениях?
MailyHerald.sequence(:onboarding) do |sequence|
sequence.title = "User Onboarding Sequence"
sequence.list = :all_users
sequence.start_at = "user.created_at"
# Welcome email (immediately)
sequence.add_emails do |email|
email.title = "Welcome Email"
email.subject = "Welcome to Our App!"
email.absolute_delay = 0.hours
email.template = "Hi {{user.name}}, thanks for joining us!"
end
# Follow-up (3 days later)
sequence.add_emails do |email|
email.title = "Getting Started Guide"
email.subject = "Here's how to get the most from our app"
email.absolute_delay = 3.days
end
end
Создание триггеров на основе событий с помощью Ruby
Электронные письма могут инициироваться событиями приложения, что делает их идеальными для адаптации пользователей или сообщений, основанных на активности. Библиотека с открытым исходным кодом MailyHerald предоставляет полную поддержку создания и управления триггерами email‑сообщений, основанными на событиях, внутри Ruby‑приложений. Ниже приведён простой пример, демонстрирующий, как разработчики могут определить последовательность, запускаемую событием, с помощью команд Ruby.
Как определить последовательность, запускаемую событием, в Ruby‑приложениях?
MailyHerald.sequence(:abandoned_cart) do |sequence|
sequence.title = "Abandoned Cart Reminders"
sequence.list = :shopping_users
sequence.trigger = :cart_updated
sequence.add_emails do |email|
email.title = "1 Hour Reminder"
email.subject = "Your cart is waiting!"
email.absolute_delay = 1.hour
email.conditions = "{{user.cart.items.count}} > 0"
end
end
Обработка динамических шаблонов писем с помощью Ruby
Одной из выдающихся особенностей открытой библиотеки MailyHerald является её мощная система шаблонов. Разработчики могут определять шаблоны электронных писем с заполнителями для динамического контента. Это означает, что вы можете создать один шаблон для конкретного типа уведомления, а затем заполнять его пользовательскими данными, такими как имена, номера заказов и купленные товары, во время выполнения. Это значительно уменьшает дублирование и упрощает обновление шаблонов. Ниже приведён простой пример, показывающий, как использовать Liquid Templates для отправки писем в приложениях на Ruby.
Как отправлять письма, используя шаблоны Liquid, через Ruby‑библиотеку?
config.ad_hoc_mailing :welcome do |mailing|
mailing.list = :newsletters
mailing.subject = "Welcome, {{user.name}}!"
mailing.template = "We're glad to have you on board."
mailing.enable
end
Гибкость и расширяемость
Хотя библиотека MailyHerald предоставляет надёжную основу, она также спроектирована с учётом расширяемости. Разработчики могут интегрировать её с различными сервисами доставки электронной почты (например, SendGrid, Mailgun или даже стандартным SMTP) и настраивать её поведение в соответствии с конкретными требованиями проекта.