'use strict'; /** * HTML 邮件渲染验收(v4)。 * * 验的是四件事: * 1. 富文本正文真的渲染出来了(iframe 里有内容,不是空白) * 2. **邮件里的 ', '', '危险链接', '', '', ].join(''); await api(base, 'POST', '/api/send', { to: creds.user, subject, text: `这是纯文本兜底 ${stamp}`, html: evilHtml, }); step('已发出带脚本的 HTML 测试邮件', true, subject); // ── 2) 等服务端投递到自己的收件箱,并检查净化结果 let message = null; for (let i = 0; i < 30 && !message; i++) { await sleep(1000); const list = await api(base, 'GET', `/api/messages?folder=INBOX&limit=20`); message = (list.messages || []).find((m) => m.subject === subject) || null; } step('测试邮件已投递到收件箱', !!message, message ? `uid=${message.uid}` : '(未收到)'); if (!message) throw new Error('没收到测试邮件,后续无法继续'); uid = message.uid; const detail = await api(base, 'GET', `/api/messages/${uid}?folder=INBOX`); step('服务端净化: