人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

メールを投げるとバッチが動作するような操作をしたいのですがうまくいきません。
/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で所有者もルートでないのですが、、


●質問者: maruyamatyou
●カテゴリ:コンピュータ インターネット
✍キーワード:.jp 777 ABC ETC HOME
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● toohigh
●23ポイント

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

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

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

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

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

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

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


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

◎質問者からの返答

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

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


2 ● b-wind
●23ポイント

とりあえず、

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

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

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

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

◎質問者からの返答

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

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


3 ● b-wind
●22ポイント

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

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


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

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

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

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

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

◎質問者からの返答

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

動いているほうはfedore5

動いていないほうはfedora4

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

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

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


4 ● thrillseeker
●22ポイント

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


質問の例の場合、 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

◎質問者からの返答

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

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

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

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

test.phpは以下のとおり

$tmp = `touch aaa`;

?>

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

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ