Previously, a random suffix was generated every time BuildBytes or ForwardBuildBytes was called, causing IMAP/POP3 clients to treat the same message as a new message on every sync and breaking conversation threading. Changes: - Add msg_id column to the email table (synced automatically via Sync2) - Generate a crypto/rand-based RFC-compliant Message-ID once at email creation time (send.go for outgoing, read_content.go for incoming) - Preserve the original Message-ID from externally received emails - Load the persisted MsgID when rebuilding Email from DB records - Use the stored MsgID in BuildBytes, ForwardBuildBytes and the IMAP ENVELOPE response; fall back to the old numeric format for legacy rows Fixes the MSGID_SHORT SpamAssassin penalty and Gmail rejection while keeping Message-IDs stable across syncs. Co-authored-by: root <root@Claw-ai.tail1478c.ts.net> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| delete.go | ||
| detail.go | ||
| list.go | ||
| move.go | ||
| read.go | ||
| send.go | ||