diff --git a/src/pages/api/contact.ts b/src/pages/api/contact.ts index 66b4e75..8b7ce17 100644 --- a/src/pages/api/contact.ts +++ b/src/pages/api/contact.ts @@ -115,8 +115,12 @@ export const POST: APIRoute = async ({ request, url }) => { try { const runtimeEnv = getRuntimeEnv(); const mode = readEnv('CONTACT_FORM_MODE', runtimeEnv).toLowerCase() || 'dev'; - const fromEmail = readEnv('CONTACT_FORM_FROM_EMAIL', runtimeEnv); - const toEmail = readEnv('CONTACT_FORM_TO_EMAIL', runtimeEnv); + const fromEmail = + readEnv('CONTACT_FORM_FROM_EMAIL', runtimeEnv) || + readEnv('NEWSLETTER_FROM_EMAIL', runtimeEnv); + const toEmail = + readEnv('CONTACT_FORM_TO_EMAIL', runtimeEnv) || + readEnv('NEWSLETTER_NOTIFY_TO_EMAIL', runtimeEnv); const turnstileSecret = readEnv('CONTACT_TURNSTILE_SECRET_KEY', runtimeEnv); const form = await request.formData(); @@ -173,9 +177,14 @@ export const POST: APIRoute = async ({ request, url }) => { if (mode === 'live') { const emailBinding = getEmailBinding(runtimeEnv); if (!emailBinding || !fromEmail || !toEmail) { + const missing = [ + !emailBinding ? 'EMAIL binding' : '', + !fromEmail ? 'CONTACT_FORM_FROM_EMAIL (o NEWSLETTER_FROM_EMAIL)' : '', + !toEmail ? 'CONTACT_FORM_TO_EMAIL (o NEWSLETTER_NOTIFY_TO_EMAIL)' : '', + ].filter(Boolean); return fail( request, - 'Live mode requires EMAIL binding (Cloudflare Email Service), CONTACT_FORM_FROM_EMAIL and CONTACT_FORM_TO_EMAIL.', + `Config email incompleta: manca ${missing.join(', ')}. Imposta le variabili runtime del Worker (Settings → Variables and Secrets), non Build.`, 500, ); }