0

ユーザーが登録すると、確認メールが送信されるアプリがあります。

ユーザーコントローラーの作成アクションは次のとおりです。

def create
  @user = User.new(params[:user])

  respond_to do |format|
    if @user.save
      UserMailer.registration_confirmation(@user).deliver
      log_in(@user)
      format.html { redirect_to @user, notice: "Welcome to Pholder, #{@user.name}!" }
      format.json { render json: @user, status: :created, location: @user }
    else
      format.html { render action: 'new' }
      format.json { render json: @user.errors, status: :unprocessable_entity }
    end
  end
end

@user.save の後にわかるように、メーラーがあります。しかし、登録しようとした後、herokuでエラー(「申し訳ありません。何か問題が発生しました」)が発生したとある人が言ったので、自分で試してみましたが、エラーも発生しました

2012-11-16T17:21:28+00:00 app[web.1]: Net::SMTPAuthenticationError (535-5.7.1 Please log in with your web browser and then try again. Learn more at
2012-11-16T17:21:28+00:00 app[web.1]: ):

コードを調べた後、別のユーザーを作成しようとしましたが、今回はうまくいきました。誰かが理由を知っていますか?別の投稿で、これは一度に登録するユーザーが多すぎると失敗する可能性があることを読みました (送信される電子メールが多すぎるため)。 .

SMTP 設定:

config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  :address              => "smtp.gmail.com",
  :port                 => 587,
  :domain               => 'pacific-ravine-3563.herokuapp.com',
  :user_name            => ENV["EMAIL"],
  :password             => ENV["PASSWORD"],
  :authentication       => "plain",
  :enable_starttls_auto => true
}

config.action_mailer.default_url_options = { :host => 'pacific-ravine-3563.herokuapp.com' }
4

2 に答える 2

11

あなたが人間であることを証明するまで、Google はあなたをブロックするかもしれません。Web ブラウザからこの Gmail アカウントにログインしてみてください。うまくいかない場合は、ログインしてテストを完了しているときに、このリンクにアクセスしてみてください。

于 2012-11-16T20:43:13.140 に答える
1

それが誰かを助けるなら、私はここに行き、アクティビティを自分のものとして「認識する」必要がありました(Herokuがホストするサーバーからのものでした):https://security.google.com/settings/security/activity

于 2014-09-07T06:36:41.887 に答える