こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

締切り済みの質問

phpのimap関数で新規メールをチェック

OSがLinuxのMTAがqmailのサーバーで、新規メールのみをphpでチェックしたいです。
/(ユーザーのホームディレクトリ)/Maildir/newの中のみをチェックしてデータベースにinsertしたいのですが、おそらくimap_open関数だとMaildir全てをチェックしにいっているので/Maildir/cur内にあるメールもinsertの対象になってしまいます。newだけを見に行く方法はないでしょうか?新規メールをチェックと言う点ではimap_fetch_overviewのrecentフラグが使えそうな感じがしたのですが、いまいち使い方が分からないです。
ご教授いただけたら幸いです。よろしくおねがいいたします。

投稿日時 - 2015-05-20 20:10:29

QNo.8978742

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

ANo.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

投稿日時 - 2015-05-20 23:40:20

-広告-
-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-