Integrated email server #12

Merged
d merged 8 commits from integrated-email-server into main 2026-07-18 19:36:18 +00:00
Owner

messenger-style email with full backend integration

Implements M8SH Mail — a complete messenger UI for email built on top of the Gitea fork's integrated email server.

Features:

  • All 17 endpoints (/api/v1/mail/*) — thread list with cursor pagination, message send/forward/delete, pin/unread, block list, group rename/members, attachment serving with Range support
  • RFC 5322 parsing with multipart support, HTML detection/correction, reply quote stripping (Gmail/Outlook patterns), plain-text preview extraction via golang.org/x/net/html
  • M8SH HTTP fast-path for same-domain, SMTP MX fallback for external recipients, DKIM signing, From: display name from Gitea Full Name
  • Internal-domain users (@m8sh.su) auto-activated and get Chats tab; external users get activation email via integrated mail server (MX → SMTP)
  • Vue 3 SPA with ThreadList (infinite scroll, context menu, delete confirmation), ChatPane (message bubbles, HTML cards, audio player, in-thread search, scroll-up pagination), avatar resolution pipeline (Gitea → Gravatar → favicon.ico → favicon.png → default)
  • Plain text only — no JSON/ForwardedContent trees, fully RFC 5322 compatible
  • Music player, video player, image viewer are integrated into chat UI and they make content easily downloadable
    img
## messenger-style email with full backend integration Implements M8SH Mail — a complete messenger UI for email built on top of the Gitea fork's integrated email server. Features: - All 17 endpoints (`/api/v1/mail/*`) — thread list with cursor pagination, message send/forward/delete, pin/unread, block list, group rename/members, attachment serving with Range support - RFC 5322 parsing with multipart support, HTML detection/correction, reply quote stripping (Gmail/Outlook patterns), plain-text preview extraction via `golang.org/x/net/html` - M8SH HTTP fast-path for same-domain, SMTP MX fallback for external recipients, DKIM signing, `From:` display name from Gitea Full Name - Internal-domain users (`@m8sh.su`) auto-activated and get Chats tab; external users get activation email via integrated mail server (MX → SMTP) - Vue 3 SPA with ThreadList (infinite scroll, context menu, delete confirmation), ChatPane (message bubbles, HTML cards, audio player, in-thread search, scroll-up pagination), avatar resolution pipeline (Gitea → Gravatar → favicon.ico → favicon.png → default) - Plain text only — no JSON/ForwardedContent trees, fully RFC 5322 compatible - Music player, video player, image viewer are integrated into chat UI and they make content easily downloadable ![img](https://m8sh.su/attachments/cfdd773e-b1c3-4207-a66f-36360ca6f8e6)
d added 7 commits 2026-07-18 19:35:32 +00:00
d added 1 commit 2026-07-18 19:35:57 +00:00
d merged commit e516d007c8 into main 2026-07-18 19:36:18 +00:00
d deleted branch integrated-email-server 2026-07-18 19:36:18 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: x/m8sh#12