web-dev-qa-db-ja.com

Rails 3ActionMailerエラー-ホスト名がサーバー証明書と一致しませんでした

Rails 3App用にSMTPを設定しています。

この構成は機能します。

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

しかし、この構成はそうではありません。 「ホスト名がサーバー証明書と一致しませんでした」と表示されます

ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {  
  :address              => "some_other_server.com",  
  :port                 => 587,  
  :domain               => "mydomain.com",  
  :user_name            => "<username>",  
  :password             => "<password>",  
  :authentication       => "plain",  
  :enable_starttls_auto => true  
}

不思議なことに、同じ構成がRails 2.3.8。(:tls => true)で機能します。

どうしましたか?

25
Sam Kong

ActionMailersmtp設定でこれを試してください。

:openssl_verify_mode => 'none'

それはあなたに安全な接続を提供しますが、物事を検証しません。本番アプリには最適なアイデアではないかもしれませんが、私にとってはうまくいきます。

53
Murray Steele

私はまったく同じ問題を抱えていました。 ActionMailer :: Base.smtp_settingsを変更することで解決しました:

:enable_starttls_auto => true  

:enable_starttls_auto => false

:user_nameの値に@ domain.comが含まれていることを確認する必要がありました

16
daz13

メーラー(アプリ/メーラーにあります)にデフォルトのアドレスを指定していますか?この問題が発生したことを最後に思い出したとき、メーラーのホスト名がSMTP設定のホスト名と一致しませんでした。

0
Eric R.