Aug 07

PHP さくらインターネットで携帯空メール処理 PEAR mimeDecode

php, さくら(サーバ) コメントはページの下に

PHP Pear mimeDecodeを使って受信メールを処理

前回は、空メールを送ったらPHPが起動し、指定したメールアドレスに内容をそのまま送るところまでいきました。

今回は、サーバ側で届いたメールの内容を解析したいと思います。
とりあえずfromから来たメールアドレスで主要3キャリアを判別しましょう。

Pearライブラリを使う

 さくらインターネットでPEARをインストールを参照し、Pearを簡単インストールできる環境を作っておきます。

mimeDecodeを使って、メールヘッダなどを簡単に取得できるようにすると、その他の作業が出来るので楽です。

呼び出すPHPにとりあえず書きましょう。これを呼び出すメールアドレスにメールを送ると、メールが返ってくるのが確認できたらOKです。

PHP:
  1. require_once( '/home/アカウント/pear/PEAR/Mail/mimeDecode.php');
  2.  
  3. $source = file_get_contents( "php://stdin" );
  4.  
  5. $params = array();
  6. $params['include_bodies'] = true;
  7. $params['decode_bodies'] = true;
  8. $params['decode_headers'] = true;
  9.  
  10. $decoder = new Mail_mimeDecode( $source );
  11. $structure = $decoder->decode( $params );
  12.  
  13. $mail = $structure->headers['from']; //送信元メールアドレス
  14. $mail = addslashes($mail);
  15. $mail = str_replace('"','',$mail);
  16. $mail = preg_replace('/(^.*<|>$)/', '', $mail);
  17.  
  18. $from = "送信元メールアドレス";
  19. $head = "From: {$from}\n";
  20. $subject = "test";
  21. $body = "body";
  22.  
  23. mb_send_mail( $mail, $subject, $body, $head, $from );

送信元メールアドレスを見てその後の処理を判断

送信元メールアドレスを取得出来たので、後はキャリア判別、既に登録されているアドレスか、などを確認することが出来ると思います。

参考リンク

CodeZine GPS携帯を使った口コミサイト構築 PHPによるメールの受信処理
http://codezine.jp/article/detail/4749

PHP高機能日本語メール送信ライブラリ・文字化けフリー Qdmail
http://hal456.net/qdmail/

Cool CMS 空メールの受信をトリガーにしてPHPプログラムを起動する方法
http://blog.aidream.jp/php/php-sakura-internet-standard-mail-trigger-1398.html

さくらインターネットで、メール自動返信をする アイウェイク
http://www.aiwake.co.jp/modules/bulletin/index.php?page=article&storyid=3

マルチパートなメールを解析するPEAR::Mail::mimeDecodeをラップするクラス
http://d.hatena.ne.jp/ya--mada/20080415/1208318475

前後の記事

関連した記事

トラックバック&Pingback

この記事が気に入ったりした方は、自分のブログを書くときに「下のURLをコピーして、自分のブログ投稿時のトラックバック欄にペースト」してください。つながります。
URL:

コメント ( 0 )

コメント記入欄

Copyright(c) 小山太郎.com All rights reserved.