PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile (précédentes versions) → contrôler l'envoi d'un mail android
contrôler l'envoi d'un mail android
Débuté par lolodev, 15 juin 2017 13:23 - 2 réponses
Posté le 15 juin 2017 - 13:23
bonjour

sous WM android
j'envoie un mail via EmailLanceAppli()
comment puis je contrôler que l'envoie à bien été fait du moins que emaillanceappli() s'est bien lancé ?
ensuite la contrôle de réception du mail est une autre historie.
aprés le EmailLanceAppli() je veux mettre un bool à vrai dans un fichier

j'ai vu que l'envoi d'email sur Android ne s'effectue qu'à partir d'une application messagerie / l'utilisateur est donc obliger de valider l'envoi du mail.

n'y a t il pas un moyen d'automatiser cet envoi ?


merci
Membre enregistré
248 messages
Popularité : +1 (1 vote)
Posté le 15 juin 2017 - 14:40
Bonjour,
Pour vous aider, il faut d'abord savoir exactement comment vous voulez envoyer le mail ?
Par exemple :
========================================================
1) voulez vous que l'expéditeur du mail soit l'Email de l'utilisateur de l'appli mobile ?
========================================================
si oui : 2 solutions :
1.a) vous utilisez EmailLanceAppli(). Il faut espérer que l'utilisateur ait configuré un compte mail sur son téléphone. si oui : avantage : c'est lui qui choisit de valider l'envoi.
1.b) vous stockez les paramètres SMTP de chaque utilisateur de l'appli dans un fichier HyperFile dans une BD locale au téléphone, et
vous utilisez la structure Email de windev et terminer par EmailEnvoie().
Cela suppose que l'utilisateur accepte de donner son login et son mot de passe pour SMTP.
=========================================================
2) Si l'expéditeur peut être vous ou votre société : vous codez vous même en dur :
=========================================================
c'est donc simple : vous stockez soit dans un fichier HyperFile, soit dans le code du projet, les paramètres SMTP
compte POP, SMTP, login et mot de passe.
Vous utilisez aussi la structure Email et la fonction EmailEnvoie().
=========================================================
3) Si l'expéditeur peut être vous ou votre société ou l'utilisateur de l'appli : vous vous abonnez à un service d'envoi d'Emails (une API : il y en a pleins sur le net)
=========================================================
Vous appelez juste une fonction Web par HTTPRequete()
=========================================================
4) Une solution propre, confidentielle : Une BD distante + un Webservice fabriqués par vous même
=========================================================
Vous mettez dans une BD Hyperfile: tous vous utilisateurs de l'appli avec leurs paramètres SMTP (compte POP, compte SMTP, login et mot de passe)
Vous fabriquez un WebService par Windev ou Webdev qui a accès à cette BD et qui a une fonction qui reçoit de l'id de l'utilisateur (expéditeur du mail), le sujet du mail, le message du mail, l'email destinataire. le WS envoie le mail et vous renvoie un booleen

===========================================================
Pour vérifier la réception du mail :
===========================================================
Je ne l'ai jamais fait. Mais j'ai une piste :
Quand vous fabriquez la structure Email, il y a la propriété Email.AccuseReception à mettre à vrai.
une fois le mail envoyé par EmailEnvoie(), il faudra lire la boîte de réception de l'expéditeur pour rechercher le mail qui confirme la réception
(Attention le destinataire n'est pas obligé de répondre qu'il ait reçu le message)

Cordialement

--
Chouaïb
Posté le 15 juin 2017 - 15:55
merci !

je viens de tester...

la fonction EmailEnvoie ne fonctionne pas sous ANDROID car la structure EmailOuvreSessionSMTP n'existe pas en WDM21

je me penche plutot sur un service coté serveur qui scrute le booleen d'un fichier et effectue l'envoi