Afficher le mail reçu dans le programme batch

Signaler
Messages postés
40
Date d'inscription
dimanche 17 novembre 2019
Statut
Membre
Dernière intervention
5 juin 2021
-
Messages postés
13510
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
10 juin 2021
-
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

1 réponse

Messages postés
13510
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
10 juin 2021
4 383