What's Missive?
Missive is a lightweight Rails toolkit for building newsletter features. It provides the primitives for managing newsletters and subscribers, with Postmark handling delivery.
Features
- Newsletter management: create and organize newsletters within your Rails application
- Postmark integration: rely on Postmark's email delivery service, its webhooks and its Bulk API
- Rails native: designed to work seamlessly with Rails conventions and Active Record
- Subscriber management: handle your newsletter subscriber lists, including suppressions
Scope
Goals
- Rely on Postmark as much as possible, integrate with webhooks, send through the Postmark API (not SMTP).
- Provide a way to compose messages that include content from the host app models.
Non-goals
- Integrate with other sending services.
- Send transactional emails or email sequences: Missive focuses on newsletters.
- Provide ready-made subscription forms: subscription management is the responsibility of the host app.
- Multi-tenancy: Missive is designed for a single Rails app and domain.
Concepts
Senderis an identity used to send messages, optionally associated with aUserfrom the host app. It has a corresponding Sender Signature in Postmark.Subscriberis a person who has opted in to receiving emails or has been added manually, optionally associated with aUserfrom the host app.Subscriptionis the relation between a subscriber and a list.Listis a list of subscribers. It uses a specific Message Stream to send messages through Postmark.Messageis an email sent to subscribers of a given list.Dispatchis the relation between a subscriber and a message (ie. when aMessageis sent, it's dispatched to all subscribers). It's called Email in Postmark.
Requirements
- Rails 8.0 or higher
- A Postmark account with API credentials
Dependencies
- Official postmark gem
- time_for_a_boolean to back boolean concepts (
sent,delivered,opened, ...) with timestamps - rails-pattern_matching to use pattern matching when processing incoming webhooks
Status
Missive is in early development (0.0.x). Subscriber, sender and list management, as well as webhook processing, are usable today. Composing and sending messages is still being built: pages covering it are flagged WIP.