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