メールを投げるとバッチが動作するような操作をしたいのですがうまくいきません。

/etc/aliasesに
以下の行を追加します
regist_csv:"| /usr/local/bin/php /home/risho/reply_csv.php"

newaliases実行
ですがバッチがうまく動きません。
postfixのaliasesの場所は
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
となっているのでaliasesの場所は間違っていないと思います。
また
regist_csv: abc@dbaf.jp
などコマンドでなくメールの転送はうまくいっています。
phpファイルの権限もディレクトリも777で所有者もルートでないのですが、、

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/10/19 04:42:58
  • 終了:2006/10/26 04:45:02

回答(4件)

id:toohigh No.1

toohigh回答回数291ベストアンサー獲得回数372006/10/19 08:51:09

ポイント23pt

http://www.kobitosan.net/postfix/trans-2.2/jhtml/local.8.html

メールの転送ができるようでしたら、aliases 関連の操作手順は間違ってないでしょう。気になる点を挙げると、

  • aliases からのコマンド動作が制限されているかも

allow_mail_to_commands , command_execu-tion_directory , execution_directory_expansion_filter などを main.cf で確認してみてください。手っ取り早く確認するなら、

hogetest: "|/bin/mail your@mail.address"

とかのより単純なコマンドが動作するようでしたら、aliases からのコマンド実行自体は大丈夫と見ていいでしょう。

  • 動作権限の関係で php が動けない

動かす php スクリプトの内容を "hello, world" を /tmp な一時ファイルに書き出す程度の単純なものに変えてみる、とか。

これで動くようでしたら、postfix から呼ばれる際の環境と php スクリプト側で期待している環境との不一致の類が問題点かと思います。


現時点でいう「うまくいかない」内容が、何らかのエラーを発してくれているようでしたら、それを提示してみるのが役に立つ回答への近道かもしれません。

id:maruyamatyou

すみません。ログは以下のような感じですがエラーがどこなのかわかりませんです。

Oct 19 18:16:40 localhost postfix/smtpd[24257]: 6A9F0306A0: client=nmoPF08.ezweb.ne.jp[219.125.149.138]

Oct 19 18:16:40 localhost postfix/cleanup[24258]: 6A9F0306A0: message-id=<200610190916401921440084CR8B@nm17imap048.ezweb.ne.jp>

Oct 19 18:16:40 localhost postfix/qmgr[18583]: 6A9F0306A0: from=<localhost80@ezweb.ne.jp>, size=448, nrcpt=1 (queue active)

Oct 19 18:16:40 localhost postfix/local[24336]: 6A9F0306A0: to=<regist_csv@kaf.in>, relay=local, delay=0, status=sent (delivered to command: /usr/local/bin/php /home/risho/reply_csv.php)

Oct 19 18:16:40 localhost postfix/qmgr[18583]: 6A9F0306A0: removed

2006/10/19 19:28:55
id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402006/10/19 10:06:17

ポイント23pt

とりあえず、

/usr/local/bin/php /home/risho/reply_csv.php

を単体で実行して問題が無いか。

/var/log/maillog にエラーがでていないかを確認しましょう。

http://www.kobitosan.net/postfix/trans-2.2/jhtml/aliases.5.html

id:maruyamatyou

単体で実行しても問題はないみたいです。

maillogは以下の通りです。

うーむ。他のサーバではうまくいってるのですが手づまりじょうたいです。

logは以下の通りです。

Oct 19 18:16:40 localhost postfix/smtpd[24257]: 6A9F0306A0: client=nmoPF08.ezweb.ne.jp[219.125.149.138]

Oct 19 18:16:40 localhost postfix/cleanup[24258]: 6A9F0306A0: message-id=<200610190916401921440084CR8B@nm17imap048.ezweb.ne.jp>

Oct 19 18:16:40 localhost postfix/qmgr[18583]: 6A9F0306A0: from=<localhost80@ezweb.ne.jp>, size=448, nrcpt=1 (queue active)

Oct 19 18:16:40 localhost postfix/local[24336]: 6A9F0306A0: to=<regist_csv@kaf.in>, relay=local, delay=0, status=sent (delivered to command: /usr/local/bin/php /home/risho/reply_csv.php)

Oct 19 18:16:40 localhost postfix/qmgr[18583]: 6A9F0306A0: removed

2006/10/19 19:28:11
id:b-wind No.3

b-wind回答回数3344ベストアンサー獲得回数4402006/10/19 19:37:52

ポイント22pt

ログを見る限り Postfix 側では特にエラー無く処理されていますね。

プログラムも実行されエラーを出している形跡はありません。


http://www.kobitosan.net/postfix/trans-2.2/jhtml/local.8.html

あとは単純にプログラムの動作上の問題だと思います。

どのようなプログラムかが分からないのでなんともいえませんが、

動いているサーバーと動作しないサーバーでOSや Postfix のバージョンに違いはありませんか?

またプログラム側でも予期しない動作をしていないかいろいろ debug した方がよいように思います。

id:maruyamatyou

プログラムはシェル上から直接実行すると実行できます。

動いているほうはfedore5

動いていないほうはfedora4

両方ともyumからインストールしています。

delivered to command: /usr/local/bin/php /home/risho/reply_csv.php

とかいてあるのでエラーは起きてないみたいです。

2006/10/21 20:31:26
id:thrillseeker No.4

thrillseeker回答回数328ベストアンサー獲得回数372006/10/21 18:17:27

ポイント22pt

> 単体で実行しても問題はないみたいです。


質問の例の場合、 postfix は /etc/aliases ファイルの所有者の権限で

"/usr/local/bin/php /home/risho/reply_csv.php" を実行します。

php スクリプトの内容によっては、実行ユーザーの違いにより

不成功になる可能性があると思います。

単体でテストした際にはこの条件を合わせましたか?

http://axon.phys.nagoya-u.ac.jp/~murase/sys/mail/postfix.html


追伸:

maruyamatyouさんの前の質問にコメントを入れてありますので回答して下さい。

http://q.hatena.ne.jp/1160575080

id:maruyamatyou

丁寧なご回答ありがとうござます。

前の問題はどうやらUSEN光とdocomo回線の愛称が悪いことから生じたようです。

phpスクリプトは権限777 にして

usr/local/bin/php /tmp/test.php

test.phpは以下のとおり

$tmp = `touch aaa`;

?>

のような簡易てきなコマンドで実行していますがやはりじっこうできないままです。

なおaaa作成ディレクトリも777になっています。

シェル上から直接コマンドをうてば成功しますが

/etc/aliases経由だとどうもうまく動きません

2006/10/21 20:27:55

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません