scheduler.js 1.4 KB
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