diff --git a/email_forwarder.service b/email_forwarder.service index ef609dd..cdf2ee2 100644 --- a/email_forwarder.service +++ b/email_forwarder.service @@ -3,6 +3,7 @@ Description=Email Forwarder OnFailure=email_forwarder-fail-notify.service [Service] +Type=oneshot WorkingDirectory=${PROJECT_DIR} ExecStart=${PROJECT_DIR}/venv/bin/python -m email_forwarder EnvironmentFile=${PROJECT_DIR}/.env diff --git a/email_forwarder/email_forwarder.py b/email_forwarder/email_forwarder.py index 9191fdd..2c37654 100644 --- a/email_forwarder/email_forwarder.py +++ b/email_forwarder/email_forwarder.py @@ -197,6 +197,9 @@ class EmailForwarder: msg_id = msg.get("Message-ID") if not msg_id: continue + # Collapse folded headers (embedded CRLF/whitespace) so the + # Message-ID is safe to embed in an IMAP SEARCH command. + msg_id = "".join(msg_id.split()) if msg_id in self.processed_ids: continue self.dest.ensure_folder_exists(folder)