Envoi de mail par données Microsoft Azure (WD28)
Je dois envoyer une série de mail (facture clients) par cette méthode. Le problème est qu'il envoie parfaitement le premier , mais n'envoie pas les suivants. Comme si il manquait si c'était la méthode SMTP: EmailFermeSession(gSessionSMTP)
Merci pour votre aide
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
Requête est une restRequête
Réponse est une httpRéponse
Token est un JSON
MonMessage est un Email
monAttache est un emailAttache
sClientId est une chaîne = "xxxxxxxx-xxxxx-4f7d-xxxxxxxx-xxxxxxxxx" // ID Client Azure // par soucis de protection j'ai remplacé les vraies valeurs par des "x"
sTenantId est une chaîne = "xxxxxxxx-xxxx-xxxxxxx-xxxxxx-xxxxxxxx" // Id Locataire Azure // par soucis de protection j'ai remplacé les vraies valeurs par des "x"
sClientSecret est une chaîne = "xxxxxx~xxxxx_xxxxxxxxxxxxxxxxxxxxxxxx" // Secret Azure /// // par soucis de protection j'ai remplacé les vraies valeurs par des "x"
sURI est une chaîne = "https://login.microsoftonline.com/%1/oauth2/v2.0/token"
// Requête pour obtenir un token...
Requête..URL = ChaîneConstruit(sURI, sTenantId)
Requête..Méthode = httpPost
Requête..ContentType = "application/x-www-form-urlencoded"
HTTPCréeFormulaire("FORM_TOKEN")
HTTPAjouteParamètre("FORM_TOKEN","grant_type","client_credentials")
HTTPAjouteParamètre("FORM_TOKEN","client_id",sClientId)
HTTPAjouteParamètre("FORM_TOKEN","client_secret", sClientSecret)
HTTPAjouteParamètre("FORM_TOKEN","scope","https://graph.microsoft.com/.default")
Réponse = HTTPEnvoieFormulaire("FORM_TOKEN",Requête)
Token = Réponse..Contenu // le token
// Requête pour envoyer l'email grâce au token d'autorisation obtenu...
VariableRAZ(Requête)
sExpéditeur est une chaîne = "Expediteur@groupjenn.fr" //Expéditeur
sURI = "https://graph.microsoft.com/v1.0/users/%1/sendMail"
sURI = ChaîneConstruit(sURI, sExpéditeur )
// Ou suivant le cas : "https://graph.microsoft.com/v1.0/me/sendMail"
// Construction de l'email avec le type Email standard du WLangage...
sFichier est une chaîne = "c:\temp\exemple-image.jpg"
MonMessage.Message = "Mon email texte"
MonMessage.Expediteur = sExpéditeur
MonMessage.Sujet = "Test : API Graph Microsoft"
MonMessage.Destinataire.Ajoute("momo@gmail.com") // Destinataire
monAttache.Nom = fExtraitChemin(sfichier, fFichier + fExtension)
monAttache.Contenu = fChargeBuffer(sfichier)
monAttache.ContentType = "application/pdf"
monAttache.ContentDescription = monAttache.Nom
*
// Construction d'un buffer contenant la totalité de l'email (comme un .EML)
MessageEnBuffer est un Buffer
MonMessage.ConstruitSource(emailOptionEncodeEntête)
MessageEnBuffer = MonMessage.Source
MessageEnBuffer = MessageEnBuffer.Encode(encodeBASE64)
// Requête pour envoyer le message
Requête..URL = sURI
Requête..Méthode = httpPost
Requête..ContentType = "text/plain"
Requête.Entête["Authorization"] = Token.token_type+" "+Token.access_token
Requête.Contenu = MessageEnBuffer
Réponse = RESTEnvoie(Requête)
// SI Réponse.CodeEtat = 202 ALORS OK... |