Chiarisce la config email del form contatti e usa fallback newsletter. (#21)
Messaggio di errore specifico su cosa manca; FROM/TO possono riusare NEWSLETTER_*. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@ -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,
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user