A simple newsletter engine for Rails
Maktoub is a Ruby on Rails engine for email newsletters.
# Add this line to your Gemfile
gem 'maktoub'
Then bundle install
Compatible with Rails 4+. For Rails 3.1+ use version 0.3.1
You can run rails generate maktoub:config
to generate the configuration file. This task creates a matkoub.rb
initializer file (in config/initializer)
Follow instructions inside the file to configure it the way you want.
Create a newsletter as a normal view partial in app/views/maktoub/newsletters/.
The subject of the newsletter will be automatically deduced from the partial's name.
Create a view partial in app/views/layouts/maktoub/_styles.erb
. Note that this completely overrides the styles that come with maktoub.
You can copy the built-in styles and override them.
Maktoub comes with two rake tasks to allow you to:
send a test message to the "from" address of your newsletter.
rake maktoub:test['name_of_my_newsletter_partial']
publish the newsletter to all your subscribers. If you have delayed_job installed then it will use it to deliver each email as a background job
rake maktoub:mail['name_of_my_newsletter_parial']
Alternatively you have access to a Maktoub::NewsletterMailer ActionMailer object with a publish method
Maktoub::NewsletterMailer.publish('my_newsletter_partial', name: 'User name', email: '[email protected]')
To be able to view your newsletter in a browser add it to routes.rb.
mount Maktoub::Engine => '/'
http://example.com/<mounted_path>/newsletter/my_awesome_newletter
Send a pull request including documentation changes and tests.