From 51f3386a90036f3eb16b827ba6844171466c8dde Mon Sep 17 00:00:00 2001 From: h4erj Date: Wed, 24 Jun 2026 10:42:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=A1=A8=E5=8D=95=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E8=87=AA=E5=8A=A8=E5=8F=91=E9=80=81=20QQ=20=E9=82=AE?= =?UTF-8?q?=E4=BB=B6=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api-server.js | 30 ++++++++++++++++++++++++++++++ package.json | 3 +++ 2 files changed, 33 insertions(+) diff --git a/api-server.js b/api-server.js index 059824f..24320f5 100644 --- a/api-server.js +++ b/api-server.js @@ -2,6 +2,7 @@ const http = require('http'); const fs = require('fs'); const path = require('path'); const crypto = require('crypto'); +const nodemailer = require('nodemailer'); const DATA_DIR = path.join(__dirname, 'data'); const MESSAGE_FILE = path.join(DATA_DIR, 'contact-messages.json'); @@ -9,6 +10,25 @@ const PORT = Number(process.env.PORT || 8080); const CORS_ORIGIN = process.env.CORS_ORIGIN || 'https://potaser.github.io'; +const transporter = nodemailer.createTransport({ + host: 'smtp.qq.com', + port: 465, + secure: true, + auth: { + user: '120494581@qq.com', + pass: 'fredpdlmapfdbhic' + } +}); + +function sendMail(subject, text) { + return transporter.sendMail({ + from: '120494581@qq.com', + to: '120494581@qq.com', + subject, + text + }); +} + function ensureStore() { fs.mkdirSync(DATA_DIR, { recursive: true }); if (!fs.existsSync(MESSAGE_FILE)) fs.writeFileSync(MESSAGE_FILE, '[]\n', 'utf8'); @@ -126,6 +146,16 @@ async function handleContact(req, res) { }; messages.push(item); writeMessages(messages); + + const mailText = `姓名:${item.name} +邮箱:${item.email || '未填写'} +电话:${item.countryCode} ${item.phone || '未填写'} +咨询类型:${item.inquiryType} +消息内容:${item.message} +提交时间:${item.createdAt}`; + + sendMail(`【海古纪-联系我们】新消息来自 ${item.name}`, mailText).catch(() => {}); + sendJson(res, 201, { ok: true, id: item.id }); } catch (error) { sendJson(res, 500, { ok: false, errors: [error.message || '提交失败'] }); diff --git a/package.json b/package.json index 6f8a9f6..4178fa5 100644 --- a/package.json +++ b/package.json @@ -1,4 +1,7 @@ { + "dependencies": { + "nodemailer": "^6.9.0" + }, "scripts": { "start": "node api-server.js", "server": "node server.js",