目前我正在做丹尼尔·凯霍的Learn Ruby on Rails教程。其中一个练习是使用Google的Gmail帐户从联系人页面发送联系人表单。
但是,当我发送联系人表单时,我没有收到邮箱中的电子邮件,而是收到了以下错误:
SMTP-8月份请求但缺少用户名
在config/application.yml文件中,我设置了Gmail用户名和密码。
有没有人知道会有什么问题?
谢谢你的帮忙,
安东尼
发布于 2014-02-26 18:41:31
对于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尝试用你的Gmail用户名替换ENV"GMAIL_USERNAME“。
您可以在Unix中设置ENV"GMAIL_USERNAME“。或者在文件config/application.yml中设置它。如果用户名包含任何非alpha字符,则可能需要将其括在文件config/application.yml中的引号中。
发布于 2014-05-03 06:36:35
只需重复检查参数名称是否正确。对我来说,把username变成user_name解决了这个问题。
如果您喜欢看到错误,请将config.action_mailer.raise_delivery_errors的值更改为true。我有Rails 4,它不需要任何设置的改变才能正常工作。
谢谢@Toontje和Daniel Kehoe
https://stackoverflow.com/questions/22035242
复制相似问题