ar_mailer
drbrain |
Rubyforge Project: http://rubyforge.org/projects/rctools
Documentation: http://dev.robotcoop.com/Tools/ar_mailer
About
Even deliviring email to the local machine may take too long when you have to send hundreds of messages. ar_mailer allows you to store messages into the database for later delivery by a separate process, ar_sendmail.
Installing ar_mailer
Just install the gem:
$ sudo gem install ar_mailer
Converting to ar_mailer
Go to your Rails project:
$ cd your_rails_projectCreate a new migration:
$ ar_sendmail --create-migrationYou'll need to redirect this into a file. If you want a different name provide the —table-name option. Create a new model:
$ ar_sendmail --create-modelYou'll need to redirect this into a file. If you want a different name provide the —table-name option. Change your email classes to inherit from ActionMailer::ARMailer instead of ActionMailer::Base:
--- app/model/emailer.rb.orig 2006-08-10 13:16:33.000000000 -0700 +++ app/model/emailer.rb 2006-08-10 13:16:43.000000000 -0700 @@ -1,4 +1,4 @@ -class Emailer < ActionMailer::Base +class Emailer < ActionMailer::ARMailer def comment_notification(comment) from comment.author.emailEdit config/environments/production.rb and set the delivery agent:
$ grep delivery_method config/environments/production.rb ActionMailer::Base.delivery_method = :activerecordRun ar_sendmail:
$ ar_sendmailYou can also run ar_sendmail from cron with -o, or as a daemon with -d. See ar_sendmail -h for full details. comments
Comments are disabled


