2

私の Rails アプリケーションは、smtp を使用したメール システムを備えています。

私のアプリケーションは、ローカルホスト上で完全に動作し、オフィスや自宅の本番環境でも動作します。しかし、ファイアウォールがある企業のオフィスで、イーサネット経由で接続していたところ、メール システムに障害が発生し、問題が発生しました。本番環境でエラーメッセージが表示されなかったため、その時点ではエラーの原因はわかりませんでした。ローカルホストでテストする時間がありませんでした。

別の企業の建物で、ゲスト Wi-Fi を使用して、localhost のユーザーにメールを送信しようとしたところ、タイムアウト エラーが発生しましたが、運用 Web サイトでは完全に機能しました。これは私が得たエラーです:

Net::OpenTimeout: execution expired
from ~/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/smtp.rb:540:in `initialize'
from ~/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/smtp.rb:540:in `open'
from ~/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/smtp.rb:540:in `tcp_socket'
from ~/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/smtp.rb:550:in `block in do_start'
from ~/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/smtp.rb:549:in `do_start'
from ~/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/smtp.rb:519:in `start'
from ~/.rvm/gems/ruby-2.0.0-p0/gems/mail-2.5.3/lib/mail/network/delivery_methods/smtp.rb:136:in `deliver!'
from ~/.rvm/gems/ruby-2.0.0-p0/gems/mail-2.5.3/lib/mail/message.rb:2033:in `do_delivery'
from ~/.rvm/gems/ruby-2.0.0-p0/gems/mail-2.5.3/lib/mail/message.rb:229:in `block in deliver'
from ~/.rvm/gems/ruby-2.0.0-p0/gems/actionmailer-3.2.13/lib/action_mailer/base.rb:415:in `block in deliver_mail'
from ~/.rvm/gems/ruby-2.0.0-p0/gems/activesupport-3.2.13/lib/active_support/notifications.rb:123:in `block in instrument'
from ~/.rvm/gems/ruby-2.0.0-p0/gems/activesupport-3.2.13/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
from ~/.rvm/gems/ruby-2.0.0-p0/gems/activesupport-3.2.13/lib/active_support/notifications.rb:123:in `instrument'
from ~/.rvm/gems/ruby-2.0.0-p0/gems/actionmailer-3.2.13/lib/action_mailer/base.rb:413:in `deliver_mail'
from ~/.rvm/gems/ruby-2.0.0-p0/gems/mail-2.5.3/lib/mail/message.rb:229:in `deliver'
from (irb):6
from ~/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.13/lib/rails/commands/console.rb:47:in `start'
from ~/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.13/lib/rails/commands/console.rb:8:in `start'
from ~/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.13/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in 

setup_mail.rb ファイルは次のとおりです。

ActionMailer::Base.smtp_settings = {
  :address              => "smtp.gmail.com",
  :port                 => 587,
  :domain               => "domain",
  :user_name            => "user@gmail.com",
  :password             => "password",
  :authentication       => "plain",
  :enable_starttls_auto => true
}

ポートの問題でしょうか?その場合、どのポートを使用する必要がありますか?またその理由は?

このタイムアウト エラーを解決するにはどうすればよいですか? どうすればファイアウォールを回避できますか? どんな助けや提案も大歓迎です。ありがとう!

4

0 に答える 0