문제

지금은 다니엘 케호(Daniel Kehoe)의 일을 하고 있어요 Ruby on Rails 배우기 지도 시간.연습 중 하나는 Google Gmail 계정을 사용하여 연락처 페이지에서 문의 양식을 보내는 것입니다.

그러나 연락처 양식을 보냈을 때 내 사서함에 이메일이 도착하지 않고 다음 오류가 발생했습니다.

"SMTP-AUTH를 요청했지만 사용자 이름이 누락되었습니다."

내 config/application.yml 파일에서 Gmail 사용자 이름과 비밀번호를 설정했습니다.

문제가 무엇인지 아는 사람이 있습니까?

당신의 도움을 주셔서 감사합니다,

앤서니

도움이 되었습니까?

해결책

Rails 4.0 (Rails 4.1은 secrets.yml 파일을 사용하여 자격 증명을 설정합니다) :

파일 config / environments / development.rb 을 확인하십시오.

  config.action_mailer.smtp_settings = {
    address: "smtp.gmail.com",
    port: 587,
    domain: ENV["DOMAIN_NAME"],
    authentication: "plain",
    enable_starttls_auto: true,
    user_name: ENV["GMAIL_USERNAME"],
    password: ENV["GMAIL_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
.

env [ "gmail_username"]을 Gmail 사용자 이름으로 교체하십시오.

UNIX 셸에서 ENV [ "gmail_username"]를 설정할 수 있습니다.또는 config / application.yml 파일에서 설정하십시오.사용자 이름에 아닌 문자가 아닌 문자가 있으면 config / application.yml 파일의 따옴표로 묶어야 할 수 있습니다.

다른 팁

매개변수 이름이 올바른지 다시 한번 확인하세요.변화하는 나를 위해 username ~ 안으로 user_name 문제를 해결했습니다.
오류를 확인하려면 값을 변경하세요. config.action_mailer.raise_delivery_errors ~ 안으로 true.나는 Rails 4를 가지고 있으며 제대로 작동하기 위해 설정을 변경할 필요가 없습니다.
@Toontje 및 @Daniel Kehoe에게 감사드립니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top