Ir al contenido

Ejemplos

El repositorio público de los SDK frontmail-dev/frontmail-js incluye un ejemplo ejecutable para cada SDK en el directorio examples/. Cada uno es un formulario de contacto con errores de validación, el estado de correo retenido y Turnstile: el mismo flujo que el tutorial del formulario de contacto.

Ejemplo Stack Muestra
examples/vanilla HTML puro + @frontmail/browser (CDN) sendForm, Turnstile, archivo adjunto, consulta periódica con getStatus
examples/react Vite + React + @frontmail/react FrontmailProvider, FrontmailForm, useSendEmail, parámetros tipados
examples/react-native Expo + React Native + @frontmail/react-native FrontmailProvider, useSendEmail, TurnstileWebView, limitRate con AsyncStorage
examples/vue Vite + Vue 3 + @frontmail/vue plugin, <FrontmailForm>, useSendEmail
examples/svelte Vite + Svelte 5 + @frontmail/svelte createFrontmail, use:frontmailForm
examples/node Node.js + @frontmail/node send, sendBatch, history, claves de idempotencia
Ventana de terminal
git clone https://github.com/frontmail-dev/frontmail-js.git
cd frontmail-js
corepack enable # pnpm 10
pnpm install
pnpm build # compila los SDK que usan los ejemplos
echo "VITE_FRONTMAIL_PUBLIC_KEY=pk_…" > examples/react/.env.local # + ID del servicio e ID de la plantilla
pnpm --filter @frontmail/example-react dev

El README de cada ejemplo indica qué parámetros de plantilla espera. La forma más rápida de tener una plantilla que encaje es la plantilla Formulario de contacto de la galería.

Apps nativas: Android (Kotlin), iOS (Swift) y Flutter

Sección titulada «Apps nativas: Android (Kotlin), iOS (Swift) y Flutter»

Los SDK nativos están en sus propios repositorios públicos y todavía no tienen proyecto de ejemplo. La página de cada SDK recorre paso a paso el mismo flujo del formulario de contacto (instalación, envío, estado retenido, estado de entrega y Turnstile en un WebView) con código que puedes pegar en tu app:

SDK Repositorio Muestra
Android (Kotlin) – dev.frontmail:frontmail frontmail-dev/frontmail-kotlin send desde viewModelScope, AcceptedStatus.HELD, getStatus, Turnstile en un WebView
iOS y plataformas de Apple (Swift) – paquete Frontmail frontmail-dev/frontmail-swift send con async/await, .held, estado de entrega, Turnstile en un WKWebView (SwiftUI + UIKit)
Flutter y Dart – frontmail en pub.dev frontmail-dev/frontmail-flutter send, DeliveryStatus.held, estado de entrega, Turnstile en webview_flutter (un widget de formulario completo)

Todos necesitan activar Permitir apps móviles y solo aceptan la clave pública. Las apps multiplataforma pueden usar @frontmail/react-native y el proyecto examples/react-native de arriba.

Cada página de plantilla del panel tiene una pestaña Fragmentos que genera código listo para pegar para JS puro, React, Vue, Svelte, Node y cURL, con tus ID y todos los parámetros de la plantilla (incluidos los tipos y valores de ejemplo) ya rellenados.

  • Next.js / Nuxt / SvelteKit: envía desde componentes de cliente con la clave pública, o desde server actions / rutas de API con la clave privada y @frontmail/node.
  • Generadores de sitios estáticos (Astro, Hugo, Eleventy, Jekyll): usa la versión del CDN y sendForm.
  • WordPress y constructores no-code: pega el fragmento del CDN en un bloque de HTML personalizado.
  • Apps móviles: usa los SDK nativos para Android (Kotlin), iOS (Swift) y Flutter, o @frontmail/react-native, con la clave pública y activa Permitir apps móviles, o llama a la API REST desde tu backend con una clave privada. Nunca pongas una clave privada en una app.