web-dev-qa-db-ja.com

Rails 4 ActionMailer with gmail Net :: SMTPAuthenticationError:534-5.7.14

アプリの開発バージョンでメールを送信しようとしています。私がしていることは何も機能していません。私は次のようにヒットし続けます:Net :: SMTPAuthenticationError:534-5.7.14 https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=blahblahblah =

その他のSO私がフォローした投稿:

Net :: SMTPAuthenticationError when send email from Rails app(on staging environment)

RoRアプリでメールを送信しようとするとSMTPエラーが発生します

...など...そして何も機能しません。解決できない場合は、脳を引き裂きます。私はこれにとても長い時間を費やしました...

http://www.google.com/accounts/DisplayUnlockCaptcha に直接アクセスして、[続行]をクリックしようとしましたが、結果はありません。私はすでにGoogleアカウント設定で、安全性の低いアプリへのアクセスを有効にしています([Google]-> [セキュリティ]-> [アカウントのアクセス許可]-> [アクセス])。エラー後に投稿されたリンクにアクセスして、そこからログインしようとしましたが、結果が得られませんでした。

Config/environment /development.rbでの私のセットアップ

  config.action_mailer.default :charset => "utf-8"
  config.action_mailer.perform_deliveries = true
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    address: 'smtp.gmail.com',
    port: 587,
    domain: 'mysite.com',
    user_name: ENV['MAIL_EMAIL'],
    password: ENV['MAIL_PASS'],
    authentication: 'plain',
    enable_starttls_auto: true
  }

これが違いを生む場合:

Apacheエラーログから:

警告:名前ベースのSSL仮想ホストは、TLSサーバー名表示をサポートしているクライアントでのみ機能します

同じIPアドレスで2つのドメインをホストしています。

Railsアプリを本番モードに切り替えて、それが役立つかどうかを確認しました。結果はありません。

助けてください。

14
pigate

Googleアカウントの設定に移動し、Security -> Account permissions -> Access for less secure appsを見つけて、このオプションを有効にします。

このオプションについて: https://support.google.com/accounts/answer/6010255

29
Sibevin Wang

この解決策は私にとってはうまくいきます。

config.action_mailer.default :charset => "utf-8"
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
    address: 'smtp.gmail.com',
    port: 587,
    domain: 'mysite.com',
    user_name: [email protected],
    password: mypassword,
    authentication: 'plain',
    enable_starttls_auto: true
}

アカウント設定で安全性の低いアプリへのアクセスをオフにした場合、Googleはサインインをブロックしようとします。したがって、安全性の低いアプリについては、この リンク および「オン」アクセスに従ってください。

1
techdreams