Too*_*tje 6 smtp-auth learn-ruby-on-rails
目前我正在做Daniel Kehoe的Learn 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
Run Code Online (Sandbox Code Playgroud)
尝试用您的Gmail用户名替换ENV ["GMAIL_USERNAME"].
您可以在Unix shell中设置ENV ["GMAIL_USERNAME"].或者将其设置在文件config/application.yml中.如果用户名包含任何非字母字符,则可能需要将其括在文件config/application.yml中的引号中.
只需仔细检查参数名称是否正确.为了我改变username
成user_name
解决了问题.
如果你喜欢看的错误,变化值config.action_mailer.raise_delivery_errors
成true
.我有Rails 4并且它不需要任何设置更改才能正常工作.
谢谢@Toontje和@Daniel Kehoe
归档时间: |
|
查看次数: |
4572 次 |
最近记录: |