SMTP-AUTH를 요청했지만 사용자 이름이 누락되었습니다.
-
21-12-2019 - |
문제
지금은 다니엘 케호(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에게 감사드립니다.