From f70675412f33c6dca0778f91eb7e30fd06cbc2ef Mon Sep 17 00:00:00 2001 From: gitadmin Date: Fri, 10 Jul 2026 13:42:30 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BD=BF=E7=94=A8=20rfc822=20=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E9=82=AE=E4=BB=B6=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 使用 rfc822: true 替代 body: '.',兼容性更好 - rfc822 返回原始邮件内容,适用于所有 IMAP 服务器 --- src/app/api/monitor/scan-emails/route.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/api/monitor/scan-emails/route.ts b/src/app/api/monitor/scan-emails/route.ts index 1e4ede9..e47fb6d 100644 --- a/src/app/api/monitor/scan-emails/route.ts +++ b/src/app/api/monitor/scan-emails/route.ts @@ -208,15 +208,15 @@ async function scanEmails( } try { - // 使用 body 获取邮件内容,source 在某些 IMAP 服务器上可能不返回内容 - const msg = await client.fetchOne(uid, { uid: true, bodyStructure: true, body: '.' }, { uid: true }) + // 使用 rfc822 获取完整邮件内容(兼容性最好) + const msg = await client.fetchOne(uid, { uid: true, rfc822: true }, { uid: true }) if (!msg) { console.log(`[Scan] 邮件 ${uid} 获取失败,跳过`) continue } - // 优先使用 source,其次使用 body - const rawSource = (msg as any).source || (msg as any).body + // 优先使用 source,其次使用 rfc822 + const rawSource = (msg as any).source || (msg as any).rfc822 if (!rawSource) { console.log(`[Scan] 邮件 ${uid} 无内容,跳过 (keys: ${Object.keys(msg).join(',')})`) continue