= ResqueMailer A gem plugin which allows messages prepared by ActionMailer to be delivered asynchronously. Assumes that you are using Resque (http://github.com/defunkt/resque) for your background jobs. == Usage Include Resque::Mailer in your ActionMailer subclass(es) like this: class MyMailer < ActionMailer::Base include Resque::Mailer end Now, when MyMailer.deliver_subject_email is called, an entry will be created in the job queue. Note that you can still have mail delivered synchronously by using the bang method variant: MyMailer.deliver_subject_email! To always use asynchronous delivery by default, create an initializer in your Rails project like so: # config/initializers/resque_mailer.rb class ActionMailer::Base include Resque::Mailer end == Installation Install it as a plugin or as a gem plugin. script/plugin install git://github.com/zapnap/resque_mailer.git config.gem 'resque_mailer' == Testing You don't want to be sending actual emails in the test environment, so you can configure the environments that should be excluded. # config/initializers/resque_mailer.rb Resque::Mailer.excluded_environments = [:test, :cucumber] == Note on Patches / Pull Requests * Fork the project. * Make your feature addition or bug fix. * Add tests for it. This is important so I don't break it in a future version unintentionally. * Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull) * Send me a pull request. Bonus points for topic branches. == Credits This work is basically a forked version of delayed_job_mailer http://github.com/andersondias/delayed_job_mailer) by Anderson Dias (which in turn was inspired by Alexander Lang's workling_mailer). Enhanced and modified to work with Resque by Nick Plante.