1. 产品
  2.   电子邮件
  3.   Ruby
  4.   MailyHerald
 
  

用于构建电子邮件自动化应用的开源 Ruby API

免费电子邮件自动化 Ruby 库,简化电子邮件自动化应用的创建并通过模板发送邮件。在 Ruby 应用中创建、管理和跟踪各种类型的邮件序列。

MailyHerald 是什么?

MailyHerald 是一个强大且开源的 Ruby on Rails gem,旨在简化 Ruby 应用中的电子邮件通信。它作为 Mailchimp 等服务的自托管替代方案,提供给开发者强大的工具来管理各种类型的邮件活动,包括事务性邮件、新闻通讯和入职序列。该库支持多种邮件类型,如临时邮件、一次性邮件、周期性邮件和邮件序列。MailyHerald 与 Liquid 模板集成,能够在邮件中实现动态内容。这使得可以使用用户属性来个性化消息。通过推广有组织的模板、解耦的逻辑和集中化的配置,它使开发者能够构建更易维护、可扩展且稳健的通信功能。

MailyHerald 非常易于使用,并赋能开发者在 Ruby on Rails 应用中直接创建复杂的邮件自动化系统。对于希望构建自己的邮件自动化工具、营销平台或客户互动系统的软件开发者,MailyHerald 提供了完美的基础。邮件投递使用 Sidekiq 异步处理,确保非阻塞操作和高效处理。其灵活性结合后台处理和动态模板等强大功能,使其成为寻求自托管邮件管理系统的开发者的优秀选择。

Previous Next

MailyHerald 入门指南

安装 MailyHerald 库的最简方式是通过 RubyGems。请使用以下命令进行快速安装。

通过 Rubygems 安装 MailyHerald

 gem install maily_herald

通过 Ruby 创建电子邮件序列

开源的 MailyHerald 库为软件开发者提供了在 Ruby 应用程序中构建具有精确时机的复杂邮件序列的能力。一系列按定义顺序发送、带有特定延迟的邮件,非常适合入职流程。此外,它还提供了一种简化且对开发者友好的方式来管理 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 库为在 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 库的突出特点之一是其强大的模板系统。开发者可以使用占位符定义电子邮件模板,以容纳动态内容。这意味着您可以为特定类型的通知创建单一模板,然后在运行时填充用户特定的细节,如姓名、订单号和购买的商品。这样显著减少了冗余,使模板更新更加简便。下面是一个简单示例,展示如何在 Ruby 应用中使用 Liquid Templates 发送电子邮件。

如何通过 Ruby 库使用 Liquid 模板发送电子邮件?

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)集成,并自定义其行为以满足特定项目需求。

 中国人