// server.js const express = require("express"); const multer = require("multer"); const nodemailer = require("nodemailer"); const cors = require("cors"); const app = express(); app.use(cors()); app.use(express.json()); const upload = multer({ storage: multer.memoryStorage() }); app.post("/sendContrato", upload.single("pdf"), async (req, res) => { try { const { nombre, emailCliente } = req.body; if (!nombre || !emailCliente || !req.file) return res.status(400).json({ error: "Faltan datos" }); const transporter = nodemailer.createTransport({ host: "smtp.gmail.com", port: 465, secure: true, auth: { user: process.env.EMAIL_USER, pass: process.env.EMAIL_PASS } }); await transporter.sendMail({ from: process.env.EMAIL_USER, to: [process.env.EMAIL_USER, emailCliente], subject: `Contrato ${nombre}`, text: `Contrato de ${nombre}`, attachments: [{ filename: `Contrato_${nombre}.pdf`, content: req.file.buffer }] }); res.json({ ok: true }); } catch (error) { console.error(error); res.status(500).json({ error: error.message }); } }); app.listen(process.env.PORT || 3000, () => console.log("Servidor corriendo 🚀")); 💡 IMPORTANTE: Configura tus variables de entorno EMAIL_USER y EMAIL_PASS con tu correo y contraseña de app. 2️⃣ Código para Squarespace Copia todo esto en un Code Block:

Contrato CHIKISPARK

Nombre:
Email:



Confirmar asistencia

Todo empieza con una idea. Tal vez quieras comenzar un negocio o convertir un pasatiempo en algo más. O bien, es posible que tengas un proyecto creativo para compartir con el mundo. Sea lo que sea, la manera en la que cuentes tu historia online puede marcar la diferencia.




Contrato CHIKISPARK

CONTRATO DE CELEBRACIONES CHIKISPARK

Número contrato:
Fecha:

DATOS DEL ARRENDATARIO

DATOS ECONÓMICOS

HORAS

FIRMA