メール受信時に PHP スクリプトを起動して自動処理させる方法

2009年4月 3日 19:27 メール受信時に PHP スクリプトを起動して自動処理させる方法

以前、メール受信時に perl スクリプトを起動して自動処理させる方法という記事を書きましたが、それのPHP版です。

上記のエントリでも書いていますが、メール受信時に何らかの処理を行なうプログラムを作る場合、

  1. 特定のメールアカウントにメールが届いた際に、何らかのプログラムが起動するように設定する
  2. そのプログラムを書く

という2つのステップが必要ですが、そのうち1番目のステップに関しては、perl だろうが PHP だろうが、全く関係ありません。
なので、1ステップ目のメールサーバー側の設定に関しては、メール受信時に perl スクリプトを起動して自動処理させる方法を参照してください。

メールを処理する PHP スクリプトの書き方

PHP というと、Webアプリケーションに特化した言語、というイメージがありますが、もちろん perl と同じように、シェル的な使い方もできます。

メールを受け取った PHP スクリプトで、標準入力の内容を読めば、メール受信時の処理を行なえます。

ちなみに PHP の場合、PEAR の Mail_Mime というパッケージを使うと、メール受信時の処理が非常に簡単になります。

PEAR については、さくらのレンタルサーバーに PEAR をインストールするも参考にどうぞ。

#-- PEAR の Mail/mimeDecode.php を読み込む
require_once 'Mail/mimeDecode.php';

#-- メールデータ取得
$params['include_bodies'] = true; 
$params['decode_bodies']  = true; 
$params['decode_headers'] = true; 
$params['input'] = file_get_contents("php://stdin"); // 標準入力
$params['crlf'] = "\r\n"; 
$mail_data = Mail_mimeDecode::decode($params); 

#-- From フィールドの取得
$FromAddress = $mail_data->headers['from']; 

#-- To フィールドの取得
$ToAddress = $mail_data->headers['to']; 

#-- Subject フィールドの取得
$Subject = $mail_data->headers['subject'];
$Subject = mb_convert_encoding($Subject,"UTF-8","JIS");

#-- 本文の取得
$MailBody = $mail_data->body;
$MailBody = mb_convert_encoding($MailBody,"UTF-8","JIS");

後は、取得したデータを元に、色々処理すれば良いです。

なお、添付ファイルつきのメールの場合、本文を上記の方法で取得できないと思います。あくまでテキストメールの場合の例ですので悪しからず。

阿部辰也へのお仕事のご依頼・お問合せはこちら

Twitter始めました。Followはお気軽にどうぞ。

関連するブログ記事
スポンサード リンク
カテゴリー
PHP
タグ
Mail_Mime | PEAR | PHP | sendmail | SMTP | UNIX | ケータイメール | コマンドライン | メール | モバイル | レンタルサーバー
現在位置
TOP > Web制作技術 > PHP > メール受信時に PHP スクリプトを起動して自動処理させる方法
前のブログ記事
月光 [2009年4月 2日 23:33]
次のブログ記事
読んだ本、読みたい本でつながるSNS&ライフログサービス『読書メーター』 [2009年4月 4日 23:59]

トラックバック(0)

このブログ記事に対するトラックバックURL:

コメント(7)

のいちご [2010年12月 9日 17:35]

初めて訪問しました。
いろいろと参考になりとても面白く感じました。

プログラムを作成する知識はまったくありませんので質問したいと思います。
保育所の子供たちを相手に、数個の質問して、その回答によって、点数が出るような簡単なプログラムを探しています。

そんなのがずうずうしいですが、無償であればと探しています。
ご指導いただければ幸いです。

Michael Kors Matilda Large Shoulder Tote [2014年9月17日 15:56]

Michael Kors Hamilton Malachite Green Saffiano Leather Large Tote
Michael Kors Matilda Large Shoulder Tote http://midade.com/4.php?483.html

generic [2015年4月10日 21:13]

Hello!

tadalafil [2015年9月11日 15:01]

Hello!

pharmacy [2015年9月11日 15:01]

Hello!

xkov64 [2017年1月14日 04:57]

Sildenafil 100mg viagra price relaxes muscles originate in the walls of blood vessels and increases blood move to impressive areas of the body.

コメントする


画像の中に見える文字を入力してください。

 

このブログについて

阿部辰也

Webコンサルタントやシステムエンジニア、執筆業などをやっている、グッドホープ代表・阿部辰也のブログです。
Web技術系のTipsから仕事の話、趣味の話まで色々と。
人生は所詮生まれてから死ぬまでの壮大な暇つぶし。
だったら有意義に暇をつぶして生きましょー。

阿部辰也へのお仕事のご依頼・問合せはこちらからどうぞ。

Twitter: @t_abe
読書メーター: ID:Tatsuya

このブログのサイトマップ
このブログのはてなブックマーク数

Feed/RSS購読

タグクラウド

最近のトラックバック

阿部辰也の著書

77のキーワードで知る インターネットで稼ぐ 図解 ブログ・メルマガ・Webサイト構築の基本

77のキーワードで知る インターネットで稼ぐ 図解 ブログ・メルマガ・Webサイト構築の基本

頑張って書いたのに、出版後すぐに出版社が倒産して印税も貰えずじまいで俺涙目(笑)。

Powered by Movable Type 5.02

スポンサード リンク

はてなブックマーク



あわせて読みたい

t-abeの今読んでる本

t-abeの最近読んだ本

t-abeの今やってるゲーム

t-abeの最近やったゲーム