単純な IMAP クライアントを作成しようとしていて、最新のメッセージを 1 つ取得したいと考えています。UID 46345 のメッセージは受信トレイの最新のもので、古いメッセージは UID 46346 です。そのため、コードが期待どおりに動作しません! 最新のメッセージの UID が最も高くないのはなぜですか? 最新の日付を持つ最大の UID を信頼すべきではありませんか?
_, data = imap.uid('search', None, "UNSEEN")
latest_email_uid = data[0].split()[-1]
_, data = imap.uid('fetch', latest_email_uid, '(RFC822.HEADER)')
raw_email = data[0][1]
print raw_email