SMTP-AUTHは要求されましたが、ユーザー名が見つかりませんでした

StackOverflow https://stackoverflow.com//questions/22035242

  •  21-12-2019
  •  | 
  •  

質問

現在、Daniel Kehoeの Ruby on Rails チュートリアルを学ぶ。演習の1つは、GoogleのGmailアカウントを使用して連絡先ページから連絡先フォームを送信することです。

しかし、私のメールボックスに電子メールを送るのではなく、連絡先フォームを送信すると、このエラーが発生しています。

"SMTP-AUTHが要求されましたが、ユーザー名が欠落しています"

my config / application.ymlファイルでは、Gmailのユーザー名とパスワードを設定します。

誰もが問題があるかもしれないものを考えていますか?

あなたの助けをありがとう、

アンソニー

役に立ちましたか?

解決

Rails 4.0(Rails 4.1はsecrets.ymlファイルを使用して資格情報を設定します):

ファイル config / environments / development.rb をチェックする必要があります。

  config.action_mailer.smtp_settings = {
    address: "smtp.gmail.com",
    port: 587,
    domain: ENV["DOMAIN_NAME"],
    authentication: "plain",
    enable_starttls_auto: true,
    user_name: ENV["GMAIL_USERNAME"],
    password: ENV["GMAIL_PASSWORD"]
  }
  # ActionMailer Config
  config.action_mailer.default_url_options = { :host => 'localhost:3000' }
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.raise_delivery_errors = true
  # Send email in development mode.
  config.action_mailer.perform_deliveries = true
.

gmailのユーザー名にenv ["gmail_username"]を置き換えてください。

UNIXシェルの["gmail_username"]を設定できます。またはファイル config / application.yml に設定します。ユーザ名にアルファ文字以外の文字が含まれている場合は、ファイル config / application.yml で引用符で囲む必要があるかもしれません。

他のヒント

パラメータ名を2倍にするだけで正しいことを確認してください。usernameuser_nameに変更すると問題が解決されました。
エラーを表示したい場合は、config.action_mailer.raise_delivery_errorsの値をtrueに変更してください。 私はRails 4を持っていて、設定の変更を正しく機能させる必要はありません。
ありがとう@Toontjeと@Daniel Kehoe

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top