Aller au contenu
Facteur
/ Comparatif

Facteur et Mailtrap

Mailtrap propose un faux serveur SMTP, l'Email Sandbox. Voici ce qu'il publie, puis ce que fait Facteur.

Sources

Ce que Mailtrap publie

Chaque ligne est une information que Mailtrap publie. Elle porte l'adresse de la page où nous l'avons lue et la date de lecture. Ce que nous n'avons pas pu vérifier n'y figure pas. Ces pages changent : relisez la source avant de décider.

  1. 01

    L'Email Sandbox de Mailtrap se présente comme un faux serveur SMTP qui piège tous les e-mails envoyés par votre application. Chaque bac à sable a ses propres identifiants SMTP.

    https://docs.mailtrap.io/email-sandbox/overview ·

  2. 02

    Mailtrap publie des kits de développement pour Node.js et TypeScript, PHP, Python, Ruby, Java, Go et .NET.

    https://docs.mailtrap.io/email-sandbox/overview ·

  3. 03

    Le bac à sable montre l'aperçu HTML et texte des e-mails, vérifie le HTML et note le risque de spam avec SpamAssassin.

    https://docs.mailtrap.io/email-sandbox/overview ·

  4. 04

    L'offre Email Sandbox gratuite affiche 0 $ par mois, 50 e-mails de test, 1 bac à sable et 1 utilisateur.

    https://mailtrap.io/pricing/ ·

  5. 05

    Trois offres payantes de l'Email Sandbox sont affichées avec une facturation annuelle : Basic à 14 $ par mois (500 e-mails de test, 1 bac à sable, 3 utilisateurs), Team à 34 $ (5 000 e-mails, 5 bacs à sable, 5 utilisateurs) et Business à 99 $ (50 000 e-mails, 50 bacs à sable, 50 utilisateurs).

    https://mailtrap.io/pricing/ ·

  6. 06

    L'exemple officiel du client Node mailtrap construit new MailtrapClient({ token, testInboxId, accountId }), liste les messages d'une boîte de test avec client.testing.messages.get(inboxId), puis lit un message avec getTextMessage(inboxId, messageId) ou getHtmlMessage(inboxId, messageId).

    https://github.com/mailtrap/mailtrap-nodejs/blob/main/examples/testing/messages.ts ·

Traduire vos tests

Le même test, chez l'un puis chez l'autre

Le client de Mailtrap liste les messages d'une boîte de test, puis en demande le texte. Chez Facteur, un seul appel attend le message qui correspond et le rend avec son code déjà extrait.

Avant, avec Mailtrap JavaScript
const { MailtrapClient } = require('mailtrap');
const client = new MailtrapClient({ token, testInboxId: inboxId, accountId });

// La liste des messages de la boîte de test, puis le texte du premier.
const messages = await client.testing.messages.get(inboxId);
const text = await client.testing.messages.getTextMessage(inboxId, messages[0].id);

// Le code reste à chercher dans text.
Chaque appel de Mailtrap montré ici vient de sa documentation : la section Sources donne la page et la date de lecture.
Après, avec Facteur TypeScript
// Aucun paquet Facteur à installer : un appel HTTP qui attend.
const search = new URLSearchParams({
  inbox: 'j3k9x2mq',
  sentTo: address,
  wait: '30000',
});

const response = await fetch('https://api.facteur.eu/v1/messages?' + search, {
  headers: { authorization: 'Bearer ' + process.env.FACTEUR_API_KEY },
});
const { messages } = await response.json();

// Le code est déjà extrait, dans un champ à part.
const code = messages[0].otp;
Facteur ne publie encore aucune bibliothèque : le test appelle l'API en HTTP. Le portail des développeurs joue cet appel contre le service.
La migration, pas à pas

Quatre étapes, les deux services côte à côte

  1. Étape 01

    Créer un compte et une inbox

    Chaque inbox a son domaine, et toute adresse qui s'y termine est acceptée dès le premier message. Il n'y a rien d'autre à préparer.

  2. Étape 02

    Pointer les envois vers l'inbox

    Là où Mailtrap capte le trafic SMTP de votre application, vos scénarios écrivent maintenant à une adresse de l'inbox : le message suit la vraie chaîne d'envoi, celle que verra un utilisateur.

  3. Étape 03

    Remplacer les appels dans les tests

    La liste des messages et la lecture du texte deviennent une seule recherche, qui attend le message et rend le corps, les liens et le code déjà extraits.

  4. Étape 04

    Lancer la suite, puis seulement résilier

    Gardez les deux comptes le temps que la suite soit verte : il n'y a ni données à exporter, ni DNS à basculer.

La bascule, en synthèse

Ce qui change, ligne par ligne

Chaque case sur Mailtrap renvoie à la phrase des sources dont elle vient. Une ligne qu'aucune source ne permet d'écrire n'est pas dans le tableau.

Sujet Facteur Mailtrap
Réception Votre application écrit à une adresse de l'inbox, comme elle écrirait à une personne. Un faux serveur SMTP intercepte les e-mails que votre application envoie. source
Attendre un message La recherche attend le message côté serveur, cinq minutes au plus. L'exemple officiel liste les messages de la boîte, puis lit le texte de l'un d'eux. source
Rendu et spam Ni aperçu de rendu, ni validation du HTML, ni note de spam. Aperçus HTML et texte, validation du HTML, note de spam SpamAssassin. source
Bibliothèques Aucune bibliothèque publiée : un appel HTTP, depuis n'importe quel langage. Des kits pour Node.js et TypeScript, PHP, Python, Ruby, Java, Go et .NET. source
Nombre de boîtes Le nombre d'inboxes dépend de l'offre : la page Tarifs le donne. Le nombre de bacs à sable dépend de l'offre. source
Facteur

Ce que fait Facteur

Ces lignes décrivent Facteur, telles que ses pages produit et son centre d'aide les donnent.

01

Une adresse par test

Tout ce qui précède l'arobase est libre. Deux tests qui écrivent à inscription+run-42 et inscription+run-43 reçoivent chacun leur message, dans la même inbox.

02

Attendre le message en une requête

La recherche accepte un délai d'attente de cinq minutes au plus. Si rien n'arrive, elle répond une liste vide, pas une erreur.

03

Le code déjà extrait

Le champ otp porte le code à usage unique le plus probable. Quand rien ne l'annonce, Facteur le laisse vide plutôt que de deviner.

04

Lire ne coûte rien

Seul un message reçu et gardé compte dans votre offre. Un test qui reçoit 3 e-mails et les relit 40 fois en consomme 3.

05

Supprimé à l'échéance

Chaque message est supprimé à l'échéance de votre offre, avec son fichier brut et ses pièces jointes.

06

Hébergé chez OVHcloud

L'application et sa base de données sont hébergées chez OVHcloud, et la facturation est en euros. Le centre de données est en France.

07

Les SMS ne sont pas encore reçus

Le raccordement à l'opérateur qui livre les SMS n'est pas en service. Un numéro attribué ne reçoit aucun SMS réel aujourd'hui.

Choisir

Questions fréquentes

Quand regarder du côté de Mailtrap ?

Mailtrap publie des aperçus HTML, une validation du HTML et une note de spam. La documentation de Facteur ne décrit aucune de ces fonctions. Si votre test vérifie le rendu d'un e-mail plus que son contenu, regardez du côté de Mailtrap.

Combien de travail représente la migration depuis Mailtrap ?

Du travail mécanique : remplacer le client, écrire aux adresses de l'inbox plutôt qu'à la capture SMTP, retirer la lecture en deux temps. Il n'y a ni données à transférer ni DNS à basculer, et la migration se fait fichier par fichier.

Que deviennent les messages déjà reçus chez Mailtrap ?

Ils restent chez Mailtrap. Ce sont des données de test : elles se régénèrent au prochain passage de votre suite, il n'y a rien à exporter.

Où lire les prix de Facteur ?

Sur la page Tarifs, qui lit la grille de Facteur. Aucun prix de Facteur n'est écrit ici.

Essayez Facteur sans compte

L'essai reçoit un e-mail de test, sans inscription. Les prix sont sur la page Tarifs.