Guide développeur

Envoyer un email en Node.js sans serveur SMTP

Envoyez un email transactionnel signé DKIM depuis Node.js avec un simple appel HTTP — aucun serveur SMTP à configurer, aucune clé à gérer. Voici les étapes, avec le SDK typé ou fetch natif.

  1. 1

    Ajoutez et vérifiez votre domaine

    Ajoutez votre domaine d'envoi dans Spore et publiez les enregistrements DNS proposés (DKIM, SPF, DMARC). Une fois propagés, Spore les valide automatiquement — vos emails sont alors signés.

  2. 2

    Créez une clé API

    Générez une clé API (sk_live_…) pour votre projet et exposez-la via une variable d'environnement SPORE_API_KEY. Ne la committez jamais dans votre code.

  3. 3

    Envoyez avec le SDK typé

    Installez @lalternative/spore-sdk pour bénéficier de l'autocomplétion sur chaque champ. Spore gère la signature DKIM, l'envoi et les retries.

    typescript
    import { configureSporeClient, getSporeAPI } from "@lalternative/spore-sdk"
    
    configureSporeClient({ apiKey: process.env.SPORE_API_KEY! })
    
    await getSporeAPI().sendEmail({
      from: "hello@yourdomain.com",
      to: ["alex@example.com"],
      subject: "Welcome aboard",
      html: "<p>Hi Alex, your account is ready.</p>",
    })
  4. 4

    Ou sans dépendance, avec fetch

    Vous préférez zéro dépendance ? Le même envoi tient en un appel fetch natif vers POST /emails avec un en-tête Bearer.

    typescript
    const res = await fetch("https://api.sporee.fr/emails", {
      method: "POST",
      headers: {
        Authorization: `Bearer ${process.env.SPORE_API_KEY}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        from: "hello@yourdomain.com",
        to: ["alex@example.com"],
        subject: "Welcome aboard",
        html: "<p>Hi Alex, your account is ready.</p>",
      }),
    })
    
    if (!res.ok) throw new Error(`Spore returned ${res.status}`)
  5. 5

    Vérifiez la livraison

    Interrogez GET /emails/:id pour voir l'historique par tentative, ou branchez un webhook pour recevoir les événements email.sent, email.bounced et email.failed en temps réel.

Questions fréquentes

Faut-il un serveur SMTP pour envoyer avec Spore ?
Non. Spore expose une API HTTP : vous envoyez un POST /emails et la plateforme gère la signature DKIM et la remise. Aucun serveur SMTP à opérer.
Le SDK est-il obligatoire ?
Non. Le SDK typé apporte l'autocomplétion, mais un simple appel fetch ou curl vers POST /emails suffit.
Comment sont gérés DKIM et la délivrabilité ?
Les clés DKIM sont générées et stockées côté serveur, la signature est automatique, et les bounces mettent à jour la liste de suppression sans action de votre part.

Prêt à envoyer votre premier email ?