perf: 支持自定义发件人名称,格式:名称<邮箱>

This commit is contained in:
xiaojunnuo
2026-02-16 23:38:08 +08:00
parent e47eddaa85
commit bab9adce24
4 changed files with 8 additions and 2 deletions

View File

@@ -690,6 +690,7 @@ export default {
password: "Password",
pleaseEnterPassword: "Please enter password",
qqEmailAuthCodeHelper: "If using QQ email, get an authorization code in QQ email settings as the password",
senderEmailHelper: "You can use the format: Name<Email> to set the sender name, e.g.: autossl<certd@example.com>",
senderEmail: "Sender Email",
pleaseEnterSenderEmail: "Please enter sender email",
useSsl: "Use SSL",

View File

@@ -701,6 +701,7 @@ export default {
password: "密码",
pleaseEnterPassword: "请输入密码",
qqEmailAuthCodeHelper: "如果是qq邮箱需要到qq邮箱的设置里面申请授权码作为密码",
senderEmailHelper: "您可以使用 名称<邮箱> 的格式,来修改发件人名称,例如: autossl<certd@example.com>",
senderEmail: "发件邮箱",
pleaseEnterSenderEmail: "请输入发件邮箱",
useSsl: "是否ssl",

View File

@@ -30,6 +30,7 @@
</a-form-item>
<a-form-item :label="t('certd.senderEmail')" name="sender" :rules="[{ required: true, message: t('certd.pleaseEnterSenderEmail') }]">
<a-input v-model:value="formState.sender" />
<div class="helper">{{ t("certd.senderEmailHelper") }}</div>
</a-form-item>
<a-form-item :label="t('certd.useSsl')" name="secure">
<a-switch v-model:checked="formState.secure" />

View File

@@ -110,9 +110,12 @@ export class EmailService implements IEmailService {
private async sendByCustom(emailConfig: EmailConfig, email: EmailSend, sysTitle: string) {
const transporter = nodemailer.createTransport(emailConfig);
let from = `${sysTitle} <${emailConfig.sender}>`;
if (emailConfig.sender.includes('<')) {
from = emailConfig.sender;
}
const mailOptions = {
from: `${sysTitle} <${emailConfig.sender}>`,
from: from,
to: email.receivers.join(', '), // list of receivers
subject: email.subject,
text: email.content,