From 667e7b185bf26558972be01720872f48352b5876 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sat, 16 May 2026 02:54:15 +0800 Subject: [PATCH] =?UTF-8?q?fix(email-service):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=95=86=E4=B8=9A=E7=89=88=E6=B5=8B=E8=AF=95=E9=82=AE=E4=BB=B6?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E4=B8=AD=E5=B8=A6=E7=9A=84url=E9=93=BE?= =?UTF-8?q?=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/basic/service/email-service.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/ui/certd-server/src/modules/basic/service/email-service.ts b/packages/ui/certd-server/src/modules/basic/service/email-service.ts index fb2955060..428bb26ef 100644 --- a/packages/ui/certd-server/src/modules/basic/service/email-service.ts +++ b/packages/ui/certd-server/src/modules/basic/service/email-service.ts @@ -8,7 +8,7 @@ import { isComm, isPlus } from '@certd/plus-core'; import nodemailer from 'nodemailer'; import { SendMailOptions } from 'nodemailer'; import { UserSettingsService } from '../../mine/service/user-settings-service.js'; -import { AddonService, PlusService, SysEmailConf, SysSettingsService, SysSiteInfo } from '@certd/lib-server'; +import { AddonService, PlusService, SysEmailConf, SysInstallInfo, SysSettingsService, SysSiteInfo } from '@certd/lib-server'; import { getEmailSettings } from '../../sys/settings/fix.js'; import { UserEmailSetting } from "../../mine/service/models.js"; import { AddonGetterService } from '../../pipeline/service/addon-getter-service.js'; @@ -131,12 +131,21 @@ export class EmailService implements IEmailService { data: { title: '测试邮件,from certd', content: '测试邮件,from certd', - url: "https://certd.handfree.work", + url: await this.getTestEmailUrl(), }, receivers: [receiver], }); } + private async getTestEmailUrl() { + const defaultUrl = "https://certd.docmirror.cn"; + if (!isComm()) { + return defaultUrl; + } + const installInfo = await this.sysSettingsService.getSetting(SysInstallInfo); + return installInfo?.bindUrl || installInfo?.bindUrl2 || defaultUrl; + } + async list(userId: any) { const userEmailSetting = await this.settingsService.getSetting(userId,null, UserEmailSetting) return userEmailSetting.list; @@ -157,7 +166,6 @@ export class EmailService implements IEmailService { await this.settingsService.saveSetting(userId, null, userEmailSetting) } - async sendByTemplate(req: EmailSendByTemplateReq) { let content = null const emailConf = await this.sysSettingsService.getSetting(SysEmailConf);