Afficher le mail reçu dans le programme batch

Fermé
azerty_9138 Messages postés 54 Date d'inscription dimanche 17 novembre 2019 Statut Membre Dernière intervention 17 janvier 2023 - Modifié le 5 juin 2021 à 20:04
barnabe0057 Messages postés 14439 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 14 avril 2024 - 6 juin 2021 à 11:06
Bonjour,

j'ai fait un programme qui permet d'envoyer des mails avec le batch a une autre adresse mail, on peut définir le destinataire, l'objet, le texte et la pièce jointe.

Sa marche bien pour envoyer des mails mais il manque quelque chose d'important c'est de pouvoir lire un mail qu'on reçois de la part de l'expéditeur avec le batch.

J'ai vu quelque piste par exemple : utiliser un autre type de serveur comme (IMAP ou POP) qui permet de recevoir le flux des mail entrent.

il faudrait pouvoir avoir un moyen de récupérer : le destinataire, l'objet, le texte et la pièce jointe pour en suite l'afficher sur le batch.

il aurait surement une autre solution c'est peut-être de télécharger le mail ou la pièce jointe (en format .txt) pour en suite l'afficher dans le programme.


@echo off

::ATTENTION dans les parametre du compte google, aller sur Autoriser les applications moins sécurisées

set /p email=destinataire :
set /p objet=objet :
set /p mail=message :
set /p it=vouler vous ajouter une piece jointe oui ou non :
if /i %it%==oui set /p pj=entrer le chemin de la piece jointe :

echo.


(
Echo Set objEmail = CreateObject("CDO.Message"^)


Echo With objEmail
Echo .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing"^) = 2
Echo .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver"^) = "smtp.gmail.com"
Echo .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"^) = 1
Echo .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername"^) = "MonMail@gmail.com"
Echo .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword"^) = "MonMotdepasse"
Echo .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport"^) = 465
Echo .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl"^) = True
Echo .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"^) = 60
Echo .Configuration.Fields.Update
Echo .AddAttachment ("%pj%"^)
Echo 'objEmail.Textbody = "Server1 is no longer accessible over the network."
Echo 'objEmail.HTMLBody = "<font face=arial color=blue>Server1 is no longer accessible over the network.</font>
Echo 'objEmail.CreateMHTMLBody "http://www.google.com.hk/"
Echo 'objEmail.CreateMHTMLBody "file://c|/test.htm"
Echo End With


Echo '*** fin de la section de configuration du serveur SMTP à distance ***
Echo WScript.Echo "enviando e-mail..."
Echo With ObjEmail
Echo .From = "MonMail@gmail.com"
Echo .To = "%email%"
Echo .Subject = "%objet%"
Echo .HTMLBody = "<p><b>%mail%</b></p>"
Echo End With
Echo 'probleme d'envoie
Echo objEmail.Send
Echo WScript.Echo ""
Echo WScript.Echo "Email envoyer avec succes."
Echo Set objEmail = Nothing
)>"%tmp%\SendEmail.vbs"
CScript %tmp%\SendEmail.vbs //nologo

pause
Del %tmp%\SendEmail.vbs


Je pense qu'il faudrait faire l'inverse du programme avec d'autre commande remplacer.

Si vous avez une idée ou solution n'hésité pas a répondre,

Merci d'avance
A voir également:

1 réponse

barnabe0057 Messages postés 14439 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 14 avril 2024 4 905
6 juin 2021 à 11:06
0