복붙노트

[RUBY-ON-RAILS] 어떻게 고안과 확인 이메일을 설정합니까?

RUBY-ON-RAILS

어떻게 고안과 확인 이메일을 설정합니까?

그 방법을 처음부터 (개발 및 생산 모두에서) 고안의 가입 확인 이메일을 설정하는 설명이 밖으로 튜토리얼이 있는가, 즉 당신이 액션 메일러 설정하지 않는 경우?

구글 검색은이 관련된 별도의 조각의 무리를 돌았 다. 아무도 조각 충분히 설명하지 않고, 나는 확실히 그들이 함께 맞는 방법을 모르겠어요. 초기 단계를 설명하는 단계별 거기 설명, 또는 뭔가가 있나요?

마지막으로 작업을 얻었다. 아래 다음 내 environment.rb에 파일에 다음을 추가 허용 대답의 모든 단계를 이어 :

ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
   :tls => true,
   :address => "smtp.gmail.com",
   :port => 587,
   :domain => "gmail.com",
   :authentication => :login,
   :user_name => "[username]",
   :password => "[password]"
 }

해결법

  1. ==============================

    1.1. 만들기 확실히 당신은 Model.devise 호출에위한 확 포함

    1. 만들기 확실히 당신은 Model.devise 호출에위한 확 포함

    class User < ActiveRecord::Base
      devise :database_authenticatable, :confirmable ...
    end
    

    2. 만들기 확실히 당신은 사용자 마이그레이션을위한 확 추가

    create_table :users do |t|
      t.database_authenticatable
      t.confirmable
      ...
    end
    

    당신이 유증을 사용하는 경우 유증가 더 이상 마이그레이션 도우미 등 t.confirmable 인상 오류를 제공하기 때문에 2.0 이상이 실패하지 않습니다. 대신, 자신의 마이그레이션 가이드에서 "위한 확"이라는 블록을 복사합니다.

    당신이 고안 메일러 뷰를 대체 할 수 있도록, 다음 명령 중 하나와 함께, 유증 뷰를 생성합니다 :

    rails generate devise:views # global
    rails generate devise:views users # scoped
    

    당신은 지금의 메일러 뷰를 대체 할 수 있습니다 유증 / 우편물 / confirmation_instructions.html.erb 또는 사용자 / 우편물 / confirmation_instructions.html.erb 사용자의 설정에 따라

    개발 환경 4. 것은 /config/environments/development.rb에 다음의 설정 라인을 추가

    config.action_mailer.default_url_options = { :host => 'localhost:3000' }
    config.action_mailer.delivery_method = :smtp
    config.action_mailer.smtp_settings = {:address => "localhost", :port => 1025}
    

    당신은 다음과 비슷한 사용할 수 있습니다 /config/environments/production.rb 생산 환경 5. (: 25 당신은 로컬 호스트에서 SMTP 서버가 랬) :

    config.action_mailer.default_url_options = {:host => 'yourdomain.com'}
    config.action_mailer.delivery_method = :smtp
    config.action_mailer.smtp_settings = {
      :address => "127.0.0.1",
      :port    => 25,
      :domain  => 'yourdomain.com'
    }
    

    6 당신이 들어오는 모든 메일을 잡기 및 HTTP에 그들을 표시, 개발에 SMTP 서버로 사용하는 것으로는 mailcatcher 보석을 설치 개발에 설정을 테스트하려면 : // localhost를 : 1080 / :

    gem install mailcatcher
    

    일단 설치하면 명령을 mailcatcher 서버를 시작 :

    mailcatcher
    

    장난감 SMTP 서버는 포트 1025을 끄는 이메일을 실행하고 HTTP 포트 1080에 그들을 표시됩니다.

    이제 계정을 생성하고 확인서를 볼 수 있습니다.

  2. ==============================

    2.난 당신이 다시 한 번 편집한다고 생각 ... 포트 없음. ..이처럼 따옴표로해야한다 : -

    난 당신이 다시 한 번 편집한다고 생각 ... 포트 없음. ..이처럼 따옴표로해야한다 : -

    :port => "587",
    

    나는 레일에서 문제에 직면 3.2.0 / 루비 1.9.2

  3. ==============================

    3.당신은 ActionMailer 레일 가이드 봤어?

    당신은 ActionMailer 레일 가이드 봤어?

  4. from https://stackoverflow.com/questions/8186584/how-do-i-set-up-email-confirmation-with-devise by cc-by-sa and MIT license