staging #80

Merged
esteban merged 35 commits from staging into production 2026-08-03 05:07:52 +00:00
1 changed files with 21 additions and 16 deletions

View File

@ -80,24 +80,29 @@ export async function sendEmailCf(data: Record<string, string>, to: string, type
const apiToken = import.meta.env.CLOUDFLARE_API_TOKEN; const apiToken = import.meta.env.CLOUDFLARE_API_TOKEN;
const accountId = import.meta.env.CLOUDFLARE_ACCOUNT_ID; const accountId = import.meta.env.CLOUDFLARE_ACCOUNT_ID;
const client = new Cloudflare({ apiToken }); try {
const { subject } = TEMPLATE_URLS[type]; const client = new Cloudflare({ apiToken });
const rawHtml = await fetchTemplate(type); const { subject } = TEMPLATE_URLS[type];
const html = renderTemplate(rawHtml, data); const rawHtml = await fetchTemplate(type);
const text = stripHtml(html); const html = renderTemplate(rawHtml, data);
const text = stripHtml(html);
const response = await client.emailSending.send({ const response = await client.emailSending.send({
account_id: accountId, account_id: accountId,
from: "welcome@mail.centrodelreinodepazyjusticia.com", from: "welcome@mail.centrodelreinodepazyjusticia.com",
to, to,
subject, subject,
html, html,
text, text,
}); });
if (response.permanent_bounces.includes(to)) { if (response.permanent_bounces.includes(to)) {
console.error("Cloudflare email not delivered", response); console.error("Cloudflare email not delivered", response);
throw new Error("El correo no fue entregado"); throw new Error("El correo no fue entregado");
}
} catch (error) {
console.error("Cloudflare email failed, fallback a n8n:", error);
await sendEmail(data, to, type);
} }
} }