Rails 电子邮件传递检查错误 - deliver_now
Rails Error Checking for Email Delivery - deliver_now
我应该如何包装 deliver_now
方法调用,以便我们可以在交付时发现错误?
@user = User.new(user_params)
if @user.valid?
MyMailer.user_email(@user).deliver
# hmmm.... how do we catch if the email is not sent?
else
...
end
确保您在应用程序配置中设置了 config.action_mailer.raise_delivery_errors = true
。然后您可以使用救援块捕获异常。像这样:
@user = User.new(user_params)
if @user.valid?
begin
MyMailer.user_email(@user).deliver
rescue StandardError => e
# do something with the messages in exception object e
flash[:error] = 'Problems sending email'
end
else
...
end
我应该如何包装 deliver_now
方法调用,以便我们可以在交付时发现错误?
@user = User.new(user_params)
if @user.valid?
MyMailer.user_email(@user).deliver
# hmmm.... how do we catch if the email is not sent?
else
...
end
确保您在应用程序配置中设置了 config.action_mailer.raise_delivery_errors = true
。然后您可以使用救援块捕获异常。像这样:
@user = User.new(user_params)
if @user.valid?
begin
MyMailer.user_email(@user).deliver
rescue StandardError => e
# do something with the messages in exception object e
flash[:error] = 'Problems sending email'
end
else
...
end