From 1d4fe9c4cfbb44c798ed7cda19023e893eba16f8 Mon Sep 17 00:00:00 2001 From: Kacper Kwapisz Date: Wed, 25 Mar 2026 16:46:10 +0100 Subject: [PATCH] Fix emails marked as read despite mark_as_read: false Open IMAP folder in readonly mode when mark_as_read is false, preventing FETCH RFC822 from implicitly setting the \Seen flag. --- src/server.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/server.py b/src/server.py index dd48f1b..09b9708 100644 --- a/src/server.py +++ b/src/server.py @@ -441,7 +441,11 @@ async def watch_folder( client = None try: client = await asyncio.to_thread(get_imap_client, account) - await asyncio.to_thread(client.select_folder, folder) + await asyncio.to_thread( + client.select_folder, + folder, + readonly=not account.get("mark_as_read", False), + ) # Check IDLE support if not client.has_capability("IDLE"):