From daf214a1f8b9ee1f8eabff9b1a2485eceb19cbd0 Mon Sep 17 00:00:00 2001 From: Reto Brunner Date: Sun, 8 Nov 2020 14:18:14 +0100 Subject: [PATCH] imap: strip <> from message-ids --- worker/imap/imap.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/worker/imap/imap.go b/worker/imap/imap.go index e296e9b..29dbc10 100644 --- a/worker/imap/imap.go +++ b/worker/imap/imap.go @@ -48,6 +48,14 @@ func translateEnvelope(e *imap.Envelope) *models.Envelope { return nil } + // we strip the msgid of "<>" in order to be more compatible with go-message + // which wants to handle msgids without the markers + // note this is a very naive way of doing it but probably good enough + msgID := e.MessageId + if len(msgID) > 1 && msgID[0] == '<' && msgID[len(msgID)-1] == '>' { + msgID = msgID[1 : len(msgID)-1] + } + return &models.Envelope{ Date: e.Date, Subject: e.Subject, @@ -56,7 +64,7 @@ func translateEnvelope(e *imap.Envelope) *models.Envelope { To: translateAddresses(e.To), Cc: translateAddresses(e.Cc), Bcc: translateAddresses(e.Bcc), - MessageId: e.MessageId, + MessageId: msgID, } }