1

今まで私は script/runner を使ってバウンスバックを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".

4

1 に答える 1

0

実際、私がしなければならないことがいくつかありました。

電子メール eblast-bounce@dev.mydomain.com は「ルーティング不能」と見なされました。最初は、サブドメインの MX レコードがなかったことが原因だと考えたので、1 つ追加しました。しかし、それでもエラーが発生しました。シンボリックリンクされたディレクトリを使用してプログラムにパイプするようにエイリアスファイルを手動で更新しました/etc/valiases(Capistranoでデプロイしていたため、デプロイのたびにディレクトリが変更されるため)。eximルーティングに関しては、何らかの理由でシンボリックリンクが機能しないことが判明しました(/home/me/rails_deployments/dev.www/current/bin/railsが失敗します)。シンボリックリンクについては間違っているかもしれませんが、以下のソリューションを使用すると問題は解決しました。

しかし、この問題は最終的に別の問題 (/usr/bin/env: ruby​​: No such file or directory) に遭遇したときに解決されました。ruby/gem の管理に RVM を使用していますが、どうやらメール フォワーダーは ruby​​ が何かを知らなかったようです。これにより、最終的な解決策が導き出されます。

(cPanel の場合、"pipe to program" はユーザーのホーム ディレクトリ (/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 に答える