diff --git a/service/src/utils/mail.ts b/service/src/utils/mail.ts index 33e0135b..e33f3e04 100644 --- a/service/src/utils/mail.ts +++ b/service/src/utils/mail.ts @@ -17,7 +17,7 @@ export async function sendVerifyMail(toMail: string, verifyUrl: string) { let mailHtml = fs.readFileSync(mailTemplatePath, 'utf8') mailHtml = mailHtml.replace(/\${VERIFY_URL}/g, verifyUrl) mailHtml = mailHtml.replace(/\${SITE_TITLE}/g, config.siteConfig.siteTitle) - sendMail(toMail, `${config.siteConfig.siteTitle} 账号验证`, mailHtml, config.mailConfig) + await sendMail(toMail, `${config.siteConfig.siteTitle} 账号验证`, mailHtml, config.mailConfig) } export async function sendVerifyMailAdmin(toMail: string, verifyName: string, verifyUrl: string) { @@ -29,7 +29,7 @@ export async function sendVerifyMailAdmin(toMail: string, verifyName: string, ve mailHtml = mailHtml.replace(/\${TO_MAIL}/g, verifyName) mailHtml = mailHtml.replace(/\${VERIFY_URL}/g, verifyUrl) mailHtml = mailHtml.replace(/\${SITE_TITLE}/g, config.siteConfig.siteTitle) - sendMail(toMail, `${config.siteConfig.siteTitle} 账号申请`, mailHtml, config.mailConfig) + await sendMail(toMail, `${config.siteConfig.siteTitle} 账号申请`, mailHtml, config.mailConfig) } export async function sendResetPasswordMail(toMail: string, verifyUrl: string) { @@ -39,7 +39,7 @@ export async function sendResetPasswordMail(toMail: string, verifyUrl: string) { let mailHtml = fs.readFileSync(mailTemplatePath, 'utf8') mailHtml = mailHtml.replace(/\${VERIFY_URL}/g, verifyUrl) mailHtml = mailHtml.replace(/\${SITE_TITLE}/g, config.siteConfig.siteTitle) - sendMail(toMail, `${config.siteConfig.siteTitle} 密码重置`, mailHtml, config.mailConfig) + await sendMail(toMail, `${config.siteConfig.siteTitle} 密码重置`, mailHtml, config.mailConfig) } export async function sendNoticeMail(toMail: string) { @@ -50,30 +50,34 @@ export async function sendNoticeMail(toMail: string) { let mailHtml = fs.readFileSync(mailTemplatePath, 'utf8') mailHtml = mailHtml.replace(/\${SITE_DOMAIN}/g, config.siteConfig.siteDomain) mailHtml = mailHtml.replace(/\${SITE_TITLE}/g, config.siteConfig.siteTitle) - sendMail(toMail, `${config.siteConfig.siteTitle} 账号开通`, mailHtml, config.mailConfig) + await sendMail(toMail, `${config.siteConfig.siteTitle} 账号开通`, mailHtml, config.mailConfig) } export async function sendTestMail(toMail: string, config: MailConfig) { - return sendMail(toMail, '测试邮件|Test mail', '这是一封测试邮件|This is test mail', config) + await sendMail(toMail, '测试邮件|Test mail', '这是一封测试邮件|This is test mail', config) } -async function sendMail(toMail: string, subject: string, html: string, config: MailConfig) { - const mailOptions = { - from: config.smtpFrom || config.smtpUserName, - to: toMail, - subject, - html, - } +async function sendMail(toMail: string, subject: string, html: string, config: MailConfig): Promise { + try { + const mailOptions = { + from: config.smtpFrom || config.smtpUserName, + to: toMail, + subject, + html, + } - const transporter = nodemailer.createTransport({ - host: config.smtpHost, - port: config.smtpPort, - secure: config.smtpTsl, - auth: { - user: config.smtpUserName, - pass: config.smtpPassword, - }, - }) - const info = await transporter.sendMail(mailOptions) - return info.messageId + const transporter = nodemailer.createTransport({ + host: config.smtpHost, + port: config.smtpPort, + secure: config.smtpTsl, + auth: { + user: config.smtpUserName, + pass: config.smtpPassword, + }, + }) + await transporter.sendMail(mailOptions) + } + catch (e) { + globalThis.console.error('Error send email, ', e) + } }