问题是如何在ActionMailer发送邮件时捕获异常.对我来说听起来是不可能的,因为在这种情况下,ActionMailer应该发送邮件到mailserver,如果mailserver返回错误,ActionMailer应该显示这个错误.我只计算未送达的邮件.
你有什么想法如何实现吗?
谢谢!
解决方法
我在控制器中使用这样的东西:
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 "/"