summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--worker/imap/imap.go10
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,
 	}
 }