Rails의 Action Mailer에 Gmail을 사용했습니다. Net:SMTP Authentication Error가 나왔습니다.

3584 단어 ActionMailerRubyRails

개요


왜냐하면 Rails에서 메일을 보내는 기능을 만들 필요가 있거든요.
나는 ActionMailer로 Gmail로 메일을 보내 보았다.
이렇게 하면 UserName과 Password가 맞네요. Net: SMTPAuthentication Error가 나왔습니다.
대책을 남기다.

2단계 인증을 통한 어플리케이션 암호 게시


다음 링크에서 두 개의 등급 인증을 사용하면 응용 비밀번호를 발행합니다
https://myaccount.google.com/security#signin

적절하게 생성할 때 환경 변수에 암호 (16자) 를 복사합니다.
~/.zshrc
export MAIL_ADDRESS='メールアドレス'
export MAIL_PASSWORD='さっきコピーしたアプリパスワード'

환경 변수를 사용하여 직접 지정할 수 없습니다!


처음에는 이렇게 썼어요.
config/environments/development.rb
config.action_mailer.smtp_settings = {
    enable_starttls_auto: true,
    address: 'smtp.gmail.com',
    port: '587',
    domain: 'gmail.com',
    authentication: 'plain',
    user_name: ENV['MAIL_ADDRESS'],
    password: ENV['MAIL_PASSWORD']
  }
그래서 다음과 같이 변경...
config/environments/development.rb
# 一旦変数に入れておく
mail = ENV['MAIL_ADDRESS']
pass = ENV['MAIL_PASSWORD']

config.action_mailer.smtp_settings = {
    enable_starttls_auto: true,
    address: 'smtp.gmail.com',
    port: '587',
    domain: 'gmail.com',
    authentication: 'plain',
    user_name: mail,
    password: pass
  }
왜 그냥 지목하고 움직이지 않는 건지...
아는 거 있으면 알려주세요.
(어쩌면 나만 일어난 문제일지도 몰라)

좋은 웹페이지 즐겨찾기