问题是如何在ActionMailer传递邮件时捕获异常。对我来说,这听起来是不可能的,因为在这种情况下,ActionMailer应该将邮件发送到mailserver,并且如果mailserver返回错误,ActionMailer应该向我显示此错误。我只对计数未送达的邮件感兴趣。

您有任何想法如何执行此操作吗?
谢谢!

最佳答案

我在 Controller 中使用这样的东西:

 if @user.save
      begin
      UserMailer.welcome_email(@user).deliver
      flash[:success] = "#{@user.name} created"
      rescue Net::SMTPAuthenticationError, Net::SMTPServerBusy, Net::SMTPSyntaxError, Net::SMTPFatalError, Net::SMTPUnknownError => e
        flash[:success] = "Utente #{@user.name} creato. Problems sending mail"
      end
      redirect_to "/"

关于ruby-on-rails - 如何在ActionMailer中捕获错误异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8709984/

10-10 15:24