SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

.qmail を使ってメール受信時にコマンドを実行する

qmailでは.qmailファイルにメールの転送先を記述できますが、

その転送先をプログラムにすることもできます。

書き方は次のようになります。

| /home/test.php

※もちろんパスやファイル名は自由です

そしてプログラムには、メールの中身は標準入力で受け渡されてくるので、次のようなプログラムを用意すれば、そのまま中身を転送するといったことができます。

#!/usr/bin/php
<?php
$message = file_get_contents("php://stdin");
mb_send_mail('test@example.com', 'testの件名', $message);
?>

※上の例は、メールの転送ではなくて、メールのソースの転送になるので、文字として読めない内容のものが転送されてきたりします。

メールが届いたらリアルタイムで何か処理をさせたいというときに使えます。

メールのソースが渡されてくるので、メールの内容に応じて処理をおこなうときは、PEARのメール関連のライブラリなどを使って、デコードしたり、添付ファイルを解析したりといったプログラムを書くことになります。

他の書き方例

CLI版phpを起動する。引数はスクリプトを記述したファイル。

| /usr/bin/php /home/test.php

プログラムを実行する。メール自体もメールボックスに配送する。




	

関連するメモ

コメント