Utilisation

Voici comment fonctionne le projet :

  1. Renseigner un fichier Google Form connecté à un Google Sheet.

  2. Le script lit automatiquement les contacts du sheet (via le nom donné).

  3. Chaque contact reçoit un e-mail distinct.

  4. On peut personnaliser le message, le sujet, et même ajouter une pièce jointe.

Pré-requis : Python 3.10+, .env, mots de passe d’application Gmail, etc.

Abrescence du projet::

emailing_project/ ├── main.py ├── .env ├── requirements.txt ├── emailXender/ │ └── sendEmail.py ├── sheet/ │ ├── contact.py │ ├── readSheet.py │ └── secret/ │ └── credentials.json – ignoré par Git

Connexion à Google Sheet

  • Aller sur Google Cloud Console

  • Créer un nouveau projet

  • Activer les APIs :
    • Google Sheets API

    • Google Drive API

  • Créer un compte de service

  • Générer une clé au format JSON

  • Partager votre Google Sheet avec l’e-mail du compte de service en mode lecture

  • Le fichier JSON est utilisé dans readSheet.py pour s’authentifier via la bibliothèque gspread.

Service d’envoi de mail

Ce service permet : - D’envoyer le même e-mail à plusieurs destinataires - D’envoyer chaque mail de façon individuelle et privée - D’inclure pièce jointe (à venir)

Attention

⚠️ Contraintes actuelles : Seul l’auteur peut envoyer les mails (avec son Gmail) Pour permettre à quelqu’un d’autre de l’utiliser, il faut : - Soit utiliser ton compte de service - Soit refaire la configuration sur son propre compte Google Cloud

Sécurité avec .env

Les données sensibles sont stockées dans un fichier .env : expediteurMail=ton@email.com gmailPass=mot_de_passe_application credentialGoogle=sheet/secret/credentials.json Ce fichier est ignoré par Git (voir .gitignore). Exigences sur le Sheet

Note

Le fichier Google Sheet doit contenir au minimum ces colonnes : - Nom - Prénom - Email

Cas d’usage Exemples d’utilisation : 1. Invitations personnalisées à un événement 2. Envoi de newsletters sans plateforme tierce 3. Distribution de documents ou de bulletins