diff options
Diffstat (limited to 'worker/imap')
-rw-r--r-- | worker/imap/imap.go | 10 |
1 files changed, 9 insertions, 1 deletions
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, } } |