// 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:
Email:
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 DE CELEBRACIONES CHIKISPARK
Número contrato:Fecha: