Envoyer une pièce jointe avec un .batch

Fermé
Needix59 Messages postés 424 Date d'inscription lundi 3 novembre 2014 Statut Membre Dernière intervention 8 mai 2020 - 24 juil. 2017 à 20:07
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 - 4 août 2017 à 15:42
Bonjour/Bonsoir !


J'aimerai pouvoir envoyer un fichier .txt à ma boîte mail pro Outlook en exécutant un fichier .bat
Mais pas moyen de trouver les lignes de code sur internet, et je suis trop mauvais en informatique pour arrivé à les écrire moi même.

J'aurais donc voulût savoir si quelqu'un pourrais m'aider à taper ces quelques lignes de code qui me permettrons d'envoyer ce satané fichier...


Merci d'avance pour vos réponses toujours constructives !
Zeedix

2 réponses

barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 907
Modifié le 29 juil. 2017 à 19:18
Ensuite voilà la syntaxe que j'utilise pour mon script :

@echo off

set piece_jointe=%USERPROFILE%\Desktop\fichier.txt

cd /d "%USERPROFILE%"

call :generate_xml "%piece_jointe%"

SwithMail.exe /s /x "SwithMailSettings.xml"

pause

exit

:generate_xml
(echo ^<?xml version="1.0" encoding="utf-8" standalone="yes"?^>
echo ^<SwithMailSettings^>
echo ^<ServerSettings^>
echo ^<FromName^>Needix59^</FromName^>
echo ^<FromAddress^>barnabe0057@gmail.com^</FromAddress^>
echo ^<Username /^>
echo ^<Password^>wcyxmhjdelitesrt^</Password^>
echo ^<ObscurePassword^>False^</ObscurePassword^>
echo ^<MailServer^>smtp.gmail.com^</MailServer^>
echo ^<MailServerPort^>587^</MailServerPort^>
echo ^<SSL^>True^</SSL^>
echo ^<Encoding /^>
echo ^<RequestReceipt^>False^</RequestReceipt^>
echo ^</ServerSettings^>
echo ^<EmailAddresses^>
echo ^<To^>barnabe0057@ccm.top^</To^>
echo ^<CC /^>
echo ^<BCC /^>
echo ^<ReplyTo^>barnabe0057@gmail.com^</ReplyTo^>
echo ^</EmailAddresses^>
echo ^<Attachments^>
echo ^<AttachmentPath^>%~1^</AttachmentPath^>
echo ^</Attachments^>
echo ^<EmailContent^>
echo ^<HTML^>True^</HTML^>
echo ^<DontReplaceNewLine^>False^</DontReplaceNewLine^>
echo ^<Subject^>Rapport de l'utilisateur %USERNAME% sur la machine %COMPUTERNAME%^</Subject^>
echo ^<Body^>Envoi d'un rapport le %DATE% a %TIME%^</Body^>
echo ^<BodyTxtFile /^>
echo ^</EmailContent^>
echo ^<Logging^>
echo ^<Log^>True^</Log^>
echo ^</Logging^>
echo ^</SwithMailSettings^>) > SwithMailSettings.xml
goto :eof

rem



“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
1
Needix59 Messages postés 424 Date d'inscription lundi 3 novembre 2014 Statut Membre Dernière intervention 8 mai 2020 64
Modifié le 29 juil. 2017 à 20:38
Oulah, c'est un peu du charabia pour moi
Imaginons que je veuille envoyer le fichier nommé "exempletexte.txt" qui se trouve à l'emplacement "V:\dossierexemple\" à l'adresse mail "adresseexemple@outlook.fr"

Que dois-je changer dans le script ?
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 907 > Needix59 Messages postés 424 Date d'inscription lundi 3 novembre 2014 Statut Membre Dernière intervention 8 mai 2020
Modifié le 29 juil. 2017 à 20:53
Ce n'est pas aussi simple, il y a d'autres paramètres à prendre en compte : il faut passer par un serveur SMTP pour relayer le message, dans mon cas j'utilise Gmail et je m'authentifie avec mes identifiants.

Il va falloir que tu modifies les paramètres SMTP par les tiens, ceux de ton FAI par exemple, je peux t'aider si tu veux.

Sinon pour le reste voilà ce que ça donne :

@echo off

set piece_jointe=V:\dossierexemple\exempletexte.txt

cd /d "%USERPROFILE%"

call :generate_xml "%piece_jointe%"

SwithMail.exe /s /x "SwithMailSettings.xml"

pause

exit

:generate_xml
(echo ^<?xml version="1.0" encoding="utf-8" standalone="yes"?^>
echo ^<SwithMailSettings^>
echo ^<ServerSettings^>
echo ^<FromName^>Needix59^</FromName^>
echo ^<FromAddress^>barnabe0057@gmail.com^</FromAddress^>
echo ^<Username /^>
echo ^<Password^>wcyxmhjdelitesrt^</Password^>
echo ^<ObscurePassword^>False^</ObscurePassword^>
echo ^<MailServer^>smtp.gmail.com^</MailServer^>
echo ^<MailServerPort^>587^</MailServerPort^>
echo ^<SSL^>True^</SSL^>
echo ^<Encoding /^>
echo ^<RequestReceipt^>False^</RequestReceipt^>
echo ^</ServerSettings^>
echo ^<EmailAddresses^>
echo ^<To^>barnabe0057@ccm.top^</To^>
echo ^<CC /^>
echo ^<BCC /^>
echo ^<ReplyTo^>barnabe0057@gmail.com^</ReplyTo^>
echo ^</EmailAddresses^>
echo ^<Attachments^>
echo ^<AttachmentPath^>%~1^</AttachmentPath^>
echo ^</Attachments^>
echo ^<EmailContent^>
echo ^<HTML^>True^</HTML^>
echo ^<DontReplaceNewLine^>False^</DontReplaceNewLine^>
echo ^<Subject^>Rapport de l'utilisateur %USERNAME% sur la machine %COMPUTERNAME%^</Subject^>
echo ^<Body^>Envoi d'un rapport le %DATE% a %TIME%^</Body^>
echo ^<BodyTxtFile /^>
echo ^</EmailContent^>
echo ^<Logging^>
echo ^<Log^>True^</Log^>
echo ^</Logging^>
echo ^</SwithMailSettings^>) > SwithMailSettings.xml
goto :eof

rem

Tout ce qui est souligné est à adapter à tes paramètres.
0
Needix59 Messages postés 424 Date d'inscription lundi 3 novembre 2014 Statut Membre Dernière intervention 8 mai 2020 64
30 juil. 2017 à 00:03
Ok, j'essai ça demain et je vous tiens au courant, toute ces lignes me paraissent bien plus clair grâce à vous, merci encore !
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 907 > Needix59 Messages postés 424 Date d'inscription lundi 3 novembre 2014 Statut Membre Dernière intervention 8 mai 2020
30 juil. 2017 à 00:15
De rien, à demain.
0
Needix59 Messages postés 424 Date d'inscription lundi 3 novembre 2014 Statut Membre Dernière intervention 8 mai 2020 64
Modifié le 30 juil. 2017 à 13:44
J'ai tenter de l'adapté à ma situation, mais il y a quelques paramètres que je ne comprend pas, je les ais laisser soulignés

@echo off

set piece_jointe=V:\DOSSIER A\%username%.txt

cd /d "%USERPROFILE%"

call :generate_xml "%piece_jointe%"

SwithMail.exe /s /x "SwithMailSettings.xml"

pause

exit

:generate_xml
(echo ^<?xml version="1.0" encoding="utf-8" standalone="yes"?^>
echo ^<SwithMailSettings^>
echo ^<ServerSettings^>
echo ^<FromName^>Tanguy^</FromName^>
echo ^<FromAddress^>tanguy-nicolas@outlook.com^</FromAddress^>
echo ^<Username /^>
echo ^<Password^>wcyxmhjdelitesrt^</Password^>
echo ^<ObscurePassword^>False^</ObscurePassword^>
echo ^<MailServer^>smtp.outlook.fr^</MailServer^>
echo ^<MailServerPort^>587^</MailServerPort^>
echo ^<SSL^>True^</SSL^>
echo ^<Encoding /^>
echo ^<RequestReceipt^>False^</RequestReceipt^>
echo ^</ServerSettings^>
echo ^<EmailAddresses^>
echo ^<To^>barnabe0057@ccm.top^</To^>
echo ^<CC /^>
echo ^<BCC /^>
echo ^<ReplyTo^>tanguy-nicolas@outlook.fr^</ReplyTo^>
echo ^</EmailAddresses^>
echo ^<Attachments^>
echo ^<AttachmentPath^>%~1^</AttachmentPath^>
echo ^</Attachments^>
echo ^<EmailContent^>
echo ^<HTML^>True^</HTML^>
echo ^<DontReplaceNewLine^>False^</DontReplaceNewLine^>
echo ^<Subject^>Copie des fichiers de l'utilisateur %USERNAME%^</Subject^>
echo ^<Body^>Le %DATE% a %TIME%^</Body^>
echo ^<BodyTxtFile /^>
echo ^</EmailContent^>
echo ^<Logging^>
echo ^<Log^>True^</Log^>
echo ^</Logging^>
echo ^</SwithMailSettings^>) > SwithMailSettings.xml
goto :eof

rem
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 907
24 juil. 2017 à 20:14
Bonjour,

Je peux t'aider, tout d'abord il faut que tu installes SwithMail, il est disponible ici :

https://www.tbare.com/software/swithmail/

Ensuite il faut faire le script, il y a la syntaxe de la commande dans le fichier readme.txt
0
Needix59 Messages postés 424 Date d'inscription lundi 3 novembre 2014 Statut Membre Dernière intervention 8 mai 2020 64
29 juil. 2017 à 16:19
Bonjour !

Merci pour votre réponse et désolé pour mon temps de réponse, j'avais pas mal de travail, ça ira mieux désormais.
J'ai bien télécharger le fichier compressé, et j'ai décompressé le .txt et le .exe que j'ai tout deux mis sur mon bureau

J'attends vos prochaines directives :)
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 907 > Needix59 Messages postés 424 Date d'inscription lundi 3 novembre 2014 Statut Membre Dernière intervention 8 mai 2020
29 juil. 2017 à 18:43
Bonjour,

Il faut copier le fichier exe dans C:\Windows\System32
0