メール受信時の環境変数RAILS_ENVの設定
サーバー側でメールを受信した際にアプリケーションを実行するプログラムを作っていると仮定します。
※問合せ管理用のWebシステムがあり、その中の一つのインターフェイスとして当プログラムが存在しているような場合です。
その際に、webアプリケーションではwebrick起動の際にdevelopmentもしくはproductionをRAILS_ENVに設定しますが、メール受信の際にはwebrickを介さずにscript/runnerでプログラムを起動するため、メールを受信したユーザーの環境変数でプログラムが実行されます。
通常はRAILS_ENVの環境変数が設定されていないので、アプリケーションを起動する際に環境変数を設定しなければなりません。
いかはpostfixでの環境変数の設定方法を例にした記述方法です。
ユーザー自身のホームディレクトリに移動し".forward"ファイルを編集します。
vi .forward
"|export RAILS_ENV=production && /usr/local/bin/ruby プログラムのパス/script/runner \"Mailman.receive(STDIN.read)\""
このexport RAILS_ENV=production &&で環境変数を設定することによりプログラムがproductionで実行されます。
qmailの場合は.qmailファイルに書くだけでよいと思います。
※試したことはありませんが、おそらくそんなに変わらないでしょう。
SevenAgent,Inc
0 件のコメント:
コメントを投稿