4

レールでdelayed_job gemを使用してアクションメーラーからメールを送信しようとしています。after_create コールバックからアクションメーラーのメソッドを呼び出しています

デモモデルで

after_create :send_mail
def send_mail
  DemoMailer.to_client( self).deliver
end

demo_mailer で

def to_client( demo)
  @demo = demo
  mail(:to => demo.email, :subject => "Confirmation")
end
handle_asynchronously :to_client

エラーが表示されます

ArgumentError in DemosController#create

A sender (Return-Path, Sender or From) required to send a message

それから私は変わります

def send_mail
  DemoMailer.to_client( self).deliver
end

def send_mail
  DemoMailer.delay.to_client( self)
end

エラーは表示されませんでしたが、メールも受信しませんでした。

4

2 に答える 2

2

エラーが示すように、、、またはフィールドのいずれかが欠落してreturn-pathsenderますfromfromフィールドの設定は難しくありません。

mail(:to => demo.email, :from => 'webmaster@your-domain.com', :subject => "Confirmation")

詳細については、ActionMailer#mailのドキュメントを参照してください。

于 2013-01-10T08:07:45.007 に答える