|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
| Débuté par Baptiste - BLV TECH, 10 nov. 2017 16:16 - 9 réponses |
| |
| | | |
|
| |
Membre enregistré 261 messages |
|
| Posté le 10 novembre 2017 - 16:16 |
Bonjour,
Suite aux récents problèmes rencontré avec Gmail. Je cherche a externalisé l'envoi de mes mails.
Pour cela j'ai trouver la solution MailGun ( https://www.mailgun.com/ ) qui permet d'envoyer des mails ( 10 000 gratuit par mois ) et d'avoir un retour sur l'état d'envoi et de lecture entre autre.
MailGun étant RESTFull, j'aimerais travailler avec les Webservices REST sous Windev. Mon code est faux. Quelqu'un a déja travailer avec MailGun sous Windev ?
MaSendBox,Message sont des chaînes JSON est un Variant JSON.authorization.Type = "Basic Auth" JSON.authorization.Username = "api" JSON.authorization.Password = "MaCléDeCompte" JSON.headers.Accept = "text/json" JSON.body.from = "robot1@societe.fr" JSON.body.to = "baptiste@cloart.fr" JSON.body.subject = "test" JSON.body.test = "if you see this, it works"
Message = VariantVersJSON(JSON) Message = Remplace(Message,"text\/json","text/json")
MaSendBox = "MaSendBox"
Envoi est un restRequête Envoi.URL = ChaîneConstruit("https://api.mailgun.net/v3/%1/messages",MaSendBox) Envoi.Méthode = httpPost Envoi.Contenu = ChaîneVersUTF8(Message)
Reponse est un restRéponse = RESTEnvoie(Envoi) SI ErreurDétectée = Vrai ALORS Erreur(ErreurInfo(errMessage)) SINON Info(Reponse.Contenu) FIN
-- Baptiste CLOART Freelance b.cloart@blv-tech.com 06.88.74.80.65 www.linkedin.com/in/cloart www.blv-tech.comMessage modifié, 10 novembre 2017 - 16:17 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 603 messages |
|
| Posté le 11 novembre 2017 - 10:57 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 261 messages |
|
| Posté le 11 novembre 2017 - 12:29 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 280 messages |
|
| Posté le 12 novembre 2017 - 04:31 |
Bonjour,
MailJet est très bien parait-il. C'est dans mes tâches à faire...Prochainement.
Si tu pouvais nous fournir ton code cela me permettra d'accélérer mes recherches quand j'en serai là ! Je publierai mon code en retour afin que cela profite à tous.  Merci à toi, françois. 
-- Cordialement. Je vous souhaite une bonne journée depuis le Vietnam.
Olivier. http://www.impulse-web.com |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 962 messages |
|
| Posté le 12 novembre 2017 - 08:17 |
hello, Baptiste - BLV TECH a écrit :
Bonjour, Suite aux récents problèmes rencontré avec Gmail. Je cherche a externalisé l'envoi de mes mails. Pour cela j'ai trouver la solution MailGun ( https://www.mailgun.com/ ) qui permet d'envoyer des mails ( 10 000 gratuit par mois ) et d'avoir un retour sur l'état d'envoi et de lecture entre autre. MailGun étant RESTFull, j'aimerais travailler avec les Webservices REST sous Windev. Mon code est faux.
Le souci c'est qu'apparemment MailGun n'aime pas trop le Json en entrée. Voici un exemple de code qui fonctionne chez moi en utilisant le "Bac à sable" de MailGun (j'envoie bien et je reçois bien le message). Dans le code j'ai modifié certains paramètres comme la clé, le compte etc... par rapport au code original.
MaSendBox,Message sont des chaînes Expéditeur est une chaîne = "Mailgun Sandbox <postmaster@sandboxazzzzzzzzzzzzzzzzzzz.mailgun.org>" Destinataire est une chaîne = "Toi <moi@free.fr>" Sujet est une chaîne = "Hello Toi" CorpsMessage est une chaîne = "Congratulations Toi, you just sent an email with Mailgun! You are truly awesome héhé!" Message = ChaîneConstruit("from=%1&to=%2&subject=%3&text=%4",Expéditeur, Destinataire,Sujet,CorpsMessage) MaSendBox = "sandboxazzzzzzzzzzzzzzzzzzz.mailgun.org" Envoi est un restRequête Envoi.ContentType = "application/x-www-form-urlencoded" Envoi.URL = ChaîneConstruit("https://api.mailgun.net/v3/%1/messages",MaSendBox) Envoi.Utilisateur = "api" Envoi.MotDePasse = "key-happyKeyCodeHere" Envoi.Méthode = httpPost Envoi.Contenu = URLEncode(ChaîneVersUTF8(Message)) Reponse est un restRéponse = RESTEnvoie(Envoi) SI ErreurDétectée = Vrai ALORS Erreur(ErreurInfo(errMessage)) SINON Info(Reponse.Contenu) FIN
-- Ami calmant, J.P |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 261 messages |
|
| Posté le 12 novembre 2017 - 10:01 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 261 messages |
|
| Posté le 14 novembre 2017 - 16:49 |
Bonjour,
Voici mon code pour l'envoi multi destinatire avec corps HTML via MailGun :
MaSendBox est une chaîne = "***sandboxxxxxxxx.mailgun.org***" Expéditeur est une chaîne = "Automate BLV-TECH <no-reply@blv-tech.com>" Destinataire est une chaîne = "FBI@NSA.COM" DestinataireCC est une chaîne = "baptiste@GIGN.fr,baptiste.cloart@DGSI.com" Sujet est une chaîne = "Hello World !" LeMessage est une chaîne = ChaîneConstruit("from=%1&to=%2&subject=%3&cc=%4",Expéditeur, Destinataire,Sujet,DestinataireCC) UrlFinal est une chaîne = ChaîneVersUTF8(ChaîneConstruit("https://api.mailgun.net/v3/%1/messages?%2",MaSendBox,LeMessage)) HTTPCréeFormulaire("Mail_form") HTTPAjouteParamètre("Mail_form", "html", fChargeTexte(ChaîneConstruit("%1\mail_pour_test\email-template-responsive.html",SysRep(srBureau)))) LaRéponse est un booléen = HTTPEnvoieFormulaire("Mail_form" , UrlFinal , httpPost ,"","",typeMimeFormulaireMultiPartie , "api" ,"***CLE MAILGUN***") SI LaRéponse = Vrai ALORS Erreur(ErreurInfo(errMessage)) SINON Info("Message envoyé !") FIN
J'ai fait des essai avec l'API Gmail mais je reçois l'erreur "recipient adress required", sur la doc de google, ils indiquent qu'il faut mettre, dans le corps de requête, ceci : { "raw" = mail encodé en base64 } Malgré mes tentatives il semblerait que l'api google ne lit pas mon raw via mon code, car mon raw fonctionne sur l'api explorer (https://developers.google.com/gmail/api/v1/reference/users/messages/send).
Une idée ?
Voici le code :
Mon_id est une chaîne = "MonCompteGMail@gmail.com" MonMessage est un Email MonMessage..Expediteur = "Automate BLV-TECH" MonMessage..AdresseExpéditeur = "no-reply@blv-tech.com" MonMessage..Destinataire[1] = "test@test.fr" MonMessage..Sujet = "test sujet" MonMessage..Message = "test mess" SI EmailConstruitSource(MonMessage) ALORS MonMail est un restRequête MonMail.ContentType = "message/rfc822" MonMail.URL = ChaîneConstruit("https://www.googleapis.com/upload/gmail/v1/users/%1/messages/send?uploadType=media",Mon_id) MonMail.Méthode = httpPost MonMail.Contenu =URLEncode("{"+RC+" ""raw"" : """+ Encode(MonMessage..Source,encodeBASE64URL)+""","+RC+"}") MonMail..Entête["Authorization"] ="Bearer ***ACCES TOKKEN GMAIL***" LaRéponse est un restRéponse = RESTEnvoie(MonMail) SI ErreurDétectée = Vrai ALORS Erreur(ErreurInfo(errMessage)) SINON Info(LaRéponse.Contenu) FIN FIN
Voici le message de retour de l'API Gmail :

-- Baptiste CLOART Freelance b.cloart@blv-tech.com 06.88.74.80.65 www.linkedin.com/in/cloart www.blv-tech.com |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 261 messages |
|
| Posté le 15 novembre 2017 - 08:53 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 261 messages |
|
| Posté le 19 novembre 2017 - 11:40 |
Complément pour envoi de pièces jointes via MailGun :
HTTPCréeFormulaire("MAIL") HTTPAjouteParamètre("MAIL", "html", CorpsMessage)
POUR TOUT UnePJ de Email.PièceJointes CompteurPJ++ HTTPAjouteFichier("MAIL", ChaîneConstruit("attachment[%1]",CompteurPJ),UnePJ.Chemin) FIN
EnvoiReussi est un booléen = HTTPEnvoieFormulaire("MAIL",ChaîneConstruit(URL,Domaine,LeMessage),httpPost,"Ma société","","multipart/form-data","api",***CléAPIMailGun***)
PS : Je suis toujours bloqué sur les envoi de Mail par les API Gmail -- Baptiste CLOART Freelance b.cloart@blv-tech.com 06.88.74.80.65 www.linkedin.com/in/cloart www.blv-tech.comMessage modifié, 19 novembre 2017 - 11:43 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 261 messages |
|
| Posté le 03 décembre 2017 - 10:29 |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|