diff --git a/.workbuddy/memory/2026-06-01.md b/.workbuddy/memory/2026-06-01.md deleted file mode 100644 index f21a4c9..0000000 --- a/.workbuddy/memory/2026-06-01.md +++ /dev/null @@ -1,25 +0,0 @@ -# 2026-06-01 - -## MailGo v3.1 增量更新 -- **域名表单 TLS 端口自动切换**:domain_form.html 增加 JS `togglePorts()`,勾选 TLS 自动切换 SMTP 25→465、IMAP 143→993、POP3 110→995 -- **管理后台邮件可点击查看**:admin/mails.html 邮件行改为可点击跳转 `/admin/mails/:id` -- **新增 AdminViewMail handler + admin/mail_view.html 模板**:管理员可查看任意用户邮件详情 -- **新增 AdminDownloadAttachment handler + 路由**:管理员可下载任意用户附件(绕过归属校验) -- **AdminHandler 新增 storage 依赖**:`NewAdminHandler(stores, attStorage)` 签名变更 - -## MailGo README 编写 -- 创建 `README.md`,包含:功能特性、快速开始、完整配置参考、5 个常见配置场景(MySQL 切换、Unix Socket、TLS、OAuth2、LDAP)、端口速查、目录结构、Linux systemd 部署、DNS 配置、技术栈、默认账户 - -## MailGo 安装脚本 -- 创建 `install.sh`,参考 portal_page 脚本适配 MailGo - - 服务名 mail_go,Git 仓库 https://git.lmve.net/kevin/mailgo.git - - CGO_ENABLED=1(mattn/go-sqlite3 依赖) - - 部署模板目录 internal/web/templates/ + admin/ 子目录 - - systemd 增加 AmbientCapabilities=CAP_NET_BIND_SERVICE(绑定 25/465 等特权端口) - - 附件目录 /srv/mail_go/attachments/ - -## MailGo 邮件处理 Bug 修复 -- **RFC 2047 地址解码**:SMTP Data() 和 IMAP CreateMessage() 中 From/To/Cc 从 `header.Get()` 改为 `mailutil.FormatAddressList()`(内部用 `header.AddressList()` 自动解码 RFC 2047 编码的中文名等) -- **charset 转码**:新增 `internal/mailutil/codec.go`,`DecodeCharset()` 检测 Content-Type charset 参数,用 `golang.org/x/text/encoding/htmlindex` 将 gb2312 等非 UTF-8 编码转 UTF-8 -- **原始邮件数据保留**:Message 模型新增 `RawData` 字段(`type:mediumtext`),SMTP/IMAP 接收时存原始邮件;IMAP `buildRawMessage()` 优先使用 RawData,降级才从字段重建 -- **邮件显示修复**:HTML 邮件改用 `