Facteur et Mailtrap
Mailtrap propose un faux serveur SMTP, l'Email Sandbox. Voici ce qu'il publie, puis ce que fait Facteur.
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.
-
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.
-
02
Mailtrap publie des kits de développement pour Node.js et TypeScript, PHP, Python, Ruby, Java, Go et .NET.
-
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.
-
04
L'offre Email Sandbox gratuite affiche 0 $ par mois, 50 e-mails de test, 1 bac à sable et 1 utilisateur.
-
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).
-
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 ·
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.
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.
// 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;
Quatre étapes, les deux services côte à côte
-
É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.
-
É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.
-
É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.
-
É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.
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 |
Ce que fait Facteur
Ces lignes décrivent Facteur, telles que ses pages produit et son centre d'aide les donnent.
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.
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.
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.
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.
Supprimé à l'échéance
Chaque message est supprimé à l'échéance de votre offre, avec son fichier brut et ses pièces jointes.
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.
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.
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.
Les autres outils
La même démarche pour chaque outil : ce qu'il publie, sourcé et daté, puis ce que fait Facteur.
Facteur et Mailisk
Ce que Mailisk publie sur ses namespaces, ses SMS et son offre gratuite, et ce que fait Facteur.
Facteur et MailSlurp
Ce que MailSlurp publie sur ses offres, ses boîtes et ses numéros de téléphone, et ce que fait Facteur.
Facteur et Mailpit
Ce que Mailpit publie sur son logiciel libre, son SMTP et son API, et ce que fait Facteur.
Facteur et Mailosaur
Ce que Mailosaur publie sur ses offres, sa limite quotidienne, ses SMS et son API, et ce que fait Facteur.
Migrer depuis Mailosaur
La correspondance des appels de l'API, un par un, et ceux qui n'ont pas d'équivalent chez Facteur.
Essayez Facteur sans compte
L'essai reçoit un e-mail de test, sans inscription. Les prix sont sur la page Tarifs.