新增自定义显示TG邮件消息内容

This commit is contained in:
eoao
2025-10-23 00:22:45 +08:00
parent 57638aa8e1
commit aded699314
10 changed files with 118 additions and 61 deletions

View File

@@ -1,10 +1,12 @@
import { parseHTML } from 'linkedom';
import domainUtils from '../utils/domain-uitls';
export default function emailHtmlTemplate(html) {
export default function emailHtmlTemplate(html, domain) {
const { document } = parseHTML(html);
document.querySelectorAll('script').forEach(script => script.remove());
html = document.documentElement.outerHTML;
html = html.replace(/{{domain}}/g, domainUtils.toOssDomain(domain) + '/');
return `<!DOCTYPE html>
<html lang='en' >
@@ -105,6 +107,7 @@ export default function emailHtmlTemplate(html) {
}
function autoScale(shadowRoot, container) {
if (!shadowRoot || !container) return;
const parent = container;
@@ -113,16 +116,11 @@ export default function emailHtmlTemplate(html) {
if (!shadowContent) return;
const parentWidth = parent.offsetWidth;
const parentHeight = parent.offsetHeight;
const childWidth = shadowContent.scrollWidth;
const childHeight = shadowContent.scrollHeight;
if (childWidth === 0 || childHeight === 0) return;
if (childWidth === 0) return;
const scaleX = parentWidth / childWidth;
const scaleY = parentHeight / childHeight;
const scale = Math.min(scaleX, scaleY);
const scale = parentWidth / childWidth;
const hostElement = shadowRoot.host;
hostElement.style.zoom = scale;

View File

@@ -1,7 +1,31 @@
export default function emailMsgTemplate(email) {
return `<b>${email.subject}</b>
export default function emailMsgTemplate(email, tgMsgTo, tgMsgFrom) {
let template = `<b>${email.subject}</b>`
if (tgMsgFrom === 'only-name') {
template += `
发件人:${email.name}`
}
if (tgMsgFrom === 'show') {
template += `
发件人:${email.name} &lt;${email.sendEmail}&gt;`
}
if(tgMsgTo === 'show' && tgMsgFrom === 'hide') {
template += `
发件人:${email.name} &lt;${email.sendEmail}&gt;
收件人:\u200B${email.toEmail}`
return template
}
if(tgMsgTo === 'show') {
template += `
收件人:\u200B${email.toEmail}`
}
return template;
}