3

Learn Ruby on Railsチュートリアルの「Send Mail」セクションでエラーが発生し続けます。

ローカル マシンでhttps://github.com/RailsApps/learn-rails.gitのクローンを作成しようとしましたが、問題は解決していません。

以下は私のコードです:

user_mailer.rb

class UserMailer < ApplicationMailer
  default from: "do-not-reply@example.com"

  def contact_email(contact)
    @contact = contact
    mail(to: Rails.application.secrets.owner_email, from: @contact.email, :subject => "Website Contact")
  end
end

開発.rb

config.action_mailer.smtp_settings = {
    address: "smtp.gmail.com",
    port: 587,
    domain: Rails.application.secrets.domain_name,
    authentication: "plain",
    enable_starttls_auto: true,
    user_name: Rails.application.secrets.email_provider_username,
    password: Rails.application.secrets.email_provider_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

secrets.yml

development:
  email_provider_username: <%= ENV["GMAIL_USERNAME"] %>
  email_provider_password: <%= ENV["GMAIL_PASSWORD"] %>
  mailchimp_api_key: <%= ENV["MAILCHIMP_API_KEY"] %>
  mailchimp_list_id: <%= ENV["MAILCHIMP_LIST_ID"] %>
  domain_name: example.com
  owner_email: <%= ENV["OWNER_EMAIL"] %>

また、.bashrc ファイルで環境変数が正しく設定されていることも確認しました。

どんな助けでも大歓迎です、そして前もって感謝します!

4

3 に答える 3

0

私も同じ問題を抱えていました。2段階認証(Google)を無効にすることから、secrets.ymlで資格情報をハードコーディングすることまで、すべてを試しましたが、成功しませんでした。

Outlook.com の資格情報を使用したところ、完全に機能しました。

注: これには、development.rbの変更が必要です。

config.action_mailer.smtp_settings = {       
    address : "smtp.live.com"
    # everything else is identical.
}
于 2015-08-09T03:28:10.020 に答える