From 7820d7eef5ab3a3a27ed18c7283b96d6f61fd667 Mon Sep 17 00:00:00 2001 From: eoao Date: Sat, 28 Jun 2025 13:35:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Etg=E5=92=8C=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E9=82=AE=E4=BB=B6=E8=BD=AC=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mail-vue/package.json | 1 - .../src/components/email-scroll/index.vue | 2 +- mail-vue/src/components/shadow-html/index.vue | 12 +- mail-vue/src/{utils => init}/init.js | 6 +- mail-vue/src/layout/account/index.vue | 2 +- mail-vue/src/layout/write/index.vue | 4 +- mail-vue/src/main.js | 2 +- mail-vue/src/request/setting.js | 4 + mail-vue/src/views/login/index.vue | 6 +- mail-vue/src/views/sys-email/index.vue | 2 +- mail-vue/src/views/sys-setting/index.vue | 752 +++++++++++++----- mail-worker/dist/assets/index-BVIJB-AL.js | 186 ----- mail-worker/dist/assets/index-Cgh0xJS2.js | 178 +++++ ...{index-DKdj6vty.css => index-Cobuvpco.css} | 2 +- mail-worker/dist/index.html | 4 +- mail-worker/src/api/setting-api.js | 5 + mail-worker/src/const/entity-const.js | 12 + mail-worker/src/email/email.js | 103 ++- mail-worker/src/entity/email.js | 2 + mail-worker/src/entity/setting.js | 9 +- mail-worker/src/init/init.js | 37 + mail-worker/src/security/security.js | 2 +- mail-worker/src/service/email-service.js | 11 +- mail-worker/src/service/setting-service.js | 34 +- mail-worker/src/utils/email-utils.js | 27 +- 25 files changed, 948 insertions(+), 457 deletions(-) rename mail-vue/src/{utils => init}/init.js (91%) delete mode 100644 mail-worker/dist/assets/index-BVIJB-AL.js create mode 100644 mail-worker/dist/assets/index-Cgh0xJS2.js rename mail-worker/dist/assets/{index-DKdj6vty.css => index-Cobuvpco.css} (88%) diff --git a/mail-vue/package.json b/mail-vue/package.json index 33df03c..7a33420 100644 --- a/mail-vue/package.json +++ b/mail-vue/package.json @@ -22,7 +22,6 @@ "path": "^0.12.7", "pinia": "^3.0.2", "pinia-plugin-persistedstate": "^4.2.0", - "postal-mime": "^2.4.3", "screenfull": "^6.0.2", "vue": "^3.5.13", "vue-cropper": "^1.1.4", diff --git a/mail-vue/src/components/email-scroll/index.vue b/mail-vue/src/components/email-scroll/index.vue index b119ed6..64959d3 100644 --- a/mail-vue/src/components/email-scroll/index.vue +++ b/mail-vue/src/components/email-scroll/index.vue @@ -125,7 +125,7 @@ - {{ item.status === 7 ? formateReceive(item.recipient) : item.accountEmail }} + {{ item.toEmail }}
已删除 diff --git a/mail-vue/src/components/shadow-html/index.vue b/mail-vue/src/components/shadow-html/index.vue index 4b2a282..069794d 100644 --- a/mail-vue/src/components/shadow-html/index.vue +++ b/mail-vue/src/components/shadow-html/index.vue @@ -39,6 +39,8 @@ function updateContent() { const bodyStyleMatch = props.html.match(bodyStyleRegex); const bodyStyle = bodyStyleMatch ? bodyStyleMatch[1] : ''; + console.log(bodyStyle) + // 2. 移除 标签(保留内容) const cleanedHtml = props.html.replace(/<\/?body[^>]*>/gi, ''); @@ -63,19 +65,11 @@ function updateContent() { ${bodyStyle ? bodyStyle : ''} /* 注入 body 的 style */ } - img { + img:not(table img) { max-width: 100%; height: auto !important; } - *:not(p) { - margin: 0; - padding: 0; - box-sizing: border-box; - font-family: inherit; - -webkit-tap-highlight-color: transparent; - } -
${cleanedHtml} diff --git a/mail-vue/src/utils/init.js b/mail-vue/src/init/init.js similarity index 91% rename from mail-vue/src/utils/init.js rename to mail-vue/src/init/init.js index 115f714..48c962e 100644 --- a/mail-vue/src/utils/init.js +++ b/mail-vue/src/init/init.js @@ -4,7 +4,7 @@ import { useAccountStore } from "@/store/account.js"; import { loginUserInfo } from "@/request/my.js"; import { permsToRouter } from "@/utils/perm.js"; import router from "@/router"; -import { settingQuery } from "@/request/setting.js"; +import { websiteConfig } from "@/request/setting.js"; import {cvtR2Url} from "@/utils/convert.js"; export async function init() { @@ -24,7 +24,7 @@ export async function init() { return null; }); - const [s, user] = await Promise.all([settingQuery(), userPromise]); + const [s, user] = await Promise.all([websiteConfig(), userPromise]); setting = s; settingStore.settings = setting; settingStore.domainList = setting.domainList; @@ -41,7 +41,7 @@ export async function init() { } } else { - setting = await settingQuery(); + setting = await websiteConfig(); settingStore.settings = setting; settingStore.domainList = setting.domainList; document.title = setting.title; diff --git a/mail-vue/src/layout/account/index.vue b/mail-vue/src/layout/account/index.vue index d1c1182..08e9587 100644 --- a/mail-vue/src/layout/account/index.vue +++ b/mail-vue/src/layout/account/index.vue @@ -7,7 +7,7 @@
-