Skip to content
This repository has been archived by the owner on Sep 7, 2024. It is now read-only.
/ delivery_uncle Public archive

A Rails engine that you can hire to manage your outgoing emails

License

Notifications You must be signed in to change notification settings

alvinsj/delivery_uncle

Repository files navigation

DeliveryUncle Code Climate Build Status

DeliveryUncle (Rails Engine) that you can hire to manage outgoing email. It provides:

  • Service object to deliver action_mailer's mail message. i.e. DeliveryUncle::Deliver
  • Records of outgoing emails requests in database. i.e. DeliveryUncle::EmailRequest
  • Email sending in background by default (currently with Resque).
  • Views to manage (e.g. block/unblock) outgoing emails.
  • .. etc

Setup

  1. Add delivery_uncle into Gemfile
    gem 'delivery_uncle'

  2. Install migration
    rails generate delivery_uncle:install

  3. Start Resque
    rake environment resque:work QUEUE='*'

Usage

  1. Send email with service object: DeliveryUncle::Deliver
    DeliveryUncle::Deliver.new(AccountMailer, :new_registration, user.email)

  2. Check the email records (e.g. status) with the model: DeliveryUncle::EmailRequest DeliveryUncle::EmailRequest.where(mailer: 'AccountMailer')

  3. Mount views to your rails app in config/routes.rb
    mount DeliveryUncle::Engine => "/mails"

Changes

v0.1.2

  • Save email request
  • Send email in background
  • Block/unblock/pause/retry outgoing emails in views

v0.1.3

  • Remove record manipulation after enqueuing to background

License

This project rocks and uses MIT-LICENSE.

About

A Rails engine that you can hire to manage your outgoing emails

Resources

License

Stars

Watchers

Forks

Packages

No packages published