복붙노트

[RUBY-ON-RAILS] 4, 레일 방법을 올바르게 구성 SMTP 설정 (Gmail은)

RUBY-ON-RAILS

4, 레일 방법을 올바르게 구성 SMTP 설정 (Gmail은)

나는 주변 뒷조사를 한 레일 (4)에 문의 양식을 만들려고 작업에 물건의 대부분을 얻을 수있었습니다입니다. (레일 (4) 여기에 sethfri의 작업 문의 양식 메일러 @ 다음)

지금은 내 양식 상자와 히트 전송을 작성 할 수 있어요. 내 레일 서버에서는 메일이 내 이메일 주소로 아웃 바운드 였다고,하지만 난 내 SMTP 설정를 잘 작성하지 생각 때문에 나는 내 Gmail 상자에 아무것도 나타나지 않습니다. 내 SMTP 설정은 다음과 같습니다 :

... 설정 / 환경 / development.rb

config.action_mailer.raise_delivery_errors = true
  config.action_mailer.perform_deliveries = true

  config.action_mailer.default_url_options = { :host => 'localhost:3000' }

  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    :address => "smtp.gmail.com",
    :port => "587",
    :domain => "mydomain.net",
    :user_name => "mygmailusername@gmail.com",
    :password => "myGmailPassword",
    :authentication => "plain",
    :enable_starttls_auto => true
  } 

또한 나는에 추가 ... / 설정 / 초기화 / smtp_settings.rb

ActionMailer::Base.smtp_settings = {
    :address => "smtp.gmail.com",
    :port => "587",
    :domain => "mydomain.net",
    :user_name => "gmailuser@gmail.com",
    :password => "gmailPassword",
    :authentication => "plain",
    :enable_starttls_auto => true
}

내가 잘못을하고 / 무엇을 놓치고? 나는 몇 가지 주위에 해본 적이 (포트 1025에 DEFAULT_URL를 변경, 변경 : 포트 => "587"로 : 포트 => 587) 성공하지 못했다.

도와 주셔서 감사합니다!

해결법

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

    1.올바르게 도메인을 설정해야합니다. 현재 코드에서의 "mydomain.net"를 기록했다. 당신은 Gmail을 통해 그것을 전송하려면 gmail.com으로 변경합니다.

    올바르게 도메인을 설정해야합니다. 현재 코드에서의 "mydomain.net"를 기록했다. 당신은 Gmail을 통해 그것을 전송하려면 gmail.com으로 변경합니다.

    config.action_mailer.smtp_settings = {
      address:              'smtp.gmail.com',
      port:                 587,
      domain:               'gmail.com',
      user_name:            'xyz@gmail.com',
      password:             'yourpassword',
      authentication:       :plain,
      enable_starttls_auto: true
    }
    
  2. ==============================

    2.(Google 애플리케이션 계정 공통)를 이메일을 보내는 Gmail을 사용하는 동안 인터넷 :: SMTPAuthenticationError 같은 오류가 발생하면, Gmail 설정을 방문하여 응용 프로그램 작업을 얻기 위해 보안 수준이 낮은 앱을 가능하게한다.

    (Google 애플리케이션 계정 공통)를 이메일을 보내는 Gmail을 사용하는 동안 인터넷 :: SMTPAuthenticationError 같은 오류가 발생하면, Gmail 설정을 방문하여 응용 프로그램 작업을 얻기 위해 보안 수준이 낮은 앱을 가능하게한다.

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

    3.몇 시간 나를 위해이 작업을하는 방법을 검색 한 후, 나는 그것을 작동하게 할 수있는 방법을 찾을 수 있습니다. 나 자신을 위해, 나는 2 단계 인증 사용의 Gmail 응용 프로그램 암호를 만드는 데 필요한

    몇 시간 나를 위해이 작업을하는 방법을 검색 한 후, 나는 그것을 작동하게 할 수있는 방법을 찾을 수 있습니다. 나 자신을 위해, 나는 2 단계 인증 사용의 Gmail 응용 프로그램 암호를 만드는 데 필요한

    2 단계 인증 설정

    어떻게 앱 비밀번호를 생성

  4. ==============================

    4.2019, 레일 5 업데이트 답 :

    2019, 레일 5 업데이트 답 :

      config.action_mailer.perform_deliveries = true
      config.action_mailer.raise_delivery_errors = true
      config.action_mailer.perform_caching = false
      config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
      config.action_mailer.delivery_method = :smtp
      config.action_mailer.smtp_settings = {
        address: "smtp.gmail.com",
        port: 587,
        authentication: "plain",
        enable_starttls_auto: true,
        user_name: "blabla@gmail.com",
        password: "blabla", 
        domain: "smtp.gmail.com",
        openssl_verify_mode: "none",
      }
    
  5. ==============================

    5.구글은 로그인 프로세스의 OAuth 2.0을 사용하는 것이 좋습니다. 이 구성은 구글에 대한 "그렇게 안전하지",하지만 그들은 그것을 용납. 당신은 Google 계정 설정에서 "덜 안전한 연결을"허용 할 필요하거나 OAuth를-방법을 사용합니다. https://developers.google.com/identity/protocols/OAuth2

    구글은 로그인 프로세스의 OAuth 2.0을 사용하는 것이 좋습니다. 이 구성은 구글에 대한 "그렇게 안전하지",하지만 그들은 그것을 용납. 당신은 Google 계정 설정에서 "덜 안전한 연결을"허용 할 필요하거나 OAuth를-방법을 사용합니다. https://developers.google.com/identity/protocols/OAuth2

    루비에 대한 그들의 라이브러리는 아직 알파입니다. 이 OAuth를위한 ActionMailer을 확장 어떤 보석이 될 것 같다,하지만 난 그들을 사용하지 않았다.

  6. from https://stackoverflow.com/questions/25872389/rails-4-how-to-correctly-configure-smtp-settings-gmail by cc-by-sa and MIT license