这可能是一个非常简单和不必要的问题,但我正在努力。
自从rails 3以来,世界似乎已经完成了queued_mails结构。我需要一个写有rails 3的gem来拦截MyMailer的传递方法,将邮件排队到db并要求我们运行rake出队并发送所有邮件。
它也很容易制作,但我不想通过这种努力,因为很难相信没有任何东西可用于导轨3 +。
建议?
答案 0 :(得分:0)
instead of using gem messages-queue
create simple mailer
pls check railscasts.com/episodes/171-delayed-job
script/plugin install git://github.com/collectiveidea/delayed_job.git
script/generate delayed_job
rake db:migrate
rake jobs:work
mailings_controller.rb
mailing = Mailing.find(mailing_id)
mailing.send_later(:deliver)
# or
Delayed::Job.enqueue(MailingJob.new(params[:id]), -3, 3.days.from_now)
lib/mailing_job.rb
class MailingJob < Struct.new(:mailing_id)
def perform
mailing = Mailing.find(mailing_id)
mailing.deliver
end
端