Postfixでメールを受信したらPerlスクリプトを実行したい
Solaris10で構築したサーバにて、ユーザー宛のメールを受信したら
Perlで記述したスクリプトを実行したい為、下に記載の手順1及び2の
方法で受信メールを渡すパイプを記述したのですがスクリプトが実行されませんでした。
手順1,2共に他のメールアドレスへ転送させた場合、メールの転送は正常に行われました。
メールを受信したらPerlスクリプトを実行するには、どのように設定すればよいのでしょうか?
main.cfやmaster.cfに更なる設定の記述が必要なのでしょうか?
主な環境は下記の様になっているのですが不足がありましたら御指摘下さい。
申し訳ありませんがよろしくお願いします。
【手順1】~/.forwardによるスクリプト起動
(1)~/.forwardに、下記の様な記述をしましたがスクリプト起動せず。
(.forwardの記述)
(パターン1) \username,"|/home/username/test.pl"
(パターン2) "|/home/username/test.pl"
(パターン3) |"/home/username/test.pl"
(パターン4) "|/usr/local/bin/perl /home/username/test.pl"
※下記のような転送は処理されました
\username,username@test.ne.jp
【手順2】main.cf修正によるスクリプト起動
(1)/usr/local/etc/postfix/main.cfに下記行を作成
alias_maps = hash:/usr/local/etc/postfix/aliases,hash:/usr/local/etc/postfix/usr_alias
(usr_aliasの記述) username: :include:/home/username/include
(includeの記述) |"/home/username/test.pl"
他に上記.forwardの記述の4パターンを試しましたが全てスクリプト起動せずでした。
【サーバ環境】
OS:Solaris10(Sparc)
MTA:postfix-2.5.3
【test.plの内容】
#!/usr/local/bin/perl
open(DATA_FILE, "> test_log.txt");
print DATA_FILE "Test_OK!!!\n";
close(DATA_FILE);
※備考
・保存場所:/home/username/test.pl
・パーミション:test.plと/home/username共に777
(オーナはusername)
【main.cfについて】
念のために
allow_mail_to_files = alias,forward,include
allow_mail_to_commands = alias,forward,include
の記述を追加しています。