Envoyer une pièce jointe avec un .batch

Needix59 Messages postés 469 Statut Membre -  
barnabe0057 Messages postés 14329 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

2 réponses

  1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    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
    1. Needix59 Messages postés 469 Statut Membre 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
    2. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930 > Needix59 Messages postés 469 Statut Membre
       
      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
    3. Needix59 Messages postés 469 Statut Membre 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
    4. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930 > Needix59 Messages postés 469 Statut Membre
       
      De rien, à demain.
      0
    5. Needix59 Messages postés 469 Statut Membre 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
  2. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    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
    1. Needix59 Messages postés 469 Statut Membre 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
      1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930 > Needix59 Messages postés 469 Statut Membre
         
        Bonjour,

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