3

delay_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を使用してから、delayed_jobで実行するようにメールにマークを付ける必要があります。

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

configで非同期にhandleを呼び出すこともできます。

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 に答える