Remplissage automatisé de messages individuels
Résolu/Fermébarnabe0057 Messages postés 14453 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 24 novembre 2024 - 21 sept. 2022 à 18:44
- Remplissage automatisé de messages individuels
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Comment savoir si quelqu'un lit mes messages sur whatsapp - Accueil - Messagerie instantanée
- Messages supprimés whatsapp - Guide
- Excel remplissage automatique selon valeur ✓ - Forum Excel
- Ce compte ne peut pas recevoir vos messages car il n’autorise aucune invitation par message ✓ - Forum Facebook Messenger
3 réponses
13 sept. 2022 à 11:24
Bonjour,
Techniquement c'est possible en passant par un script qui automatise la création et l'envoi de chaque email.
Le problème c'est que si tu ne passes pas par un service d'emailing tel que Mailchimp ou SendinBlue, tu vas devoir pas mal fragmenter les envois car aucun fournisseur de messagerie ne te laissera envoyer 5000 emails, au mieux je dirais 500 par jour maximum (en passant par Gmail).
16 sept. 2022 à 20:43
...
Modifié le 21 sept. 2022 à 19:03
Voilà le script ms-dos pour faire de l'emailing de masse à partir d'une liste contacts contenus dans un fichier .csv (provenant de la conversion d'un fichier Excel) :
@echo off mode con cols=120 lines=30 title %~nx0 color 0F : -------------------------------------------------------------------------------------- : on définit l'encodage des caractères pour la console : -------------------------------------------------------------------------------------- ver | find "10.0." >nul && chcp 65001 >nul || chcp 28591 >nul ver | find "11.0." >nul && chcp 65001 >nul : -------------------------------------------------------------------------------------- : on définit les variables : -------------------------------------------------------------------------------------- setlocal enableextensions enabledelayedexpansion set "password=1234" set /a delaiEntreDeuxSeries=5200 set /a delaiEntreDeuxEnvois=1 set "log=journal_des_envois.txt" rem attention : ne surtout pas modifier les 2 variables ci-dessous set /a totalAEnvoyer=0 set /a nbEnvois=0 : -------------------------------------------------------------------------------------- : on vérifie les pré-requis : -------------------------------------------------------------------------------------- cd /d %~dp0\config || exit /b 1 if not exist "SwithMail.exe" (exit /b 1) if not exist "SwithMailSettings.xml" (exit /b 1) if not exist "emailing_template.txt" (exit /b 1) for %%A in (contacts*.csv) do set "contacts=%%A" if not defined contacts (exit /b 1) : -------------------------------------------------------------------------------------- : on définit la limite d'envois max par heure : -------------------------------------------------------------------------------------- :choix set "limiteEnvois=" cls & echo. & set /p limiteEnvois="Veuillez indiquer le nombre maxi d'envois par heure (150 par défaut) : " if not defined limiteEnvois (set /a limiteEnvois=150) set "validation=" echo. & set /p validation="Merci de confirmer de choix (!limiteEnvois! envois par heure) (O)ui-(N)on : " if not defined validation (goto :choix) set "validation=!validation: =!" if not "!validation!"=="o" (if not "!validation!"=="O" (goto :choix)) echo. & echo ###################################### DEMARRAGE DES ENVOIS DE COURRIELS ###################################### : -------------------------------------------------------------------------------------- : on détermine le nombre d'envois à effectuer ainsi que les envois restants : -------------------------------------------------------------------------------------- for /f "delims=" %%A in ('findstr "@" "%contacts%"') do set /a totalAEnvoyer+=1 if exist "%log%" (for /f "delims=" %%A in ('type "%log%"') do set /a nbEnvois+=1) : -------------------------------------------------------------------------------------- : on déclenche l'envoi d'un email pour chaque contact du fichier : -------------------------------------------------------------------------------------- for /f "tokens=1,2,3,* delims=;" %%A in ('findstr "@" "%contacts%"') do call :envoi "%%~A" "%%~B" "%%~C" "%%~D" echo. & echo ######################################### FIN DES ENVOIS DE COURRIELS ######################################### echo. & pause exit /b 0 : -------------------------------------------------------------------------------------- : fonction d'envoi d'email : -------------------------------------------------------------------------------------- :envoi rem on n'envoie pas si l'envoi/courriel figure déjà dans le fichier journal if exist "%log%" (findstr /l %1 "%log%" >nul && goto :eof) timeout /t %delaiEntreDeuxEnvois% /nobreak >nul call :horodatage SwithMail.exe /s /x "SwithMailSettings.xml" /pass %password% /to %1 /btxt "emailing_template.txt" /p1 %3 /p2 %2 /p3 %4 /l "%log%" if %ERRORLEVEL%==0 (set "etat=réussi") else (set "etat=échoué") echo. & echo ^>^>^> Envoi !etat! le !maDate! à !heure! ==^>^> "%~4" [%~1] call :progression call :temporisation goto :eof : -------------------------------------------------------------------------------------- : fonction pour afficher la progression des envois : -------------------------------------------------------------------------------------- :progression set /a nbEnvois+=1 set /a pourcent=!nbEnvois!*100/%totalAEnvoyer% title Progression des envois : !pourcent! %% [!nbEnvois! sur %totalAEnvoyer%] goto :eof : -------------------------------------------------------------------------------------- : fonction pour temporiser si la limite est atteinte : -------------------------------------------------------------------------------------- :temporisation set /a modulo=!nbEnvois! %% !limiteEnvois! if !modulo! equ 0 ( echo. & echo ################################### LIMITE ATTEINTE - TEMPORISATION EN COURS ################################## timeout /t %delaiEntreDeuxSeries% /nobreak echo. & echo ########################################### FIN DE LA TEMPORISATION ########################################### ) goto :eof : -------------------------------------------------------------------------------------- : fonction pour récupérer la date et l'heure : -------------------------------------------------------------------------------------- :horodatage for /f "tokens=1,2,3 delims=/ " %%a in ('date /t') do set "maDate=%%a-%%b-%%c" for /f "tokens=1,2 delims=:" %%a in ('time /t') do set "heure=%%a:%%b:%time:~6,2%" goto :eof
#
Le script .bat (ci-dessus) nécessite la présence d'un dossier "config" contenant ceci :
- le fichier "SwithMail.exe" disponible ici : https://sourceforge.net/projects/swithmail/
- un fichier "contacts.csv" contenant 4 colonnes (email, nom, prénom, société)
- un fichier "emailing_template.txt" contenant le corps du message (éventuellement en HTML)
- un fichier "SwithMailSettings.xml" contenant les paramètres d'envoi, par exemple :
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <SwithMailSettings> <ServerSettings> <FromName>Toto Lasticot</FromName> <FromAddress>toto.lasticot@gmail.com</FromAddress> <Username /> <Password>jvcj12hlvbb75lbljhb</Password> <ObscurePassword>False</ObscurePassword> <MailServer>smtp.gmail.com</MailServer> <MailServerPort>587</MailServerPort> <SSL>True</SSL> <Encoding /> <RequestReceipt>False</RequestReceipt> <MessageID>True</MessageID> </ServerSettings> <EmailAddresses> <To /> <CC /> <BCC /> <ReplyTo>toto.lasticot@gmail.com</ReplyTo> </EmailAddresses> <Attachments> <AttachmentPath /> </Attachments> <EmailContent> <HTML>True</HTML> <DontReplaceNewLine>False</DontReplaceNewLine> <Subject>Candidature spontanée</Subject> <Body /> <BodyTxtFile /> </EmailContent> </SwithMailSettings>
ps : ce fichier .xml est configuré pour des envois à partir d'une adresse Gmail (préalablement configurée pour autoriser le relai d'emails)
Modifié le 13 sept. 2022 à 11:45
Merci beaucoup pour cette réponse.
Sais-tu à qui puis-je m'adresser pour qu'il me fasse un tel script ? J'imagine que ce n'est pas très compliqué, mais ce n'est absolument pas mon domaine de connaissances.
Merci également pour les précisions concernant le nombre maximal de mails journaliers. Je ne les envoie pas avec gmail mais avec mon propre domaine (chez ovh). Je crois qu'ils ont une limite de 200 mails par heure. Quoi qu'il en soit, je pense qu'il est prudent de ne pas abuser en envoyant tout le même jour!
Modifié le 13 sept. 2022 à 11:52
Je peux te faire le script, ça sera un script .bat
Pour l'envoi de mail je passerai par la commande externe SwithMail.
Il faudrait que tu me fournisses le modèle et la structure de la liste.
Est-ce que OVH autorise le relai de messages ?
Quel est le format de la liste d'emails (xls, csv, txt) ?
13 sept. 2022 à 14:35
Merci beaucoup pour ta proposition !
Je viens de faire des recherches sur le site de OVH mais n'ai pas trouvé cette information. Je vais leur demander. Est-ce quelque chose que j'aurais pu constater de moi-même par la pratique ? (je ne fais qu'envoyer des mails pro via Thunderbird avec ce mail-là).
Comment puis-je te contacter en privé ?
13 sept. 2022 à 14:54
Pour les messages privés, clique sur mon pseudo.
13 sept. 2022 à 17:50
Je crois qu'il te faut un compte pour pouvoir m'envoyer des mp