PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Envoi d'Email WLanguage (Android / iOS)
Envoi d'Email WLanguage (Android / iOS)
Débuté par SCH, 13 mar. 2019 10:20 - 8 réponses
Membre enregistré
29 messages
Popularité : +1 (1 vote)
Posté le 13 mars 2019 - 10:20
Bonjour,

Est-il possible d'envoyer des mails via le WLanguage dans Windev Mobile pour Android et iOS?

Quelques précisions:
- EmailLanceAppli n'envoie pas de mail et ce n'est donc pas ce que je recherche
- Mettre du code Java n'est pas le but non plus (j'aimerais une solution pour Android et iOS)
- Créer un webservice pour un simple envoie d'email n'est pas du tout ce que je recherche
- Développer en Windev une synchro qui va envoyer les mails n'est pas non plus la solution recherchée
- Utiliser un champ HTML et du PHP, pareil ce n'est pas le but
- J'ai déjà essayer pendant plusieurs heures avec toutes les fonctions SMTP, POP, IMAP, avec SSL ou non...

Quand j'ai fais mes tests et mes recherches j'ai pourtant vu sur la doc que Windev Mobile est "supporté" dont Android et iOS.

Je trouve ça très choquant de ne pas pouvoir envoyer des emails via Windev Mobile, 80% des clients demandent ça en pensant que c'est simple et effectivement ça devrait l'être? Du moins c'est que je pense.


Si quelqu'un à une solution je suis preneur. :merci:
Merci à ceux qui prendront le temps de m'aider !
Posté le 13 mars 2019 - 10:30
"J'ai déjà essayer pendant plusieurs heures avec toutes les fonctions SMTP, POP, IMAP, avec SSL ou non..."

c'est pourtant la bonne solution
Quel est le problème avec ces fonctions ? Il faut en dire un peu plus si vous voulez qu'on puisse vous aider.
Membre enregistré
177 messages
Popularité : +16 (16 votes)
Posté le 13 mars 2019 - 14:36
Bonjour,

Utilises-tu le serveur SMTP de l'opérateur mobile?
Souvent le port SMTP standard (25) est bloqué par les opérateurs sauf vers leur serveur SMTP bien sûr.
As-tu essayé avec le port 587 qui est un autre port standard alternatif généralement non bloqué?

C'est la première idée qui me vient, mais comme le dit wddev, il faudrait plus d'infos pour qu'on puisse t'aider efficacement.

Jean-Marc
Membre enregistré
1 603 messages
Popularité : +64 (70 votes)
Posté le 13 mars 2019 - 15:02
Bonjour,

Pour moi, il est normal qu'Android bloque l'envoi de SMS et d'emails directement depuis des applications sans l'accord de l'utilisateur.
Les possibilités de fraude et d'usurpation sont immenses.

--
Cordialement
François
Membre enregistré
177 messages
Popularité : +16 (16 votes)
Posté le 13 mars 2019 - 17:36
Bonjour François,

Tu ne peux pas envoyer de mail depuis l'application de mails intégrés, mais rien ne t'empêche d'ouvrir une session SMTP, tu ouvres simplement un socket.

Jean-Marc
Membre enregistré
29 messages
Popularité : +1 (1 vote)
Posté le 13 mars 2019 - 20:41
Bonjour à tous,
Merci pour vos réponses.

-----------
wddev a écrit :
"J'ai déjà essayer pendant plusieurs heures avec toutes les fonctions SMTP, POP, IMAP, avec SSL ou non..."

c'est pourtant la bonne solution
Quel est le problème avec ces fonctions ? Il faut en dire un peu plus si vous voulez qu'on puisse vous aider.


J'ai utilisé plusieurs protocoles POP3, IMAP, etc
Dont SMTP avec le code suivant:
// Ouverture d'une session SMTP
MaSession est un emailSessionSMTP
MaSession..AdresseServeur = "ssl0.ovh.net"
EmailOuvreSession(MaSession)

// Construction d'un email
MonMessage est un Email
MonMessage..Expediteur = EXPEDITEUR
Ajoute(MonMessage..Destinataire, DESTINATAIRE)
MonMessage..Sujet = SUJET
MonMessage..Message = TEXTE

// Envoi du message
SI EmailEnvoieMessage(MaSession, MonMessage) ALORS
Info("Envoi OK")
SINON
Info("Envoi NOK!")
FIN

(https://doc.pcsoft.fr/?3032005&verdisp=190 -> avec les icones Android et iOS juste avant le bout de code d'exemple)
( j'ai 4 variables chaines en plus )
Résultat: l'info avec "Envoi NOK!"

J'utilise OVH pour mes mails et la documentation d'OVH est pas top et incomplète.

-----------------------

Jean-Marc a écrit :
Bonjour,

Utilises-tu le serveur SMTP de l'opérateur mobile?
Souvent le port SMTP standard (25) est bloqué par les opérateurs sauf vers leur serveur SMTP bien sûr.
As-tu essayé avec le port 587 qui est un autre port standard alternatif généralement non bloqué?

C'est la première idée qui me vient, mais comme le dit wddev, il faudrait plus d'infos pour qu'on puisse t'aider efficacement.

Jean-Marc


Qu'est-ce que le serveur SMTP de l'opérateur mobile?
La seule adresse serveur SMTP que j'ai pu trouvé c'est celle d'OVH. (ssl0.ovh.net)
J'envois mes mails avec une adresse OVH et donc j'utilse le serveur OVH, suis-je dans le faux?

-----------------------

François SCHAAL a écrit :
Bonjour,

Pour moi, il est normal qu'Android bloque l'envoi de SMS et d'emails directement depuis des applications sans l'accord de l'utilisateur.
Les possibilités de fraude et d'usurpation sont immenses.

--
Cordialement
François


Je comprends bien la méfiance, mais bon c'est quand même la base d'une appli mobile d'envoyer des mails automatiquement...
Si à chaque fois qu'il faut faire une action on doit utiliser les applications natives, on est pas sortit d'affaire.
En tout cas c'est mon point de vue et c'est aussi ce qui me bloque énormément sur l'utilisation de WM pour une clientèle.

-----------------------

Jean-Marc a écrit :
Bonjour François,

Tu ne peux pas envoyer de mail depuis l'application de mails intégrés, mais rien ne t'empêche d'ouvrir une session SMTP, tu ouvres simplement un socket.

Jean-Marc


Comment faire? J'utilise le code d'exemple (https://doc.pcsoft.fr/?3032005&verdisp=190) mais ça ne marche pas (voir le code au dessus).
Il y a un autre moyen d'utiliser une session SMTP?

-----------

Encore merci de l'aide apporté à mon problème. :merci:
Posté le 14 mars 2019 - 09:35
Commencez déjà par récupérer le compte rendu des erreurs avec la fonction ErreurInfo. Ca vous donnera une piste sur ce qui pose problème.
Membre enregistré
177 messages
Popularité : +16 (16 votes)
Posté le 14 mars 2019 - 10:05
Je pense que tu as oublié quelques lignes:

MaSession..Nom = "utilisateur"
MaSession..MotDePasse = "secret"


Je mettrais aussi :

MaSession..Port = 587
MaSession..Option = emailOptionSécuriséTLS


Enfin, quand ton envoi échoue, il faut que tu affiches le libellé de l'erreur:

Info("Envoi NOK!"+ErreurInfo(errMessage))


Jean-Marc
Membre enregistré
29 messages
Popularité : +1 (1 vote)
Posté le 14 mars 2019 - 16:16
Bonjour,

wddev a écrit :
> Commencez déjà par récupérer le compte rendu des erreurs avec la fonction ErreurInfo. Ca vous donnera une piste sur ce qui pose problème.

Oui, j'y ai pensé que par après.

-----------

Jean-Marc a écrit :
Je pense que tu as oublié quelques lignes:

MaSession..Nom = "utilisateur"
MaSession..MotDePasse = "secret"


Je mettrais aussi :

MaSession..Port = 587
MaSession..Option = emailOptionSécuriséTLS


Enfin, quand ton envoi échoue, il faut que tu affiches le libellé de l'erreur:

Info("Envoi NOK!"+ErreurInfo(errMessage))


Jean-Marc



J'ai testé et ça marche, merci beaucoup ! :merci:
Quand j'avais essayé j'avais surtout insisté sur le POP3 et IMAP.
Et le code dans la doc ne stécifiait pas qu'il fallait précisé le port et la sécurité TLS..

Encore merci à tous ! Je remets le code solutionné ici:
// Ouverture d'une session SMTP
MaSession est un emailSessionSMTP
MaSession..AdresseServeur = "ssl0.ovh.net"
MaSession..Port = 587
MaSession..Option = emailOptionSécuriséTLS
MaSession..Nom = UTILISATEUR
MaSession..MotDePasse = MOTDEPASSE
EmailOuvreSession(MaSession)

// Construction d'un email
MonMessage est un Email
MonMessage..Expediteur = EXPEDITEUR
Ajoute(MonMessage..Destinataire, DESTINATAIRE)
MonMessage..Sujet = SUJET
MonMessage..Message = TEXTE

// Envoi du message
SI EmailEnvoieMessage(MaSession, MonMessage) ALORS
Info("Envoi OK")
SINON
Info("Envoi NOK!"+ErreurInfo(errMessage))
FIN


// au dessus j'ai 6 variables chaines EXPEDITEUR ,DESTINATAIRE, SUJET, UTILISATEUR, MOTDEPASSE et TEXTE

Bonne fin de journée !