LUNARAVE WEBクリエイターの仕事と休息

アクセスカウンタ

Google Maps APIの利用戦国IXAWeb技術Youtubeチャンネル

zoom RSS 受信メールをPHPで内容を取得する

<<   作成日時 : 2011/06/08 18:25   >>

ブログ気持玉 0 / トラックバック 0 / コメント 1

「空メール登録」の技術は送信されたメールの中から送信者(From)を抜き出し、それをデータベースに格納するのだが、その送信者の抜き出しをPHPで実装する方法を紹介する。

まずメールを受信した際にどのようにPHPを呼び出すかだが、これはメール転送で利用される".forward"ファイルに設置したPHPファイルのパスを記載することで実行される。
->空メールを送信してPHPを動作させる設定 -.forward


呼び出されたPHPは下記の一文で受信したメールのヘッダーからボディ部分まで全てを取得できる。


$source = file_get_contents("php://stdin");



次に取得したデータを分割するのだが、これはPHPのMailモジュールにある"mimeDecode"を利用する。
PEARの一部なのでPHPインストール時にデフォルトインストールされることが多いが、もし入っていなければ別途インストールするか、ソース配布されているのでそれを読み込む(require_once)することで利用できる。

今回はメールの送信者を取得するので、下記のように書けば取得できる。


$params['decode_headers'] = true;
$params['crlf'] = "\r\n";
$decoder = new Mail_mimeDecode($source);
$structure = $decoder->decode($params);
$from = mb_convert_encoding(mb_decode_mimeheader($structure->headers['from']), mb_internal_encoding(), "auto");



"Mail_mimeDecode"関数を使えば非常に簡単に取得できるのがわかる。

後は取得したFromをデータベースに格納したり、メール送信のスクリプトを書けば返答メールを出すこともできる。

もちろんFrom以外にも本文や添付ファイルも取得でき、メール送信でブログやサイトの更新を行うといった機能はこれの技術を応用されている。


携帯のメールは何とか利用できるが、パソコンに不慣れで携帯のブラウザを開いて文字を打ち込むのにも抵抗がある人にはこういった技術で更新したり、ツィッターのようにつぶやきに使うことができる。

テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(1件)

内 容 ニックネーム/日時
This is really attention-grabbing, You're an excessively skilled blogger.
I've joined your rss feed and stay up for seeking more of your magnificent post.
Also, I've shared your site in my social networks
Misty
URL
2017/07/24 22:14

コメントする help

ニックネーム
URL(任意)
本 文
受信メールをPHPで内容を取得する LUNARAVE WEBクリエイターの仕事と休息/BIGLOBEウェブリブログ
文字サイズ:       閉じる