3

我想使用delayed_job在后端发送电子邮件,这是/config/initializers/setup_mail.rb

ActionMailer::Base.smtp_settings = {  
    :address              => "smtp.gmail.com",
    :port                 => 587, 
    :domain               => DOMAIN,  
    :user_name            => USERNAME,  
    :password             => PASSWORD,  
    :authentication       => "plain",  
    :enable_starttls_auto => true
}

所以我想知道如何配置delayed_job在后端发送邮件。谢谢。

4

3 回答 3

1

您应该首先使用操作邮件教程http://edgeguides.rubyonrails.org/action_mailer_basics.html然后只需将您的邮件标记为在延迟作业中执行:

class UserMailer < ActionMailer::Base
  default :from => "notifications@example.com"

  def welcome_email(user)
    @user = user
    @url  = "http://example.com/login"
    mail(:to => user.email,
         :subject => "Welcome to My Awesome Site")
  end

  handle_asynchronously :welcome_email
end

您还可以在配置中异步调用句柄:

UserMailer.handle_asynchronously :welcome_email
于 2010-12-20T23:28:47.647 回答
0

本站介绍了整个流程: http: //www.magnionlabs.com/2009/2/28/background-job-processing-in-rails-with-delayed_job

除非我误解你在问什么?

于 2010-08-05T02:14:24.437 回答
0

看看这个:http: //xponrails.net/2011/03/04/how-to-send-email-asynchronously-using-devise-and-rails3/

为我工作...

于 2011-11-15T08:45:49.510 回答