🐛 修复邮件发送功能的小问题

- 修复发件人字段处理,避免空字符串导致发送失败
- 改进SMTP测试错误消息显示,支持详细错误信息
- 更新package-lock.json锁定nodemailer版本

这些修复提升了邮件功能的稳定性和错误提示的友好性。

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-24 14:37:34 +08:00
parent 6958655d6e
commit 5ed13351f9
2 changed files with 14 additions and 2 deletions

View File

@@ -21,6 +21,7 @@
"express-validator": "^7.3.0",
"jsonwebtoken": "^9.0.2",
"multer": "^2.0.2",
"nodemailer": "^6.9.14",
"ssh2-sftp-client": "^12.0.1",
"svg-captcha": "^1.4.0"
},
@@ -1913,6 +1914,15 @@
"node": ">=10"
}
},
"node_modules/nodemailer": {
"version": "6.10.1",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.10.1.tgz",
"integrity": "sha512-Z+iLaBGVaSjbIzQ4pX6XV41HrooLsQ10ZWPUehGmuantvzWoDVBnmsdUcOIDM1t+yPor5pDhVlDESgOMEGxhHA==",
"license": "MIT-0",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/nodemon": {
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.10.tgz",

View File

@@ -695,8 +695,10 @@ async function sendMail(to, subject, html) {
throw new Error('SMTP未配置');
}
const from = (config.from && config.from.trim()) ? config.from.trim() : config.auth.user;
await transporter.sendMail({
from: config.from,
from,
to,
subject,
html
@@ -2879,7 +2881,7 @@ app.post('/api/admin/settings/test-smtp', authMiddleware, adminMiddleware, async
res.json({ success: true, message: `测试邮件已发送至 ${target}` });
} catch (error) {
console.error('测试SMTP失败:', error);
res.status(500).json({ success: false, message: '测试邮件发送失败: ' + error.message });
res.status(500).json({ success: false, message: '测试邮件发送失败: ' + (error.response?.message || error.message) });
}
});