21

尝试创建用户时,我在生产中遇到此错误(我正在使用设计 gem)。

EOFError (end of file reached):

我之前遇到过这个问题,这是由于我使用 zoho mail 的 smtp 设置。

我相信我下面的配置是解决问题的原因:

ActionMailer::Base.delivery_method = :smtp  
ActionMailer::Base.smtp_settings = {            
  :address              => "smtp.zoho.com", 
  :port                 => 465,              
  :domain               => 'example.com',   
  :user_name            => 'user@example.com',
  :password             => 'password',         
  :authentication       => :login,
  :ssl                  => true,
  :tls                  => true,
  :enable_starttls_auto => true    
}

现在我们已将 SSL 添加到该站点,我相信这就是导致此错误发生的原因。

是否有人对此错误或使用 SSL 的 zoho mail smtp 设置有任何见解?

4

5 回答 5

39

这个错误是由于我的 config/initializers/devise.rb 没有为config.mailer_sender.

于 2013-05-30T03:11:24.500 回答
4

还!我犯了这个额外的错误并且遇到了同样的问题:我使用自己的域而不是邮件服务器域作为“域”变量。

您的环境变量应该是:

GMAIL_DOMAIN=gmail.com

或者对于上面的例子:

:domain => 'gmail.com',

于 2016-04-07T20:50:14.137 回答
2

我在这里找到了错误的一个原因 => https://stackoverflow.com/a/40354121/6264112

但这并没有解决我的问题。虽然我没有收到任何错误,但我的电子邮件仍然无法通过 Zoho 工作,所以我找到了另一个非常适合我需要的解决方案......

1) 使用 SMTP 将 Zoho 连接到 gmail。我将我的 zoho 电子邮件设置为我的个人 gmail 帐户的别名,以便将 zoho 电子邮件转发到 gmail,我可以从我的 zoho 电子邮件地址在 gmail 中回复它们。无论如何都应该这样做,这样您就不必登录 zoho。只需从 gmail 发送所有电子邮件。

2) 将 ActionMailer 连接到 gmail 帐户而不是 zoho。

config.action_mailer.smtp_settings = {
    :address                          => 'smtp.gmail.com',
    :port                                 => 587,
    :user_name                     => ENV["gmail_username"],
    :password                       => ENV["gmail_password"],
    :authentication                => :plain,
    :enable_starttls_auto     => true
}

现在,我只需要在邮件程序中指定 to 和 from 值,如下所示:

def notify_admin (message_details)
    @message_details = message_details
    mail(to: "jesse@mydomain.com", subject: "Contact form filled out by: " + message_details[:name], from: message_details[:email])
end

当我想向自己发送电子邮件时,这很有效,就像上面有人提交联系表时的示例一样。

当我想从我的域发送电子邮件时,它也可以工作,例如当他们填写铅磁铁时。我所做的只是切换到:和从:地址。

于 2017-02-03T21:20:12.060 回答
1

这是一个有效的ponygem 调用。

Pony.mail({
      :to => 'apotonick@gmail.com',
      subject: "Pony ride",
      body: "Awesome!",
      from: "nick@trb.to", # this MUST be the sending Zoho email.

      :via => :smtp,
      :via_options => {
        :address        => 'smtp.zoho.com',
        :port           => '465',
        :enable_starttls_auto => true,
        ssl: true,
        :user_name      => 'nick@trb.to', # MUST be identical to :from.
        :password       => 'yourStrongPw',
        :authentication => :login,
      }
    })
于 2016-06-21T09:14:38.810 回答
0

我遇到了这个问题,我尝试了所有方法,但仍然无法弄清楚问题所在。

让我们面对现实吧,这是一条 SH!t 消息。尽管我在本地使用 POW 运行我的 rails 应用程序,但我确实发现了它实际上是一个 POW 错误。

当我运行rails server并执行导致错误的相同操作时,我实际上得到了真正的错误消息并且能够发现我没有正确设置我的控制器

于 2018-05-28T16:43:17.990 回答