'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('服务端净化: