これは ユニキャストアドベントカレンダー の5日目の記事です。 世間的には6日目だけど5日目です。 2日目の Python の標準ライブラリでメールをデコードする の続きになります。 前回と前々回で、Python の標準ライブラリでメールを受信できることを確認しました。 今回はもう一歩進んで「新着メールのみ」受信するプログラムを書きます。 新着メールをチェックする仕組み (POP3) POP3 では IMAP とは異なり、サーバ側で既読・未読状態を保持してくれません。 代わりに、メッセージにユニークなID番号がつけられており、この番号をクライアント側の受信済みメールとサーバ上のメールとの間で照合することで、受信済みかどうかを確認することができます。 POP3 ではこのユニークなIDを UIDL コマンドで取得することができます。 Python では poplib.POP3 クラスの uid