Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 行动邮件投递成功_Ruby On Rails_Ruby_Actionmailer - Fatal编程技术网

Ruby on rails 行动邮件投递成功

Ruby on rails 行动邮件投递成功,ruby-on-rails,ruby,actionmailer,Ruby On Rails,Ruby,Actionmailer,如果在ActionMailer中交付成功,有一种执行代码的方法吗 我的情况是: class UserMailer < ActionMailer::Base def action end end UserMailer.action.deliver_later! 邮件发送后如何执行代码?您可以使用rails操作邮件观察者方法。-观察和截取邮件 例如,您可以创建邮件观察者 class UserMailerObserver def self.delivered_email(mail

如果在ActionMailer中交付成功,有一种执行代码的方法吗

我的情况是:

class UserMailer < ActionMailer::Base
  def action
  end
end

UserMailer.action.deliver_later!

邮件发送后如何执行代码?

您可以使用rails操作邮件观察者方法。-观察和截取邮件

例如,您可以创建邮件观察者

class UserMailerObserver
  def self.delivered_email(mail)
    # code to be executed
  end
end
然后注册观察员

# config/initializers/mailer.rb
ActionMailer::Base.register_observer(UserMailerObserver)

你能再具体一点吗?您试图执行什么代码?邮件是异步传递的——因此最好在上面的操作方法中触发您想要的任何传递后行为。更具体地说,在该方法中调用mail之后。我使用异步发送邮件,它允许您在作业中实现成功挂钩。请参阅链接的repo上的挂钩部分