Sostituisce Resend con Cloudflare Email Service.

Usa il binding EMAIL per contatti e newsletter, eliminando la dipendenza da Resend e dalle relative API key.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Javaxman
2026-07-29 09:54:12 +02:00
parent 2b470c778a
commit 0743521d48
9 changed files with 97 additions and 93 deletions

View File

@ -1,10 +1,11 @@
import type { APIRoute } from 'astro';
import {
getEmailBinding,
getNewsletterDb,
getRuntimeEnv,
readEnv,
required,
sendWithResend,
sendCloudflareEmail,
type NewsletterSubscriber,
} from '../../../lib/newsletter';
@ -57,9 +58,7 @@ export const GET: APIRoute = async ({ request, locals, url }) => {
.bind(row.id)
.run();
const resendApiKey =
readEnv('NEWSLETTER_RESEND_API_KEY', runtimeEnv) ||
readEnv('CONTACT_FORM_RESEND_API_KEY', runtimeEnv);
const emailBinding = getEmailBinding(runtimeEnv);
const fromEmail =
readEnv('NEWSLETTER_FROM_EMAIL', runtimeEnv) ||
readEnv('CONTACT_FORM_FROM_EMAIL', runtimeEnv);
@ -67,10 +66,9 @@ export const GET: APIRoute = async ({ request, locals, url }) => {
readEnv('NEWSLETTER_NOTIFY_TO_EMAIL', runtimeEnv) ||
readEnv('CONTACT_FORM_TO_EMAIL', runtimeEnv);
if (resendApiKey && fromEmail && notifyTo) {
if (emailBinding && fromEmail && notifyTo) {
try {
await sendWithResend({
apiKey: resendApiKey,
await sendCloudflareEmail(emailBinding, {
fromEmail,
toEmail: notifyTo,
subject: 'Iscrizione newsletter confermata — NexStudio',