const nodemailer = require('nodemailer'); // 邮件配置 - 请根据实际情况修改 const emailConfig = { // 使用QQ邮箱示例,您可以根据需要修改为其他邮箱服务 service: 'qq', // 或者使用 'gmail', '163', 'outlook' 等 auth: { user: 'your-email@qq.com', // 发送邮箱 - 请修改为实际邮箱 pass: 'your-app-password' // 邮箱授权码(不是登录密码)- 请修改为实际授权码 } }; // 接收邮箱配置 - 请修改为实际接收邮箱 const receiverEmail = 'admin@yourcompany.com'; // 接收留言的邮箱 // 创建邮件传输器 const transporter = nodemailer.createTransport(emailConfig); /** * 发送联系我们留言通知邮件 * @param {Object} contactData 联系信息 * @returns {Promise} 发送结果 */ async function sendContactNotification(contactData) { try { const { name, email, phone, company, subject, message, createdAt } = contactData; const mailOptions = { from: emailConfig.auth.user, to: receiverEmail, subject: `【网站留言】${subject}`, html: `

新的联系我们留言

联系人信息

姓名: ${name}

邮箱: ${email}

${phone ? `

电话: ${phone}

` : ''} ${company ? `

公司: ${company}

` : ''}

留言时间: ${new Date(createdAt).toLocaleString('zh-CN')}

留言主题

${subject}

留言内容

${message.replace(/\n/g, '
')}

提示:请及时回复客户留言,可直接回复到客户邮箱:${email}

` }; const result = await transporter.sendMail(mailOptions); console.log('邮件发送成功:', result.messageId); return true; } catch (error) { console.error('邮件发送失败:', error); return false; } } /** * 发送自动回复邮件给客户 * @param {Object} contactData 联系信息 * @returns {Promise} 发送结果 */ async function sendAutoReply(contactData) { try { const { name, email, subject } = contactData; const mailOptions = { from: emailConfig.auth.user, to: email, subject: `感谢您的留言 - ${subject}`, html: `

感谢您的留言!

尊敬的 ${name},

感谢您通过我们的网站联系我们。我们已经收到您的留言,我们的工作人员会在24小时内回复您。

您的留言主题:${subject}

提交时间:${new Date().toLocaleString('zh-CN')}

如有紧急事务,请直接拨打我们的客服电话:400-xxx-xxxx


此邮件为系统自动发送,请勿直接回复。
如需联系我们,请访问:https://yourwebsite.com

` }; const result = await transporter.sendMail(mailOptions); console.log('自动回复邮件发送成功:', result.messageId); return true; } catch (error) { console.error('自动回复邮件发送失败:', error); return false; } } module.exports = { sendContactNotification, sendAutoReply };