首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SMTP-8月份请求但缺少用户名

SMTP-8月份请求但缺少用户名
EN

Stack Overflow用户
提问于 2014-02-26 08:03:47
回答 2查看 6.5K关注 0票数 7

目前我正在做丹尼尔·凯霍的Learn Ruby on Rails教程。其中一个练习是使用Google的Gmail帐户从联系人页面发送联系人表单。

但是,当我发送联系人表单时,我没有收到邮箱中的电子邮件,而是收到了以下错误:

SMTP-8月份请求但缺少用户名

在config/application.yml文件中,我设置了Gmail用户名和密码。

有没有人知道会有什么问题?

谢谢你的帮忙,

安东尼

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-26 18:41:31

对于Rails 4.0 (Rails 4.1使用secrets.yml文件设置凭据):

检查文件config/environments/development.rb,您应该拥有以下内容:

代码语言:javascript
复制
  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中的引号中。

票数 6
EN

Stack Overflow用户

发布于 2014-05-03 06:36:35

只需重复检查参数名称是否正确。对我来说,把username变成user_name解决了这个问题。

如果您喜欢看到错误,请将config.action_mailer.raise_delivery_errors的值更改为true。我有Rails 4,它不需要任何设置的改变才能正常工作。

谢谢@Toontje和Daniel Kehoe

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22035242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档