ar_mailer Rails 3 插件

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

详细的使用方法可参看这里

This entry was posted in 插件. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.
  • Jeantoe

    反馈问题:

    安装应该是 sudo gem install ar_mailer_rails3
    初始化 $ rails generate ar_mailer_rails3 Email

    rake db:migrate然后遇到 uninitialized constant CreateEmails
    看了一下迁移文件,发现class CreateCreateEmails 多出了一个Create,去掉即可正常运行。

    我的环境:
    Rails 3.0.1
    ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.4.0]
    OSX10.6.6

  • Anonymous

    非常感谢,已经修复,发了个新版本:2.1.11

  • pokka lee

    希望和你取得联系呢…看来一切正常,但邮件无法发出,使用自带的actionmailer可以正常发出的配置,我想请教的是是否deliver_method那里的配置问题呢?我改成smtp仍无法成功.谢谢

无觅相关文章插件,快速提升流量