[stability][dj] Handle email sending exception

Issue #185 new
Jimmy Chu created an issue

In production:

Sent mail to 2262638667@qq.com (60953.0ms)
I, [2015-05-23T17:15:23.109390 #4819]  INFO -- : Completed 500 Internal Server Error in 61068ms
F, [2015-05-23T17:15:23.118455 #4819] FATAL -- :
Net::ReadTimeout (Net::ReadTimeout):
  /usr/local/rbenv/versions/2.1.2/lib/ruby/2.1.0/net/protocol.rb:158:in `rescue in rbuf_fill'
  /usr/local/rbenv/versions/2.1.2/lib/ruby/2.1.0/net/protocol.rb:152:in `rbuf_fill'
  /usr/local/rbenv/versions/2.1.2/lib/ruby/2.1.0/net/protocol.rb:134:in `readuntil'
  /usr/local/rbenv/versions/2.1.2/lib/ruby/2.1.0/net/protocol.rb:144:in `readline'
  /usr/local/rbenv/versions/2.1.2/lib/ruby/2.1.0/net/smtp.rb:938:in `recv_response'
  /usr/local/rbenv/versions/2.1.2/lib/ruby/2.1.0/net/smtp.rb:555:in `block in do_start'
  /usr/local/rbenv/versions/2.1.2/lib/ruby/2.1.0/net/smtp.rb:948:in `critical'
  /usr/local/rbenv/versions/2.1.2/lib/ruby/2.1.0/net/smtp.rb:555:in `do_start'
  /usr/local/rbenv/versions/2.1.2/lib/ruby/2.1.0/net/smtp.rb:520:in `start'
  vendor/bundle/ruby/2.1.0/gems/mail-2.5.4/lib/mail/network/delivery_methods/smtp.rb:112:in `deliver!'
  vendor/bundle/ruby/2.1.0/gems/mail-2.5.4/lib/mail/message.rb:2129:in `do_delivery'
  vendor/bundle/ruby/2.1.0/gems/mail-2.5.4/lib/mail/message.rb:232:in `block in deliver'
  vendor/bundle/ruby/2.1.0/gems/actionmailer-4.1.4/lib/action_mailer/base.rb:527:in `block in deliver_mail'
  vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/notifications.rb:159:in `block in instrument'
  vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/notifications.rb:159:in `instrument'
  vendor/bundle/ruby/2.1.0/gems/actionmailer-4.1.4/lib/action_mailer/base.rb:525:in `deliver_mail'
  vendor/bundle/ruby/2.1.0/gems/mail-2.5.4/lib/mail/message.rb:232:in `deliver'
  vendor/bundle/ruby/2.1.0/gems/roadie-rails-1.0.3/lib/roadie/rails/inline_on_delivery.rb:13:in `deliver'
  vendor/bundle/ruby/2.1.0/gems/devise-3.2.4/lib/devise/models/authenticatable.rb:173:in `send_devise_notification'
  /var/www/cache/cnpaas_portal/vendor/bundle/ruby/2.1.0/gems/devise-3.2.4/lib/devise/models/confirmable.rb:102:in `send_confirmation_instructions'
  /var/www/cache/cnpaas_portal/vendor/bundle/ruby/2.1.0/gems/devise-3.2.4/lib/devise/models/confirmable.rb:158:in `send_on_create_confirmation_instructions'
...

Comments (11)

  1. Jimmy Chu reporter

    下午好了个科学的 smtp 服测试。用一个 smtp 服,每隔两秒发一封邮件到特定收件人,发 10 封。

    • 从 QQ smtp 服发到 gmail 及 QQ 地址,都很好,延时短,没掉失邮件。
    • 从 mandrill smtp 服发到 gmail 很好,延时短,没掉失邮件。发到 QQ 地址的,过了 40 分钟,仍然一封都受不到。
    • 从 submail smtp 服发到 gmail 地址,延时可长达30分钟,掉失了 1封邮件。发到 QQ 的则延时短,没掉失邮件,但全部到了垃圾邮箱
  2. Log in to comment