Spam par Mail

Introduction

Le projet Spam Mail est mon tout premier projet de programmation, réalisé en Python. Bien que j’aie toujours été passionné par l’informatique, ce n’est qu’en classe préparatoire que j’ai commencé à apprendre à coder. Ce projet est né d’une combinaison de curiosité, d’un contexte particulier (la période des confinements liés au COVID), et d’une envie de faire une blague à un camarade de classe tout en m’exerçant au code.

À cette époque, nous communiquions beaucoup par mail avec nos professeurs et nos camarades de classe. J’ai donc eu l’idée de créer un script pour envoyer automatiquement plusieurs mails à un camarade, en restant ludique et non malveillant.

Objectif et réflexion initiale

Le but du projet était de spammer une boîte mail de manière amusante, mais cela nécessitait de contourner les filtres anti-spam déjà bien développés par les services de messagerie. Après quelques recherches, j’ai identifié trois principaux critères qui pouvaient déclencher ces filtres :

  1. Un temps identique entre les envois : Les mails envoyés à intervalle fixe sont rapidement détectés comme suspects.

  2. Un contenu identique : Les mails avec un texte répétitif sont également marqués comme spam.

  3. Une même adresse d’envoi pour un grand nombre de mails : Ce comportement est surveillé par les serveurs de messagerie.

Pour répondre à ces contraintes, j’ai élaboré des solutions :

  • Générer un délai aléatoire entre chaque envoi en utilisant la bibliothèque time de Python.

  • Construire des objets et des contenus aléatoires à partir d’un dictionnaire de mots pour chaque mail.

  • Accepter que ma blague atteigne ses limites au bout de 20 mails environ, car je ne voulais pas créer plusieurs adresses mail et aller trop loin dans ma démarche.

Implémentation et fonctionnement

Le script est écrit en Python et utilise la bibliothèque smtplib pour envoyer les mails via un serveur SMTP. Voici les étapes principales du fonctionnement :

  1. L’utilisateur entre l’adresse du destinataire et le nombre de mails à envoyer.

  2. Le script génère aléatoirement :

    • Un objet à partir d’un nombre aléatoire de mots issus d’un fichier texte.

    • Un contenu également construit de manière aléatoire avec des mots du même fichier.

  3. À chaque envoi, le script :

    • Attends un délai aléatoire compris entre 15 et 60 secondes.

    • Se connecte au serveur SMTP, envoie le mail, puis se déconnecte.

  4. Le script répète l’opération jusqu’à ce que tous les mails aient été envoyés.

Malheureusement, ce projet ne fonctionne plus aujourd’hui en raison des nouvelles politiques de sécurité, notamment l’authentification à deux facteurs imposée par Gmail pour accéder aux serveurs SMTP.

Considérations éthiques

Bien que ce projet soit avant tout une blague entre camarades, il soulève des questions éthiques. Je tiens à préciser que :

  • Le code ne sera pas publié pour éviter tout usage malveillant.

  • Je déconseille fortement d’utiliser ce type de script à des fins nuisibles ou pour porter atteinte à quelqu’un.

  • Ce projet était purement éducatif et humoristique dans un contexte amical.

Pourquoi ce projet est important pour moi ?

Ce projet marque le début de mon parcours en programmation. Il représente une étape où j’ai pu dépasser mes appréhensions initiales sur la complexité du code, tout en découvrant les immenses possibilités offertes par la programmation. Même si le script est aujourd’hui obsolète, il reste un souvenir marquant de mes débuts en programmation.