1

到目前为止,我一直在使用 script/runner 将反弹转发到eblast-bounceback@mydomain.comeblast-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".

4

1 回答 1

0

实际上我需要做几件事。

电子邮件 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 不存在)。这是可笑的。

于 2014-04-27T01:24:30.583 回答