ar_mailer是个很不错的邮件发送插件,工作原理是将邮件发送分为两部分,首先将邮件保存到数据库,然后在调用后台程序实现异步发送,可惜的是目前还不支持Rails 3,于是花了一个下午,将它移植到了Rails 3,这就是:ar_mailer_rails3。
安装
sudo gem install ar_mailer_rails
使用
script/rails generate ar_mailer_rails3 Email
你也可以将Email替换为其它名字,邮件将会被保存到这个Model中。
Generator会自动生成一个initializer:
# config/initializers/ar_mailer.rb
ActionMailer::Base.add_delivery_method :active_record,
ArMailerRails3::ActiveRecord, :email_class => Email
ActionMailer::Base.delivery_method = :active_record
如果你不希望所有Mailer都使用ActiveRecord发送,也可以在Mailer中单独定义:
class MyMailer < ActionMailer::Base
self.delivery_method = :active_record
end
命令行的使用方式和ar_mailer是一样的,只不过为了和ar_mailer 2保持兼容,命令行的程序变成了ar_mailer_rails3:
$ ar_sendmail_rails3 -h
详细的使用方法可参看这里
