1

メール サーバーから IMAP 経由でメールを読み取り、DB に保存する必要があります。私の質問は

  1. どのメールがすでに DB に保存されており、どれが現在保存されているかを知るにはどうすればよいですか。タイムスタンプに基づいていますか?しかし、その場合、すべてのメールをループしてタイムスタンプを取得する必要があります。メールボックスが巨大になるため、ループスルーしたり、すべてのメールを取得したりしたくありません。

どのようなアプローチを取るべきですか? 新しいメールを一時アカウントに転送し、そのアカウントから読んでからそのメールを削除する必要がありますか?

できるだけ早くお知らせください

ありがとう

4

1 に答える 1

0

問題は、これらのメールを IMAP サーバーに保持する必要があるかどうかです。または、ダウンロード後に単純に削除できますか?

すべての IMAP サーバーは、メールボックスに到着した各メールに特別な一意の ID (uid) を割り当てます。uid は増分順に割り当てられます。ほとんどのサーバーの場合、これらの uid もセッション間で安定しており、変更されることはありません。

これは、どのメールが新しいかを知るには、以前にダウンロードした最後の uid を覚えておくだけでよいことを意味します。

メールを読むには、 IMAP ライブラリが必要です。これをお勧めします: http://www.limilabs.com/mail

サーバーから新しいメールを取得する方法と、IMAP の一意の IDの詳細を示す記事は次のとおりです。

于 2012-08-14T13:42:24.777 に答える