【问题标题】:Rails 4.0 receiving emails - no such file (runner)Rails 4.0 接收电子邮件 - 没有这样的文件(跑步者)
【发布时间】:2014-06-03 08:04:22
【问题描述】:

到目前为止,我一直在使用脚本/运行程序将反弹转发到 eblast-bounceback@mydomain.com 和 eblast-bounceback@dev.mydomain.com。但是它不再在 Rails 4.0 中工作。我似乎也无法在网上找到一个好的资源来说明如何做到这一点。我通常会被定向到“无论何时” gem - 但那是针对 cron 作业,而不是针对“管道到程序”。

所以这基本上就是我目前正在做的事情,但是失败了:

|/home/user/rails/dev.www/script/rails runner 'EBlast.receive(STDIN.read)' -e development

如何让它工作?我不在 Rails 4.1 上,我在 4.0 上。 FWIW 我没有垃圾箱/导轨。上面的命令产生"no such file or directory"。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 pipe runner email-bounces


    【解决方案1】:

    实际上我需要做一些事情。

    电子邮件 eblast-bounce@dev.mydomain.com 被视为“无法路由”。起初我认为这是因为子域没有任何 MX 记录,所以我添加了一个。但后来我仍然得到了错误。我已经手动更新了/etc/valiases 中的别名文件,以使用符号链接目录通过管道传输到程序(因为我使用 Capistrano 进行部署,并且每次部署后目录最终都会更改)。事实证明,当涉及到 exim 路由时,符号链接由于某种原因不起作用(/home/me/rails_deployments/dev.www/current/bin/rails 失败)。也许我对符号链接的事情有误,但是当我使用下面的解决方案时问题就消失了。

    然而,当我最终遇到另一个问题(/usr/bin/env: ruby​​: No such file or directory)时,这个问题得到了解决。我正在使用 RVM 来管理红宝石/宝石,显然电子邮件转发器不知道红宝石是什么。这导致了最终的解决方案:

    (在 cPanel 中,“管道到程序”假定用户主目录 (/home/me/))
    .rvm/wrappers/ruby-2.1.0@website/ruby /home/me/rails_deployments/dev.www/current/bin/rails runner 'EBlast.receive(STDIN.read)' -e development

    其中 ruby​​-2.1.0 是我当前的 ruby​​ 版本,@website 是 EBlast.receive 代码库使用的 gemset。

    编辑:说得太早了,该命令有自己的一系列问题......(gemfile 不存在)。这太可笑了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-25
      • 2020-07-09
      • 1970-01-01
      • 2011-02-07
      • 2018-06-01
      • 2022-08-13
      • 1970-01-01
      • 2010-11-25
      相关资源
      最近更新 更多