【空メール】さくらインターネットで、空メールからPHPプログラムを実行する。

さくらインターネットで、空メールからPHPプログラムを実行するやり方をメモ。
メールの着信をトリガーにしてPHPプログラムを起動する方法です。

  1. サクラコントロールパネルで、空メールにしたいメールアドレスを新規で作成する。例) test@test.com
  2. 作成したメールアドレスにメール転送設定を行う。すぐに消去するので、転送するアドレスは何でもいい。設定したら、すぐに転送設定を消去する。
  3. FTPでサーバーに接続し、「/home/ユーザー名/MailBox/test/」の「.mailfilter」にこの後の内容を入力する。最初は何も書いていないファイルです。もし、このファイルが存在しなかったら、「.mailfilter」のファイルを新規で作ります。
  4. 「.mailfilter」の中身を以下のようにする。cc “| /home/ユーザー名/www/test.php”
    ※サーバーによって変わるので、ご自身のサーバーのドキュメントルートを記述して下さい。
    通常さくらは、/home/ユーザー名/www/です。
    ユーザー名は、さくらインターネットの契約時に決められた名称を入れてください。
    CCの後、|の後には半角スペースが入るので注意してください。
  5. 「.mailfilter」は、パーミッション(属性)を600に変更してする。
    これで、メールを受信したら自動的に、/home/ユーザー名/www/test.phpのPHPプログラムが実行されることになる。
  6. 実行させるPHPプログラムには、空メールで受け取った際に実行したいコードを記述します。
    一行目には必ず、「#!/usr/local/bin/php」 を入れる。
    あとは、通常のPHPを書くのと同じです。ただ、ファイルを保存したりする保存場所は、間接指定「../」や直接指定「http://www〜」は使用せずに、サーバードキュメントルート「 /home/ユーザー名/www/」で指定してください。
  7. 実行させるPHPは、パーミッション(属性)を744に変更してする。
  8. 以上

これで、空メールがきたら、自動的に指定のプログラムが起動する事となります。

上記、【4】での【CC】の部分ですが、空メールをメールソフトでも受信したい場合は、【CC】にします。

ただ、【CC】だと空メールがくるたびに、メールソフトで受信しないと溜まっていきます。
メールソフトで受信せずに、プログラムを実行させるだけなら、【to】 を使います。

うまくプログラムを記述すれば、データーベースに登録したり、PEARを使えば、メールに添付された画像を取り込む事ができます。

カテゴリー:Tips, さくらインターネットコメント(2)

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントフィード

トラックバックURL: https://takanix.com/wp-trackback.php?p=420