ニュースレターを送信するために、delayed_job のコード例を使用しています。
class NewsletterJob < Struct.new(:subscribers)
def perform
subscribers.each { |subscriber| NewsletterMailer.newsletter(subscriber.id) }
end
end
次に、ここでジョブを設定します。
Delayed::Job.enqueue NewsletterJob.new(Subscriber.find(:all))
遅延ジョブを使用しないと、メールが送信されるので機能します。遅延ジョブを直接使用すると、メールは次のように送信されます。
NewsletterMailer.delay.newsletter(subscriber)
データベースのジョブ テーブルでは、yaml は次のとおりです。
--- !ruby/struct:NewsletterJob
subscribers:
- !ruby/ActiveRecord:Subscriber
attributes:
id: '54'
email: someemail@gmail.com
created_at: '2013-08-09 04:44:51.113258'
updated_at: '2013-08-09 08:26:05.934564'
token: quVI0dhxyyentB7TJ1IO6w
- !ruby/ActiveRecord:Subscriber
attributes:
id: '56'
email: another@gmail.com
created_at: '2013-08-11 09:29:22.000829'
updated_at: '2013-08-11 09:29:22.000829'
token: a-n-yijwi38_HvGFSmetmA
MockSMTP を使用して、ローカル マシンでメールを取得します。
仕事は順調に進んでいるように見えても、なぜかメールが送られてきません。
yamlに何か問題がありますか?
私はNOOBです