Aller au contenu

Relais SMTP

Le relais SMTP permet aux logiciels qui ne parlent que SMTP (CMS, fournisseurs d’authentification, frameworks, applications héritées) d’envoyer via SpacePost. Les messages passent par le même pipeline que l’API : contrôles de domaine, liste de suppression, quotas, suivi, webhooks.

Paramètre Valeur
Hôte smtp.spacepost.dev
Port 25976
Sécurité STARTTLS, obligatoire avant l’authentification
Nom d’utilisateur spacepost (l’alias resend est aussi accepté, pour les migrations)
Mot de passe Votre clé API (sp_live_...)

Connectez-vous sans TLS et passez en STARTTLS avant de vous authentifier ; le certificat est valide pour smtp.spacepost.dev. Le TLS implicite (port 465) n’est pas encore proposé : dans la plupart des clients, choisissez « STARTTLS » ou « TLS », pas « SSL ».

L’adresse From doit appartenir à un domaine vérifié. Une clé sending_access suffit ; une clé restreinte à un domaine ne peut envoyer que depuis ce domaine.

Ajoutez ces en-têtes à votre message pour utiliser des fonctionnalités pour lesquelles SMTP n’a pas de champ. Ils sont consommés par SpacePost et ne sont pas transmis au destinataire.

En-tête Exemple Effet
X-SpacePost-Tags category=welcome, user_id=u_1042 Ajoute des tags. Paires name=value séparées par des virgules ; mêmes règles de caractères que l’API.
X-SpacePost-Scheduled-At 2026-11-01T09:00:00Z ou in 1 hour Planifie l’e-mail (jusqu’à 30 jours).

Les autres en-têtes X-*, List-Unsubscribe, List-Unsubscribe-Post, In-Reply-To et References sont transmis comme en-têtes personnalisés.

import nodemailer from "nodemailer";
const transport = nodemailer.createTransport({
host: "smtp.spacepost.dev",
port: 25976,
secure: false, // STARTTLS: the connection is upgraded to TLS before login
requireTLS: true,
auth: { user: "spacepost", pass: process.env.SPACEPOST_API_KEY },
});
await transport.sendMail({
from: "Acme <hello@acme.com>",
to: "user@example.com",
subject: "Hello over SMTP",
html: "<p>It works.</p>",
headers: { "X-SpacePost-Tags": "category=welcome", "X-SpacePost-Scheduled-At": "in 10 minutes" },
});
  • To, Cc et Reply-To proviennent des en-têtes. Les destinataires de l’enveloppe (RCPT TO) qui ne figurent ni dans To ni dans Cc deviennent Bcc.
  • Les parties HTML et texte sont conservées. Les pièces jointes, y compris les images en ligne (Content-ID), sont prises en charge.
  • Un message sans objet reçoit l’objet (no subject).
  • Chaque destinataire compte dans votre quota, comme avec l’API.
Limite Valeur
Taille du message 40 Mo, réponse 552
Échecs d’authentification 10 tentatives échouées par IP en 10 minutes, puis blocage

Les réponses SMTP correspondent aux erreurs de l’API :

Situation Réponse
Quota quotidien ou mensuel dépassé 452 (temporaire : votre logiciel réessaiera plus tard)
Limite de débit atteinte 421
Domaine From non vérifié 553
Clé restreinte, équipe en pause, erreurs de validation, contenu bloqué 550
Problème temporaire de notre côté 451