Rails 4:EOFError:仅在开发中的任何电子邮件后到达文件结尾

问题描述 投票:3回答:3

我有rails应用程序,它使用devise ofr身份验证和sidekiq用于后台电子邮件作业。突然之间,仅在开发中,我收到以下与尝试从应用程序发送电子邮件相关的错误(例如,设计忘记密码)

     EOFError: end of file reached

奇怪的是,生产中的应用程序正在运行(heroku使用sendgrid设置)。我没有更改任何开发电子邮件设置....

  ActionMailer::Base.default :from => '[email protected]'

    config.action_mailer.delivery_method = :smtp
    config.action_mailer.perform_deliveries = true
    config.action_mailer.raise_delivery_errors = true
    config.action_mailer.smtp_settings = {
      :address => "smtp.gmail.com",
      :port => 587,
      :domain => '@gmail.com',
      :user_name => "[email protected]",
      :password => "xxxxxxxx",
      :authentication => 'plain',
      :enable_starttls_auto => true
   }

    config.action_mailer.default_url_options = { :host => 'localhost:3000' }

我在网上找不到任何可以解决的问题。另外我注意到我在开发中使用类似设置的所有应用程序都会抛出相同的错误。我尝试了一个不同的电子邮件地址和密码(再次gmail),没有运气....

ruby-on-rails email heroku devise
3个回答
3
投票

对于那些像Aleksey想知道问题是如何解决的人一样,他添加了一个有效的域名。从domain: '@gmail.com'domain: "myprojectdomain.com"


1
投票

对于那些被卡住的人....这有用,但我不明白为什么。

 config.action_mailer.raise_delivery_errors = true

 config.action_mailer.delivery_method = :smtp

 config.action_mailer.smtp_settings = {
  address: "smtp.gmail.com",
  port: 587,
  domain: "myprojectdomain.com",
  user_name: "[email protected]",
  password: "xxxx",
  authentication: 'plain',
  enable_starttls_auto: true
 }

 config.action_mailer.default_url_options = { :host => 'localhost:3000' }

1
投票

对我来说,在我的Devise配置文件中设置发件人电子邮件解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.