CALENDAR
S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930
<< November 2019 >>
ARCHIVES
CATEGORIES
RECOMMEND
RECOMMEND
RECOMMEND
WiiRemoteプログラミング
WiiRemoteプログラミング (JUGEMレビュー »)
白井 暁彦,小坂 崇之,くるくる研究室,木村 秀敬
RECOMMEND
RECOMMEND
RECOMMEND
MOBILE
qrcode
<< スクリプトの枠組み部分(※メモ書きとして) | main | 腹を据えれば話が早い。。(※メモ書きとして) >>
ちょっと待って。。(※メモ書きとして)
メールが一つずつ取り出せたところで、それぞれのメールデータを処理する。
以下のよう。。

         //空行をみつけてヘッダと本文を分ける
         list( $head[$i], $body[$i]) = split("¥r¥n¥r¥n", $mssg[$i], 2);
         $head[$i] = ereg_replace("¥r¥n[¥t ]+", " ", $head[$i]);

         //日付の抽出。変数$dateは配列。22文字分だけにする。
         //なお、$date[1]だけ使っている。
         eregI("Date:[ ¥t]*([^¥r¥n]+)", $head[$i], $date);
         $maildate[$i] = Substr($date[1], 0, 22);
         print $maildate[$i];
        
         //タイトルを取り出す。変数$mailsub[$i]
         eregI("¥nSubject:[ ¥t]*([^¥r¥n]+)", $head[$i], $subj);
         $mailsub[$i] = $subj[1];
         //とりあえず、Base64エンコードに対応。さらにmb_convert_encoding()で日本語に。
        eregI("(.*)=¥?iso-2022-jp¥?B¥?([^¥?]+)¥?=(.*)", $mailsub[$i], $sub);
        $mailsub[$i] = $sub[1].Base64_Decode($sub[2]).$sub[3];
        $mailsub[$i] = mb_convert_encoding($mailsub[$i],"SJIS","JIS");
        print $mailsub[$i];
        
        //送信元を取り出す。ここではFrom:を使う。変数$mailsender[$i]
        eregI("From:[ ¥t]*([^¥r¥n]+)", $head[$i], $sender);
        //メールアドレスであるか確認            
 eregI("[-!#$%&¥'*+¥¥./0-9A-Z^_`a-z{|}~]+@[-!#$%&¥'*+¥¥/0-9=?A-Z^_`a-z{|}~]+¥.[-!#$%&¥'*+¥¥./0-9=?A-Z^_`a-z{|}~]+", $sender[1], $sender2);
        $mailsender[$i] = $sender2[0];
        print $mailsender[$i];

ところが、ちょっと ちょっと。。待てよ。。
 やっていることはヘッダの中を探して、必要なデータを拾ってくるだけである。その探すキーワードは、例えば、日付ならば"Date"、送信元なら"From"なのだが、スクリプティングの途中で気付いた。
 それは、使用するメールソフトや環境によってこの方式が通用しない(ヘッダの表現が違う)ことがあるということだ。
 よく調べて、実験してみると、Macから送るメールと、Winではもう違うし、Gmailでもまた違う。いったい何をしているのか分からなくなってしまった。確かに、サンプルになるメール受信スクリプトは、場合分けして綿密にコーディングされている。しかし、プロでもない自分がここまでやるか?というのが正直な気持ちである。
 ちょっと、心折れそう。。。。

 というわけで、いったん中断して、初期の目的を思い出し、
 「やりたいことだけ」やれるようにしてみたい。つまり、カレンダーデータを送る職場のPC(OutlookExpressだ)で、送ったデータだけ確実に読めるようにしていこう。OSもソフトも決めうちなので、なんとかなるだろう(ちょっと自信がない)。

 もし、汎用のものが欲しかったら、ネット上のサンプルを拝借して改造する。
 まあ、作業自体来週以降です。
 ウイークデイは(たとえ勤務時間終了後でも)一人密かにスクリプティングする雰囲気じゃないもんね。
| php scripting | 20:05 | comments(0) | trackbacks(0) | pookmark |
コメント
コメントする









この記事のトラックバックURL
http://blog.h2caster.net/trackback/1068708
トラックバック