Envoyer une pièce jointe avec un .batch

Needix59 Messages postés 424 Date d'inscription   Statut Membre Dernière intervention   -  
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   -
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
A voir également:

2 réponses

barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
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   Statut Membre Dernière intervention   66
 
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 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925 > Needix59 Messages postés 424 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   66
 
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 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925 > Needix59 Messages postés 424 Date d'inscription   Statut Membre Dernière intervention  
 
De rien, à demain.
0
Needix59 Messages postés 424 Date d'inscription   Statut Membre Dernière intervention   66
 
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 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
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   Statut Membre Dernière intervention   66
 
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 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925 > Needix59 Messages postés 424 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

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