Refactor: Replace ntfy.sh with Resend API for contact creation

This commit is contained in:
2025-12-05 15:02:02 -08:00
parent ac928f96eb
commit 222a2e9d5b

View File

@@ -3,14 +3,19 @@ export async function onRequestPost({ request, env }) {
if (!email || !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email))
return new Response('{"error":"Invalid email"}', { status: 400, headers: { 'Content-Type': 'application/json' } });
const c = request.cf || {};
const geo = [c.city, c.region, c.country].filter(Boolean).join(', ') || 'Unknown';
await fetch(`https://ntfy.sh/${env.NTFY_TOPIC}`, {
const res = await fetch('https://api.resend.com/contacts', {
method: 'POST',
headers: { Priority: '3', Title: `📬 ${geo}` },
body: email
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${env.RESEND_KEY}`
},
body: JSON.stringify({ email })
});
if (!res.ok) {
const text = await res.text();
return new Response(`{"error":"Resend error: ${text}"}`, { status: 500, headers: { 'Content-Type': 'application/json' } });
}
return new Response('{"ok":true}', { headers: { 'Content-Type': 'application/json' } });
}