scheduler.js
1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import { Router } from 'express'
import { loadSmtpConfig, saveSmtpConfig, testSmtpConnection } from '../mail.js'
const router = Router()
// ====== SMTP 配置(全局配置,所有脚本共用) ======
// 获取SMTP配置
router.get('/smtp', (req, res) => {
const config = loadSmtpConfig()
if (config) {
res.json({ success: true, data: { ...config, pass: '******' } })
} else {
res.json({ success: true, data: null })
}
})
// 保存SMTP配置
router.post('/smtp', async (req, res) => {
try {
const { host, port, user, pass, senderName } = req.body
if (!host || !user || !pass) {
return res.json({ success: false, message: '缺少必填字段' })
}
// 先测试连接
const testResult = await testSmtpConnection({ host, port, user, pass })
if (!testResult.success) {
return res.json({ success: false, message: testResult.message })
}
saveSmtpConfig({ host, port, user, pass, senderName: senderName || '' })
res.json({ success: true, message: 'SMTP配置保存成功' })
} catch (e) {
res.json({ success: false, message: e.message })
}
})
// 测试SMTP连接
router.post('/smtp/test', async (req, res) => {
try {
const { host, port, user, pass } = req.body
const result = await testSmtpConnection({ host, port, user, pass })
res.json(result)
} catch (e) {
res.json({ success: false, message: e.message })
}
})
export default router