実現したいこと
imaplibライブラリを用いてメールサーバの未読メールを既読にしたいです。
しかし、IMAP4.store()を実行しても既読なりません。
詳しい方、ご教示お願いします。
該当のソースコード
Python
1import imaplib 2 3# メールサーバの情報4# mail_host = "your_mail_server_host"5# mail_username = "your_mail_username"6# mail_password = "your_mail_password"7 8# IMAPサーバに接続9mail = imaplib.IMAP4_SSL(mail_host)10mail.login(mail_username, mail_password)11 12try:13 # 未読メールを検索14 status, messages = mail.select("inbox", readonly=True)15 _, message_data = mail.search(None, "UNSEEN")16 17 if message_data[0]:18 # 最初の未読メールのメッセージ番号を取得19 num = message_data[0].split()[0]20 21 # 未読メールのフラグを取得22 _, flags_data = mail.fetch(num, "FLAGS")23 flags = flags_data[0].decode('utf-8')24 25 print(f"メッセージ番号 {num} のフラグ: {flags}")26 27 # 未読メールのフラグを変更して既読にする28 _, response = mail.store(num, '+FLAGS', '\\Seen')29 30 # レスポンスを表示31 print("store コマンドのレスポンス:", _, response)32 33 print(f"メッセージ番号 {num} を既読に変更しました.")34 35except Exception as e:36 print("エラーが発生しました:", str(e))37 38finally:39 # IMAPサーバから切断40 mail.logout()41 42 43finally:44 # IMAPサーバから切断45 mail.logout()
上記コードのレスポンス
メッセージ番号 b'54' のフラグ: 54 (FLAGS ()) store コマンドのレスポンス: OK [None] メッセージ番号 b'54' を既読に変更しました.
試したこと
imaplibのドキュメント確認。
RFC6.4.6
補足情報(FW/ツールのバージョンなど)
Python 3.10.8
0 コメント