- 締切済み
phpのimap関数で新規メールをチェック
OSがLinuxのMTAがqmailのサーバーで、新規メールのみをphpでチェックしたいです。 /(ユーザーのホームディレクトリ)/Maildir/newの中のみをチェックしてデータベースにinsertしたいのですが、おそらくimap_open関数だとMaildir全てをチェックしにいっているので/Maildir/cur内にあるメールもinsertの対象になってしまいます。newだけを見に行く方法はないでしょうか?新規メールをチェックと言う点ではimap_fetch_overviewのrecentフラグが使えそうな感じがしたのですが、いまいち使い方が分からないです。 ご教授いただけたら幸いです。よろしくおねがいいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- agunuz
- ベストアンサー率65% (288/438)
回答No.1
POP3(qmail-pop3d)を使うのか、IMAP(標準でMaildir形式に対応しているCourier-IMAPなど)を使うのか、どちらですかね? POP3の場合には既読メールのUIDを保持するしかありません(一般的なPOP3メーラと同じ手法です)。あくまでも「そのクライアント」で既読かどうかしか判別手段がありませんから。 IMAPでimap_fetch_overviewを使うのであれば、seenフラグあたりが妥当でしょう。 (see.) http://php.net/manual/ja/function.imap-setflag-full.php http://www.faqs.org/rfcs/rfc2060.html