🐛 修复邮件发送功能的小问题
- 修复发件人字段处理,避免空字符串导致发送失败 - 改进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:
10
backend/package-lock.json
generated
10
backend/package-lock.json
generated
@@ -21,6 +21,7 @@
|
|||||||
"express-validator": "^7.3.0",
|
"express-validator": "^7.3.0",
|
||||||
"jsonwebtoken": "^9.0.2",
|
"jsonwebtoken": "^9.0.2",
|
||||||
"multer": "^2.0.2",
|
"multer": "^2.0.2",
|
||||||
|
"nodemailer": "^6.9.14",
|
||||||
"ssh2-sftp-client": "^12.0.1",
|
"ssh2-sftp-client": "^12.0.1",
|
||||||
"svg-captcha": "^1.4.0"
|
"svg-captcha": "^1.4.0"
|
||||||
},
|
},
|
||||||
@@ -1913,6 +1914,15 @@
|
|||||||
"node": ">=10"
|
"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": {
|
"node_modules/nodemon": {
|
||||||
"version": "3.1.10",
|
"version": "3.1.10",
|
||||||
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.10.tgz",
|
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.10.tgz",
|
||||||
|
|||||||
@@ -695,8 +695,10 @@ async function sendMail(to, subject, html) {
|
|||||||
throw new Error('SMTP未配置');
|
throw new Error('SMTP未配置');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const from = (config.from && config.from.trim()) ? config.from.trim() : config.auth.user;
|
||||||
|
|
||||||
await transporter.sendMail({
|
await transporter.sendMail({
|
||||||
from: config.from,
|
from,
|
||||||
to,
|
to,
|
||||||
subject,
|
subject,
|
||||||
html
|
html
|
||||||
@@ -2879,7 +2881,7 @@ app.post('/api/admin/settings/test-smtp', authMiddleware, adminMiddleware, async
|
|||||||
res.json({ success: true, message: `测试邮件已发送至 ${target}` });
|
res.json({ success: true, message: `测试邮件已发送至 ${target}` });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('测试SMTP失败:', 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) });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user