import type { SendEmailInput, SendEmailResult } from '@admin/actions/email/types' import { getFromAddress } from '@admin/actions/resend/get-from-address' import { getResendClient } from '@admin/actions/resend/get-resend-client' import { htmlToText } from '@admin/actions/resend/html-to-text' const NOT_CONFIGURED_REASON = 'Resend email delivery requires BETTERSTART_RESEND_API_KEY and BETTERSTART_EMAIL_FROM.' export async function sendEmail(input: SendEmailInput): Promise { const client = getResendClient() const from = getFromAddress() if (!client || !from) { return { delivered: false, reason: NOT_CONFIGURED_REASON } } try { const result = await client.emails.send({ from, to: input.to, subject: input.subject, html: input.html, text: htmlToText(input.html) }) if (result.error) { return { delivered: false, reason: result.error.message } } return { delivered: true } } catch (error) { return { delivered: false, reason: error instanceof Error ? error.message : 'Resend email delivery failed.' } } }