mirror of https://github.com/certd/certd
chore:
parent
2aefca3813
commit
3f06419d47
|
@ -65,6 +65,7 @@
|
||||||
<a-form :model="testFormState" name="basic" :label-col="{ span: 8 }" :wrapper-col="{ span: 16 }" autocomplete="off" @finish="onTestSend">
|
<a-form :model="testFormState" name="basic" :label-col="{ span: 8 }" :wrapper-col="{ span: 16 }" autocomplete="off" @finish="onTestSend">
|
||||||
<a-form-item label="测试收件邮箱" name="receiver" :rules="[{ required: true, message: '请输入测试收件邮箱' }]">
|
<a-form-item label="测试收件邮箱" name="receiver" :rules="[{ required: true, message: '请输入测试收件邮箱' }]">
|
||||||
<a-input v-model:value="testFormState.receiver" />
|
<a-input v-model:value="testFormState.receiver" />
|
||||||
|
<div class="helper">保存后再点击测试</div>
|
||||||
<div class="helper">发送失败???<a href="https://certd.docmirror.cn/guide/use/email/" target="_blank">邮件配置帮助文档</a></div>
|
<div class="helper">发送失败???<a href="https://certd.docmirror.cn/guide/use/email/" target="_blank">邮件配置帮助文档</a></div>
|
||||||
<div class="helper">您还可以试试使用官方邮件服务器↗↗↗↗↗↗↗↗</div>
|
<div class="helper">您还可以试试使用官方邮件服务器↗↗↗↗↗↗↗↗</div>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
|
@ -3,12 +3,12 @@ import type { EmailSend } from '@certd/pipeline';
|
||||||
import { IEmailService } from '@certd/pipeline';
|
import { IEmailService } from '@certd/pipeline';
|
||||||
|
|
||||||
import { logger } from '@certd/basic';
|
import { logger } from '@certd/basic';
|
||||||
import { isPlus } from '@certd/plus-core';
|
import { isComm, isPlus } from '@certd/plus-core';
|
||||||
|
|
||||||
import nodemailer from 'nodemailer';
|
import nodemailer from 'nodemailer';
|
||||||
import type SMTPConnection from 'nodemailer/lib/smtp-connection';
|
import type SMTPConnection from 'nodemailer/lib/smtp-connection';
|
||||||
import { UserSettingsService } from '../../mine/service/user-settings-service.js';
|
import { UserSettingsService } from '../../mine/service/user-settings-service.js';
|
||||||
import { PlusService, SysSettingsService } from '@certd/lib-server';
|
import { PlusService, SysSettingsService, SysSiteInfo } from '@certd/lib-server';
|
||||||
import { getEmailSettings } from '../../sys/settings/fix.js';
|
import { getEmailSettings } from '../../sys/settings/fix.js';
|
||||||
|
|
||||||
export type EmailConfig = {
|
export type EmailConfig = {
|
||||||
|
@ -80,8 +80,16 @@ export class EmailService implements IEmailService {
|
||||||
|
|
||||||
private async sendByCustom(emailConfig: EmailConfig, email: EmailSend) {
|
private async sendByCustom(emailConfig: EmailConfig, email: EmailSend) {
|
||||||
const transporter = nodemailer.createTransport(emailConfig);
|
const transporter = nodemailer.createTransport(emailConfig);
|
||||||
|
|
||||||
|
let sysTitle = 'Certd';
|
||||||
|
if (isComm()) {
|
||||||
|
const siteInfo = await this.sysSettingsService.getSetting<SysSiteInfo>(SysSiteInfo);
|
||||||
|
if (siteInfo) {
|
||||||
|
sysTitle = siteInfo.title || sysTitle;
|
||||||
|
}
|
||||||
|
}
|
||||||
const mailOptions = {
|
const mailOptions = {
|
||||||
from: emailConfig.sender,
|
from: `${sysTitle} <${emailConfig.sender}>`,
|
||||||
to: email.receivers.join(', '), // list of receivers
|
to: email.receivers.join(', '), // list of receivers
|
||||||
subject: email.subject,
|
subject: email.subject,
|
||||||
text: email.content,
|
text: email.content,
|
||||||
|
|
Loading…
Reference in New Issue