imapの続き
昨日のコメント欄でobacheさんから貰った情報を元にメールのリストアップをしてみる。
$count = imap_num_msg($uid); $headers = imap_fetch_overview($uid,sprintf("1:%d",$count));
何この適当さ。
とりあえずこれでOKぽい。
で、これから本体だ。
いらんとこから飛んで来たメールをフィルタしよう。
つーことで正規表現で取り出そうとしたら
メールアドレスに一致する正規表現は「ありません」。 $mail_address =~ /[a-zA-Z0-9_-]+\@[a-zA-Z0-9_-]+\.\w+/; じゃ駄目なの?という方もいらっしゃるかもしれませんが、 以下のアドレスを見てください。これらは実在する(もう削 除しましたが)アドレスです。 canada(@home)@tt.rim.or.jp "me@home"@digital-canvas.com Tom&Jerry/$100.00@digital-canvas.com canada@[192.168.0.1]
('A`)
面倒なのでfromヘッダとメールアドレスをイコールで聞いちゃえ。
どうせAUのメールヘッダにアドレス以外入ってコネーし(開き直り
ってことで
$count = imap_num_msg($uid); if ($count==0){ echo "no mail"; return ; } $headers = imap_fetch_overview($uid, sprintf("1:%d", $count)); foreach($headers as $mail){ // pickup only registerd if ($mail->from==SOURCE_MAIL_ADDRESS){ echo "こっちは処理対象"; }else{ echo "こっちは削除対象"; } }
適当万歳。