• 締切済み

メールからphpスクリプト起動

初めて質問させて頂きます。 レンタルサーバで、以下の処理を考えています。 1.メールを受信する 2.1をトリガーにしてphpスクリプトを起動する この処理は共有サーバでも実現可能でしょうか。

みんなの回答

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.3

質問> メール受信という動作で 質問> スクリプトを実行できるのでしょうか? そうやね。例えば「このアドレスに空メールを送信! すぐアドレス付きのメールが返信されます」というのが良くあるだろう。あれもほとんどはこの手法を使っているはずだ。 メール受信→スクリプト実行(この時にメルアドを控えているのに違いない)→スクリプトからメール返信 質問> トリガとしてはPHPでなくて、 質問> 言語としては何が適正というか標準なのでしょうか? 回答2> PHPを使う意味がないという意図が 回答2> どこにあるのか解りませんが、 回答2> PHPを使うのが適当な処理であれば使えばいい 回答2> と思いますよ。  そうそう、「メールを分解して解析して何らかの反応をするもの」を作成するなら、別にPHPにこだわる必要は無いという意味で言った。  恐らく、質問者はPHPでサイトを構築または構築を検討しているのだと思い、サイトの延長またはシステムの一部として、同じPHPでメールのトリガを作成しようとしていたのではないかと考えたので、トリガの部分は(どうせPHPと言ったってstdin使ったりほとんど違う作りになるのだから)PHPにこだわらなくても良いよと言った。  C言語をお勧めする予定だったが、そう言えばレンタルサーバーだったな・・・・。それにはshellの開放に加えてccの提供も要るのでより敷居が高いかもな。  wakame0729さんがおっしゃっているように、必要な機能を満足に実装できるのであれば、PHPでも良い。PHPにこだわるなとは言ったが、最終的にPHPが良いと君が判断したのであればそれで良いのだ。

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

anmochiさんが書いた、ホームにある.qmailというファイルに書いた > /usr/bin/php -q ~higeo/public_html/trigger.php の一文がメールからPHPを起動するおまじないです。この場合、HTTPではなくシェルスクリプトとして起動する事になります。qmailなら.qmail、sendmailなら.forwardというファイルが使えるかどうか、これを問い合わせてみて下さい。 質問は共有サーバーでも実現可能かどうか、なので、anmochiさんが書いた通り、その業者に問い合わせないと正しい答えは得られません。 >>正直な話、トリガとしてPHPを使う意味はあまりないと思う。 >トリガとしてはPHPでなくて、言語としては何が適正というか標準なのでしょうか? PHPを使う意味がないという意図がどこにあるのか解りませんが、PHPを使うのが適当な処理であれば使えばいいと思いますよ。メールの転送やファイルに落とす程度ならsh等で充分ですけどね。

全文を見る
すると、全ての回答が全文表示されます。
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

それはレンタルサーバー会社に問い合わせてください。 この時に、質問の仕方として、次の内容を伝えれば良いだろう。仮に、 ・共有サーバーの名前をwww.kyoyu.tld ・君のアカウントをhigeo ・メールドメインをkyoyu.tld ・メールアドレスをhigeo@kyoyu.tld ・phpのパスを/usr/local/bin/php ・トリガとして実行するPHPファイルをtrigger.php とする。 レンタルサーバー会社に対する質問:アカウントhigeoに対して、次の設定は行えるか。例はqmail1.03の場合 ~higeo/.qmail | /usr/bin/php -q ~higeo/public_html/trigger.php 正直な話、トリガとしてPHPを使う意味はあまりないと思う。HTTP用のPHPとは違う書き方になるし。

higeo_2005
質問者

補足

anmochiさん返信ありがとう御座いますっ。。。 メール受信という動作でスクリプトを実行できるのでしょうか? >正直な話、トリガとしてPHPを使う意味はあまりないと思う。 トリガとしてはPHPでなくて、言語としては何が適正というか標準なのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 空メール受信時php起動 さくらインターネット

    以前、さくらインターネットを利用していました。 まずは、質問の前に背景を説明しておきます。 --- 空メール受信時にphp起動させるという事を行っていましたが、 それは以下のような方法で行っていました。 ■次のメルアドを登録する reg@hoge.sakura.ne.jp ■メールフォワードを設定する /home/hoge/MailBox/reg/.mailfilter ■空メールを受信したとき reg@hoge.sakura.ne.jp宛に空メール送信。 .mailfilterに記述されたphpが起動し、 それに応じた処理を行う。ここでは会員登録の処理など。 --- やりたいことは以下の通りです。 --- ■次のメルアドは登録しない reg@hoge.sakura.ne.jp del@hoge.sakura.ne.jp ■空メールを受信した時にやりたいこと 受信したメールのメールアカウントがregの場合、会員登録処理を行う。 受信したメールのメールアカウントがdelの場合、退会処理を行う。 --- 質問したいのは、登録されていないメルアドでも 空メールを受信したときにphpを起動する方法です。 これについて、自分なりに調べてみた内容を要約すると、 そのサーバ(hoge.sakura.ne.jp)で受信したメールをすべてroot宛に転送し、 そこでメールフォワードを設定しておき処理する。 といった内容でした。具体的に何をどうすればよいかわかりません。 root権限を持っていれば出来るのでしょうが、レンタルサーバでこのようなことが 出来るのかも、難しいのではないかと思います。 ご存知の方がいればご教授いただければと思います。

    • 締切済み
    • PHP
  • PHPでメールフォームを作るのはどれほど難しいのでしょうか?

    はじめまして。 このたび、PHP初心者として安くでサーバをレンタルしたものです。 肝心なメールフォームを作らないとと思い、参考書を探しているのですが、 PHPのスクリプトとして処理するプログラムが載っていません。 インターネットでいろいろと探したところ、ソースは公開されておらず、 どうやらかなり難しそうだという結論に至りました。 基礎から勉強して作り上げるには何行程度のプログラムになりますか? PHPを専門とされている方、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPからメールを送る@さくらインターネット

    PHPを利用して、メールを送れません。 PHP4.3.10を使っています。レンタルサーバーとして、さくらインターネットのレンタルサーバー(プレミアム)を利用しています。 以下のようなスクリプトを書いたのですが、指定されたアドレスにメールが届いた気配がありません。何か、設定したりしないといけないとか、初歩的なミスかと思うのですが、何が悪いのでしょうか? <?php mb_language('Japanese'); mb_send_mail('xxx@xxx.xx.xx','やぁ','届いた?'); ?>

    • ベストアンサー
    • PHP
  • レンサバでメール受信時にPHP処理を行いたい

    レンタルサーバで、メール受信と同時にPHPでDB登録の処理を行いたいのですが、 そういったサービスを行っているところはありますでしょうか? 無料にはこだわっていませんが、できれば安いほうがありがたいです。 また、国内サービスにもこだわっていません。 やりたいのは以下のようなものです。 メール受信と同時にスクリプトを起動する http://www.loopus.co.jp/wiki/?%A5%E1%A1%BC%A5%EB%BC%F5%BF%AE%A4%C8%C6%B1%BB%FE%A4%CB%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8%A4%F2%B5%AF%C6%B0%A4%B9%A4%EB%28Postfix%A4%CE%BE%EC%B9%E7%29 さらに具体的に言いますと、ウェブベースの家計簿を設計していまして、 新規の出費等を携帯のメールから登録出来るようにしたいのです。 携帯でメール送信 -> レンサバでメール受信 -> PHPで処理 -> 家計簿DBに追加登録 利便性を考え、「メールで登録」を実現したいと考えています。 どこか使えそうなところを教えて頂けないでしょうか?

  • .forwardを利用した、メールをトリガーにするPHPの起動について

    初めて質問させていただきます。 初めてなので、質問の仕方にも不手際があるかもしれませんが ご容赦ください。 サーバーはWEBアリーナさんのをお借りしています(webarenasuite2) メールはPostfixで受信しています。 <<目的>> メールの受信をトリガーにしてPHPプログラムを起動させようとしております。最終的にはメールの本文などのDBに取り込もうとしていますが、とりあえずプログラムを起動できるかを確認したかったのでメールの内容などは関係なくDBに適当な名前のテーブルを作成するようなプログラムになっています。 <<症状>> 対象のメールアドレスにメールを送ると、エラーメッセージなどは一切返ってきません。が、望む動作も一切しません。 直接test.phpをブラウザで動かすと、DBにテーブルを作成します(望んだ動きです)。 おそらくtest.phpを.forward経由で動かせていないのだろうと思いますが、その理由がわかりません。 自分が確認したことを以下に記します。 (1).forwardの置き場所 プログラム起動ではなく、メール転送の記述を行い、メールの転送が行われることを確認しました。.forwardの置き場所は間違えていないかと思います。 (2).forwardのパスの確認 .forwardには以下の記述がしてあります。 |"/usr/bin/php -q /home/*****/web/test.php" phpが/usr/bin/phpなのはおそらく間違いないかと思います。 また、絶対パスの指定はtest.phpにrealpathの記述を書いて 確かめました。 (3)パーミッションの確認 .forwardは600 test.php自体や、その上の階層のwebや*****、homeなどもパーミッションも実行権限を与えてみました。755などになっています。 以上です。 2日以上詰まってしまいました。 お手数をおかけしますが、お手すきの方がいらっしゃいましたら、よろしくおねがいします。

    • 締切済み
    • PHP
  • PHPからシェルスクリプトの実行

    宜しくお願い致します。 PHP超初心者です。 現在あるWEBシステムの保守・運用を担当しているのですが、 「画面上からサーバ内のシェルスクリプトを実行できるような方法はないか」とお客様から依頼を受け、調査しております。 ネットで調査してみたところ、「PHPが一番実現しやすい」みたいなことを書いているサイトを発見したのですが、具体的な実現方法が書いておらず、他に同様のサイトを発見できなかったので、本当に実現できるか疑問をもってしまいました。 そこで質問なのですが、 (1)PHPからシェルスクリプトは実行できるのか。 (2)(1)が実現可能なら具体的にどうすればいいのか ※簡単なサンプルソースを拝見できれば幸いです。 をご教示頂けますでしょうか。 宜しくお願い致します。                     以上

    • ベストアンサー
    • PHP
  • 空メール受信時のphp起動

    さくらインターネットのメール受信にて.mailfilterを使ってphpを起動しています。 この方法ではメールアドレスは特定されていますが、不特定のメールアドレスでphpを起動したいのです。 たとえば現在時刻(2010年1月11日)を使って空メール送信先のメールアドレス20100111@sakura.ne.jpを決定します。しかしもちろんこの時点でこのメールアドレスはメールサーバに登録されていません。サーバ側では受信したメールアドレスのアカウント名(20100111の部分)によって処理内容を決定したいのです。どうすれば出来るのでしょうか? ※試しに20100111@sakura.ne.jp宛てに空メールを送ってみると送信エラーになります。

    • 締切済み
    • PHP
  • PHPとACTION SCRIPTの連携

    PHPとACTION SCRIPTの連携 サーバー(レンタルサーバ)側でMYSQLのデータをからPHPで取り出すことができるようになりましたが、 そのデータを、どうやってaction script(クライアント側)に連携させるかで悩んでます。 phpとmysqlの連携の本は何冊かそろったのですが、 ACTION SCRIPTとphpの連携について書いてある本が見つからなくて、 詳しい人がいたら教えてください。 PHPからmysqlに接続して、テーブルを選んで、 echo $row["●●"]; という形で、インターネットエクスプローラーに、必要なデータを表示させるところまではできたのですが、 このデータをaction scriptに連携させるには、どうしたらいいでしょうか?

    • ベストアンサー
    • PHP
  • PHPスクリプトからサービスの再起動

    お世話になります。 PHPスクリプトからリナックスのsquidのサービスを 再起動したいのですが、これは可能なんでしょうか? php4.3.9 apache2.0.52 rhl9 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPスクリプトでperlスクリプト

    はじめまして。PHP初心者です。助け舟をお願いします。 PHPスクリプトで、formの表示からデータの受け取り→ファイルに書込み→終了画面の表示ができるスクリプトを書くことが出来ました。 これをphpスクリプト1とします。 POSTで受け取った変数を元に処理した変数を返すperlスクリプトがあります。 これをperlスクリプト1とします。 perlスクリプト1をphpスクリプトにすることは私には困難なため、phpスクリプト1のファイルに書き込む前に、perlスクリプト1を実行→返った変数をphpスクリプトで使用しファイルに書込み→終了画面の表示を行いたいです。 こんなことってできますか?

    • 締切済み
    • PHP