Maktoub is a Ruby on Rails engine for email newsletters.
Write your newsletter as you would write any view (erb partial)
Maktoub sends your email in multipart as both html and text
# Add this line to your Gemfile gem 'maktoub'
Then 'bundle install'
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.
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
Alternatively you have access to a Maktoub::NewsletterMailer ActionMailer object with a publish method
Maktoub::NewsletterMail.publish('my_newsletter_partial', :name => 'User name', :email => 'firstname.lastname@example.org')
View in browser
To be able to view your newsletter in a browser add it to routes.rb.
# mount the engine at a path of your choice. # you would access the newsletter at: http://example.com/newsletter/my_awesome_newletter mount Maktoub::Engine => "/"
Send a pull request including documentation changes and tests.