Linuxでメールをトリガーとしてプログラムを動かす方法

このQ&Aのポイント
  • Linuxでメールをトリガーとしてプログラムを動かす方法について試していますが、うまくいきません。
  • 「/etc/aliases」に指定したコマンドが動かず、メールも届かない問題が発生しています。
  • 「/etc/aliases」の設定を変更しても、うまくメールを複数の宛先に届けることができません。
回答を見る
  • ベストアンサー

メールをトリガーとして....

Linuxでメールをトリガーとしてプログラムを動かしたいと思ってます。 「/etc/aliases」に「mailuser: "| /usr/bin/php -f /tmp/test.php"」を追加してもtest.phpは動かず、メールも届きません。 「/etc/aliases」に「mailuser: admin」としてみるとメールがadminに届いてほしいのですが、mailuserに1通届きます。 「/etc/aliases」に「mailuser: mailuser, admin」を追加するとメールがmailuserとadminに届いて欲しいのですが、mailuserに2通届きます。 「/etc/aliases」変更ごに「newaliases」は実行してます。 「PHP Version 5.1.6」「sendmail Version 8.13.8」で、VPSです。 どうして思うようにうごかないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

まずは/var/log/maillog などを確認してみてください。 プログラムが動かないのは、smrshが有効になっていないかも確認してみてください。

tasketeqq1
質問者

お礼

「@YMCの15日間無料トライアル」で試しているんですが、どうすればいいのかさっぱりわかりません。 もしよかったら@YMCでやってみて下さい、それで教えてくれたら有り難いのですが...汗汗

関連するQ&A

  • メールをトリガーにPHPを自動起動したい

    PHPでも聞いてみたのですが、考えてみるとPHPと言うよりもLinuxのほうかもしれないということでお願いいたします 空メールの内容をPHPに渡したいと言うことで、いろいろ試してみましたが、なかなかうまくいきません Webminを使ってサーバの管理をしています MTAはsendmailを使っています sendmailの/etc/aliases にはこのように記述しました hoge: "|/usr/bin/procmail" /etc/procmailrc にはこのように記述しています PATH=/usr/bin:/bin:/usr/local/bin MAILDIR=/var/spool/mail LOGFILE=/var/www/html/****/procmail.log LOCKFILE=/var/www/html/****/procmail.lock :0 |/var/www/html/****/empty_mail_regist.php 私の考えでは hoge@hoge.comにメールが来る      ↓ sendmailが/usr/bin/procmailの起動      ↓ procmailが/etc/procmailrc を読み込んでプログラム実行 となると思っているのですが間違うでしょうか? /etc/aliases に hoge: "|/var/www/html/***/empty_mail_regist.php" と記述した場合、PHPのエラー(#!/usr/bin/php -q が抜けているなど)の場合はエラーメールが帰ってきます PHPにアクセスはしているが実行できていない理由がわかりません プログラム的なものだと思い、きめうちでメールを送るスクリプトを書きましたがダメでした もちろん、コマンドラインで実行するとメールの送信はできます スクリプトの所有者とメールアドレスのユーザは別なのでどれがダメなのかと思い、chownでhogeに変更してみましたが変わりはありませんでした 参考にしたサイトはこちらです メール配信時のPHPスクリプト起動(Sendmail編)http://www.dolphy.gr.jp/webap/topic/smrsh.html

  • メールの受信をトリガーとしてperlを起動させたい

    メールの受信をトリガーとしてperlを起動させたいと考えています。 vine linux 4.0 で MTAはpostfix 2.2.10 のみが入っています。 /etc/postfix/aliases に root: "|/usr/bin/perl /root/test.cgi" と書いて postfix reload した後 root 宛にメールをすると、メール自体は普通に届きますが perlは起動しません。 test.cgi 自体は直接叩いてやると、ちゃんと動いています。 main.cf には alias_maps = hash:/etc/postfix/aliases と記述してあります。 メール受信で perlを起動させるにはどうしたらよいのでしょうか?

  • メールをトリガーにPHPを実行したい

    初めまして、メールをトリガーにPHPを実行したいと思い、 下記のように.forwardを書きました。 ドメイン:example.com アカウント:hogehoge メールアドレス:info@hogehoge.example.com \info: "|user/bin/php /home/hogehoge/public_html/index.php" ですが、info@hogehoge.example.comにメールを送信しても実行してくれません。 どのように記述すれば良いのでしょうか? 環境 Linux Root /home/hogehoge Sendmail /usr/sbin/sendmail よろしくお願いします

  • root宛てに送ったメールのオーナーが代わってしまう。

    root宛てにメールを送り、.forwardで処理し出力したファイルのオーナーがdeamonに代わってしまうのは、何が原因でしょうか?オーナーが代わらないように設定する方法を教えてください。また、/etc/mail/aliasesは何も設定してません。 .forwardの内容 "|/usr/local/bin/nkf -e > /tmp/test.mail" ls -l /tmp/test.mail -rw-r--r-- 1 daemon other 724 10月 15日 10:22 /tmp/test.mail

  • /etc/aliasesからphpを呼んだ場合、$_SERVERが取れません。

    /etc/aliasesから呼ばれたPHPで 開発機か本番機かを判別したいので、$_SERVERを 取得したいのですが取得できません。。 何か取得する方法はないでしょうか? ■/etc/aliases test: "| php /test.php ■test.php #!/usr/bin/php <?php mb_send_mail("a@a.com","",print_r($_SERVER)); ?>

    • 締切済み
    • PHP
  • root宛てメールの転送について

    sendmailの転送設定について困っていることがあるので質問させて頂きます。 あるサーバでCRONによりジョブが実行され、実行結果がroot宛にメールで配信されるようになっています。そのサーバ自体ではメールの参照を行わないため、メールは他のアドレスに転送したいと考えています。現状では /usr/bin/mail test@test.co.jp とやるとtest@test.co.jpに送信が可能です。次にroot宛のメールを転送しようと思い、/etc/mail/aliasesファイルの編集→newaliases にて転送設定を行いましたが、root宛に送信しても転送先へメールが転送されません。 aliasの設定に問題があるかと思い、以下のテストを行いましたが、設定したとおりの結果が返ってきています。 <テスト1> sendmail -C/etc/mail/sendmail.cf -v -bv root <テスト2>冗長モードでのメール配信 sendmail -C/etc/mail/sendmail.cf -v root  正常にroot宛メールがtest@test.co.jpに転送されて受信可能 しかしmailコマンドにてローカルからroot宛にメールを送信しても同様に目的のアドレスには転送されず、rootに配信されてしまいます。  /usr/bin/mail root  とやるとroot宛に送信してしまいtest@test.co.jpには送信できません。 このサーバ自体はメールの受信の必要はなく、root宛のメールを転送することができれば良いのですが、この先の対応方法が見つからず難儀しております。 情報に不足があり、状態が正確にお伝えできていないかも知れませんが、このような状態の解決のヒントをいただければと思っております。 よろしくお願い致します。 ■環境  OS :FreeBSD 4.7-RELEASE  sendmail :8.12.1(デーモン起動は行っていない)

  • newaliasesがうまくいきません

    こんばんは。atsu1100ともうします。 RedHat7.0.1、sendmail-8.12.0、CF-3.7Wpl2(patchあり)の環境で newaliasesを実行したらエラーが表示されます。 以下がその内容です。 Warning: .cf file is out of date: sendmail 8.11.1 supports version 9, .cf file i s version 8 Cannot rebuild aliases: no database format defined Cannot create database for alias file /etc/aliases もしかしたら、sendmailのバージョンは、8.11.1 を入れてるかもしれません。 /etc/aliasesのパーミッションが「644」なのですが、試しに「777」に 変えたらエラーのメッセージの内容が変わりました。 Warning: .cf file is out of date: sendmail 8.11.1 supports version 9, .cf file i s version 8 newaliases: cannot open /etc/aliases: Group writable file どうかよろしくお願いいたします。

  • CentOSにてpostfixの設定

    CentOSにpostfixを導入し、メール受信をトリガーにシェルスクリプトを起動させたいと考えています。 レンタルサーバの為postfixが無かったのでyum install postfixでinstallしました。 その後の設定ですがイマイチ分からずとりあえず他のサイトを色々みてやったのですが、うまく動きません。 /etc/aliases にviエディタにて hoge.hoge.hoge: | "/usr/local/hoge/bin /usr/local/hoge/bin/sh restart.sh" を記述しました。 /etc/postfix/main.cf 上記設定ファイルには下記を有効にしています。 ・queue_directory = /var/spool/postfix ・command_directory = /usr/sbin ・daemon_directory = /usr/libexec/postfix ・mail_owner = postfix ・myhostname = hogehoge.com ---->同じでOK? ・mydomain = hogehoge.com ---->同じでOK? ・myorigin = $mydomain ・inet_interfaces = all ・mydestination = $mydomain, $myhostname ・unknown_local_recipient_reject_code = 550 ・alias_maps = hash:/etc/aliases ・alias_database = hash:/etc/aliases ・recipient_delimiter = - ・debug_peer_level = 2 ・debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id & sleep 5 ・sendmail_path = /usr/sbin/sendmail.postfix ・newaliases_path = /usr/bin/newaliases.postfix ・mailq_path = /usr/bin/mailq.postfix ・setgid_group = postdrop ・html_directory = no ・manpage_directory = /usr/share/man ・sample_directory = /usr/share/doc/postfix-2.3.3/samples ・readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES /var/log/maillog には何も記載されていませんでした。 MTAもpostfixに設定しました。(system-switch-mailにて) /var/log/messages にも何も記載されていませんでした。 /etc/aliaesも変更しました hoge.hoge.hoge: | "/usr/bin /usr/local/hoge/bin/restart.sh" と一行追加しています。追加後 newaliaesも実行しDBも更新しています。 goge.hoge.hoge@example.comに携帯からメールを送信すると宛先不明等のメールは返ってきません なのでメールは受信できているのかとも思ったのですが /var/mail/hoge.hoge.hoge は0バイトになっているので受信していないようです。 レンタルサーバーのVPSを使っています。 そこでgoge.hoge.hoge@example.comのメールアドレスは作成済みです。 基本的な事は確認したつもりです。 postfixは起動しています。 MTAもpostfixに設定しました。 気になるのが、main.cfの設定です。 myhostname と mydomain が同じであることです。 どうぞ、ご教授の程宜しくお願い致します。

  • sendmailからqmail:CGIから送れない

    こんばんわ。 sendmailコマンド置換えについてです。 OS:Fedora7 メールサーバー:qmailとdovecot vpopなど使ってます。 メールサーバーについては、 バーチャルでもローカルからは送受信出来てます。 cgiがユーザーさんがHPのcgiからメールを送って来ると、 内容を自動返信するような感じのcgiですが。 テストでやってみても。 ローカルの受信すら来ない状態です。 もちろん、自動返信で返っても来ません。 以下をしました。 chmod 0 /usr/lib/sendmail chmod 0 /usr/sbin/sendmail mv /usr/lib/sendmail /usr/lib/sendmail.bak mv /usr/sbin/sendmail /usr/sbin/sendmail.bak ln -s /var/qmail/bin/sendmail /usr/lib/sendmail ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail apacheのエラーは、 sh: /usr/sbin/sendmail: Permission denied, referer: http://www.hogehoge.com/cgi-bin/test.cgi Permission関係でしょうか? sendmailをls -lで調べると lrwxrwxrwx 1 root root 23 Jun 5 19:05 /usr/sbin/sendmail -> /var/qmail/bin/sendmail です。 その他調べる箇所ありますでしょうか? 後・・・ 私のサーバーでは、 newaliases とすると・・・ bash: /usr/bin/newaliases: Permission denied になります。 パーミッションは777のroot rootになってます。 宜しくお願いします。

  • 自宅mailサーバからPHSにメールが送信されない

    最近、自宅でMailサーバを立ち上げました。WBEL3にPOSTFIXを導入し、SquirrelMailでweb上からmailを送受信していますが、ウィルコムのPHSにmailが届かない(多分携帯にも)ので、postfixのmain.cfに下記の設定を追加し、  transport_maps = hash:/etc/postfix/transport postmapで下記の記載のtransportをtransport.dbにした上でPOSTFIXを再起動してみました。  pdx.ne.jp :[smtp.pdx.ne.jp] .pdx.ne.jp :[smtp.pdx.ne.jp] それでも、mailが届きません。設定の仕方がおかしいのでしょうか?ご教示下さい。 main.cfの上記以外の設定は下記の通りです。 queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix mail_owner = postfix myhostname =****** mydomain = ****** myorigin = $mydomain inet_interfaces = all mydestination = $myorigin, $myhostname, mail.$myorigin unknown_local_recipient_reject_code = 550 mynetworks = ***.***.***.***/24, 127.0.0.0/8 alias_maps = hash:/etc/aliases debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin  xxgdb $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop manpage_directory = /usr/share/man sample_directory = /usr/share/doc/postfix-2.0.16/samples readme_directory = /usr/share/doc/postfix-2.0.16/README_FILES smtpd_client_restrictions = permit_mynetworks, reject_unknown_client, permit mailbox_size_limit = 1000000000 message_size_limit = 20000000 smtpd_recipient_limit = 50 smtpd_recipient_restrictions = permit_mynetworks, check_client_access hash:/etc/postfix/pop-before-smtp, reject_unauth_destination transport_maps = hash:/etc/postfix/transport