Rails 4:EOFError:仅在开发中的任何电子邮件后到达文件结尾
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails 4:EOFError:仅在开发中的任何电子邮件后到达文件结尾相关的知识,希望对你有一定的参考价值。
我有rails应用程序,它使用devise ofr身份验证和sidekiq用于后台电子邮件作业。突然之间,仅在开发中,我收到以下与尝试从应用程序发送电子邮件相关的错误(例如,设计忘记密码)
EOFError: end of file reached
奇怪的是,生产中的应用程序正在运行(heroku使用sendgrid设置)。我没有更改任何开发电子邮件设置....
ActionMailer::Base.default :from => 'slfwalsh@gmail.com'
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 => "xxxxx@gmail.com",
:password => "xxxxxxxx",
:authentication => 'plain',
:enable_starttls_auto => true
}
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
我在网上找不到任何可以解决的问题。另外我注意到我在开发中使用类似设置的所有应用程序都会抛出相同的错误。我尝试了一个不同的电子邮件地址和密码(再次gmail),没有运气....
答案
对于那些像Aleksey想知道问题是如何解决的人一样,他添加了一个有效的域名。从domain: '@gmail.com'
到domain: "myprojectdomain.com"
另一答案
对于那些被卡住的人....这有用,但我不明白为什么。
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: "xxxx@gmail.com",
password: "xxxx",
authentication: 'plain',
enable_starttls_auto: true
}
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
另一答案
对我来说,在我的Devise配置文件中设置发件人电子邮件解决了这个问题。
以上是关于Rails 4:EOFError:仅在开发中的任何电子邮件后到达文件结尾的主要内容,如果未能解决你的问题,请参考以下文章