Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 执行ActionMailer::DeliveryJob时出错_Ruby On Rails - Fatal编程技术网

Ruby on rails 执行ActionMailer::DeliveryJob时出错

Ruby on rails 执行ActionMailer::DeliveryJob时出错,ruby-on-rails,Ruby On Rails,我试图在每次创建用户时发送电子邮件,但我就是不能。我已经学习了许多教程和相同错误的主题。 我也在控制台上试过,同样的结果: TesteMailer.welcome_email(User.first).deliver_later 它返回: 从10485.78ms中的异步(邮件程序)执行ActionMailer::DeliveryJob(作业ID:e536b95d-fab5-4f9d-82ac-b2af12336fc2)时出错:EOFError(到达文件末尾): 我也试过了 TesteMailer

我试图在每次创建用户时发送电子邮件,但我就是不能。我已经学习了许多教程和相同错误的主题。 我也在控制台上试过,同样的结果:

TesteMailer.welcome_email(User.first).deliver_later
它返回:

从10485.78ms中的异步(邮件程序)执行ActionMailer::DeliveryJob(作业ID:e536b95d-fab5-4f9d-82ac-b2af12336fc2)时出错:EOFError(到达文件末尾):

我也试过了

TesteMailer.welcome_email(User.first).deliver_now
或者只是

TesteMailer.welcome_email(User.first).deliver
两者都返回

EOFError:已到达文件结尾

这是我的SMTP配置:

 config.action_mailer.perform_deliveries = true
 config.action_mailer.raise_delivery_errors = true
 config.action_mailer.delivery_method = :smtp
 config.action_mailer.smtp_settings = {
   address:              'smtp.gmail.com',
   port:                 465,
   domain:               'gmail.com',
   user_name:            '...@gmail.com',
   password:             '...',
   authentication:       'plain',
   enable_starttls_auto: true  }
我还尝试使用SMPT端口587并替换

config.action_mailer 

我正在使用Ruby 2.3.3p222和Rails 5.1.2

编辑 在希罗库也是这样

2017-12-08T19:46:26.548061+00:00应用程序[web.1]:E[2017-12-08T19:46:26.547992#4]错误--:[ActiveJob][ActionMailer::DeliveryJob][52dac876-c9a0-4c69-958b-0c08ec75f2af]从10548.59ms中的异步(邮件程序)执行ActionMailer::DeliveryJob(作业ID:52DAC9A0-4c69-958b-0c08ec75f2af)时出错:已到达文件末尾):

解决方案 我通过向gem文件中添加gem'mail'、“~>2.7”解决了这个问题


感谢所有人

显示您的测试邮件程序代码。请共享您的邮件程序代码。可能的问题是您为邮件程序设置的发件人地址无效。因此,请查看您是否已从地址设置了有效的
。如果您未设置,默认值将是
example.com
,这就是它可能失败的原因。请您澄清一下-您刚刚将该行添加到GEM文件中,或者您还进行了任何进一步的设置?我不记得了,我想我只是添加了这一行并运行了bundleAh,我明白了。无论如何谢谢你!仅供参考,我仍然收到此
eoferor(已到达文件末尾)
邮件
版本
2.7.1
错误。所以我认为这不是解决办法。
ActionMailer::Base