Wouhou yes !
Moi ce que j’adorerais c’est plus ambitieux : c’est d’avoir un truc « en amont » de nos SMTP (comme ça on touche pas trop à nos configs de SMTP respectifs), qui fasse donc du SMTP mais tourne sur un autre port.
Concrètement on se connecterait à ce « SMTP fédéré », en local, avec une authentification spécifique.
Une fois connecté à ce service, il vérifierait :
- les quotas d’envoi liés au login indiqué
- le volume d’envoi habituel de ce login
- le nombre de bounces et de spams signalés (FBL) pour ce login pour les dernières X heures
- le nombre de bounces et de spams signalés pour ce CHATON sur les dernières X heures
Le but (n°1) est de bloquer très vite si un de nos utilisateurs s’est fait hacké et est utilisé pour envoyer du spam, ou de retarder par exemple en cas d’envoi suspect. Et donc qu’on puisse se faire confiance entre membres du réseau fédéré, que ce réseau ne puisse pas être utilisé par un des membres de manière malicieuse, ni qu’une faille chez un des membres puisse l’être par un tiers.
De même le service vérifierait que chaque adresse destinataire n’a pas déjà eu un bounce / signalement pour spam dans les derniers X jours. Dans ce cas on bloquerait les envois vers cette adresse, on ne laisserait passer vers cette adresse que des messages de vérification de l’adresse (avec un lien à cliquer par exemple).
Et ce au niveau de tout le réseau : si le chaton Z à envoyé un mail à invalide@hotmail.fr le jeudi qui est revenu en hard bounce, il faut que l’envoi du chaton Y à la même adresse le vendredi soit aussi directement bloqué.
Ici le but (n°2) est de s’assurer que nos adresses IP ne seront pas bloquées. Mais aussi d’améliorer la délivrabilité, et que le réseau ne tombe que rarement sur des adresses invalides, car on aura déjà une base de donnée des adresses invalides.
Note : les adresses e-mail ne seraient pas stockées en clair mais sous la forme d’un hash de l’adresse, permettant de limiter les risques en cas de fuite de la BDD. Mais il y a peut-être mieux pour protéger la vie privée…
Le service ferait aussi en sorte de répartir les envois au sein du réseau, afin que par exemple un envoi de newsletter à 100.000 destinataires se fasse manière égrénée dans le temps, depuis plusieurs adresses IP du réseau.
Là le but (n°3) est de faire en sorte que le volume d’envoi depuis chaque IP soit régulier. Exemple : Framasoft ne fait pas de service de mails, mais envoie une grosse newsletter une fois par an, c’est pas grave car on égrène l’envoi sur quelques jours, et en plus le volume ne sera pas énorme d’un coup car le réseau écoule déjà le volume habituel des mails de 10 chatons qui font de l’hébergement de boîtes mails, et 4 autres qui ont 300 listes de discussion actives, et donc le volume d’envoi quotidien est déjà dans les 10.000 mails / jour / IP.
Enfin le but n°4 est de détecter les blocages d’IP de la part d’un serveur destinataire (genre Orange) et de passer les envois vers ce fournisseur sur d’autres IP, le temps que ça se débloque. Pour cela il faudrait être très vigilant à ne pas provoquer un blocage en chaîne de plusieurs IP. Il faudrait aussi intégrer un réseau de surveillance des blacklists de nos IP…
Une fois tous les filtres passés, ce service utiliserait le « vrai » SMTP du serveur pour faire l’envoi définitif, ou alors (??) irait directement délivrer ça au SMTP destinataire (MX) mais là ça voudrait dire intégrer la gestion de DKIM… ce qui serait peut-être une bonne idée, je sais pas.
Tout cela serait assorti d’une API HTTP permettant de savoir si une adresse est invalide / bounce, et la réputation d’une IP / login expéditeur / CHATON, ainsi que de la possibilité pour chaque login expéditeur de configurer un webhook pour savoir si un envoi a fait un bounce.
Bref voilà c’est assez ambitieux, le but étant d’avoir AWS SES, mais en fédéré entre nous, et d’ailleurs ça peut servir à d’autres : une telle solution serait sûrement très utile dans une entreprise qui veut avoir son réseau d’envoi de mails aussi…
Moi je suis prêt à pousser pour que Paheko mette du budget de développement là-dessus, genre 10k€ Mais pas à le développer car pas le temps
Parce que de mon côté pouvoir faire du fallback manuel ailleurs en cas de blocage d’IP c’est pas suffisant car ça veut dire devoir gérer manuellement plein de trucs au niveau des mails. L’idée que j’expose est plus dans le sens de « SMTP as a service ».