const express = require('express') const nodemailer = require('nodemailer') const cors = require('cors') const app = express() app.use(cors()) app.use(express.json()) const transporter = nodemailer.createTransport({ host: process.env.SMTP_HOST, port: parseInt(process.env.SMTP_PORT || '587'), secure: process.env.SMTP_SECURE === 'true', auth: { user: process.env.SMTP_USER, pass: process.env.SMTP_PASS, }, tls: { rejectUnauthorized: false }, }) app.post('/contact', async (req, res) => { const { name, email, service, message } = req.body if (!name || !email || !message) { return res.status(400).json({ error: 'Name, email, and message are required.' }) } try { await transporter.sendMail({ from: `"KenJim Technologies" <${process.env.FROM_EMAIL || process.env.SMTP_USER}>`, to: process.env.CONTACT_TO, replyTo: email, subject: `[kenjim.com] ${service || 'General Inquiry'} — ${name}`, text: `Name: ${name}\nEmail: ${email}\nService: ${service || 'General Inquiry'}\n\n${message}`, html: `

Name: ${name}

Email: ${email}

Service: ${service || 'General Inquiry'}


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

`, }) res.json({ ok: true }) } catch (err) { console.error('Mail error:', err) res.status(500).json({ error: 'Failed to send message. Please try again.' }) } }) app.listen(3001, () => console.log('API listening on :3001'))