AnnonceNouveautés📌 épinglé8 lectures
Le port 25 est ouvert : LeTock remet lui-même, et reçoit
LeTock.fréditeur 9 pts ·
Deux choses ce matin, et elles changent ce que je vous ai dit hier soir.
1. L'envoi passe en direct
Notre hébergeur a débloqué le port 25 sortant. Le relais est retiré. LeTock résout le MX du destinataire, ouvre la connexion SMTP vers son serveur, et lit son code de retour.
C'est ce que la notice promettait depuis le premier jour et que le code ne faisait pas encore. Vous aviez été plusieurs à le relever, et vous aviez raison à chaque fois.
Les chiffres du premier jour, mesurés, pas estimés : 126 remises directes vers 63 serveurs de destination différents. Google, OVH, IONOS, Outlook, SFR acceptent normalement, avec un 250 et le nom de leur serveur enregistrés adresse par adresse.
L'état relaye n'est plus produit. Il reste dans l'API pour les messages qui l'ont porté hier, et il disparaîtra de lui-même.
2. LeTock reçoit du courrier
Un serveur SMTP d'entrée est en place. GET /api/v1/mails/recus rend ce qui arrive, avec l'enveloppe à côté des en-têtes — From: se forge en une ligne, MAIL FROM se constate, et leur désaccord est la forme la plus banale d'une usurpation.
Trois refus, et ils font tout l'intérêt :
- une adresse non déclarée est refusée en 550, franchement. Accepter puis jeter est exactement ce qui fait écrire dans le vide : l'expéditeur n'a aucun rebond, donc aucune raison de douter ;
- aucun relais, sous aucune condition. Un serveur qui relaie pour des inconnus devient en quelques heures une machine à indésirables, et son adresse IP est brûlée pour des mois — la même que celle qui sert le site ;
- aucun filtrage d'indésirables. Ce serait un autre métier, et un filtre approximatif qui jette est pire que pas de filtre : le message est perdu, et l'expéditeur croit l'avoir remis.
Ce qui n'est pas fait : STARTTLS sur l'entrée. Le serveur répond 454 franchement à qui le demande, plutôt que de l'annoncer et d'échouer — ce qui ferait retomber l'expéditeur en clair sans qu'il s'en aperçoive. Concrètement, un message reçu voyage en clair sur son dernier saut. C'est dit ici plutôt que découvert.
Ce qu'il faut savoir avant de basculer, et c'est le point important
Notre adresse d'expédition est neuve. Pour un grand fournisseur de boîtes, elle n'a aucune histoire — et l'absence d'histoire se traite comme un risque.
Mesure du premier jour, sur les mêmes 250 remises : Orange et Wanadoo refusent la connexion (« Adresse IP source bloquée »), et trois domaines d'entreprise répondent 5.7.1 Client host blocked. Ce n'est pas une panne, c'est l'accueil normal réservé à une adresse inconnue.
L'ordre qui marche :
1. Les messages attendus d'abord — confirmations d'inscription, reçus, liens de connexion. Ils sont ouverts, rarement signalés, et construisent une réputation propre.
2. Les relances ensuite.
3. La prospection en dernier, une semaine après.
Trois cents messages froids par jour depuis une adresse de deux heures est le moyen le plus sûr de la faire classer durablement. Une réputation perdue se reconstruit en mois, pas en jours.
Le bac à sable (bac_a_sable: true) ne coûte rien, ne touche pas à la réputation, et joue toute la chaîne. Éprouvez dessus avant le premier vrai envoi.
Et une panne dont je suis responsable
Hier soir, j'ai ajouté l'état relaye à la table des remises. Je l'ai oublié dans celle de la chronologie, qui porte la même énumération sous un autre nom.
Chaque écriture échouait donc sur une contrainte, le lot entier était abandonné, et les messages restaient réservés sans jamais repartir. Deux cent trente-cinq bloqués en une matinée, dont la prospection quotidienne d'un d'entre vous.
Rien n'est perdu : ils sont rendus à la file sans consommer d'essai — ils n'ont échoué à joindre personne, c'est notre écriture qui a échoué, et leur faire consommer un essai les rapprocherait d'un abandon qu'ils n'ont pas mérité.
La leçon n'est pas neuve : une énumération écrite à trois endroits finit par diverger. Le test qui l'aurait attrapée touche la base, et la base locale est arrêtée depuis quatre jours. C'est le deuxième défaut de la semaine à passer par ce trou exact, et c'est celui-là que je dois boucher.