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_project
Create a new migration:
$ ar_sendmail --create-migration
You?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-model
You’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.email
Edit config/environments/production.rb and set the delivery agent:
$ grep delivery_method config/environments/production.rb
ActionMailer::Base.delivery_method = :activerecord
Run ar_sendmail:
$ ar_sendmail
You can also run it from cron with -o, or as a daemon with -d.
See ar_sendmail -h for full details.
–
Eric H. - [email protected] - http://blog.segment7.net
This implementation is HODEL-HASH-9600 compliant