Mail avec lien de validation

Herve_be Messages postés 1017 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 25 avril 2024 - 22 août 2020 à 16:03
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 27 août 2020 à 17:16
Bonjour,
Quand on s'inscrit sur certains sites on reçoit un mail contenant un lien sur lequel on doit cliquer pour valider l'inscription.
Je voudrais faire qqch de similaire en VB6.

Actuellement le programme VB6 envoie un mail contenant un code d'accès qu'on doit recopier dans une textbox du programme; ce simple copier/coller semble poser problème à certains utilisateurs.
Plus précisément VB6 invoque un script php, c'est ce script qui envoie le mail avec mail().
Je voudrais mettre dans ce mail un lien cliquable : comment faire pour que le programme VB6 "sache" qu'on a cliqué sur le lien ?

Merci d'avance

9 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
23 août 2020 à 11:35
Bonjour

Je n'ai jamais fait ce genre de chose, mais je te présente mon cheminement de pensée.

Comme tu l'as souligné, c'est souvent une procédure que l'on voit pour des sites internets.
Cela veut dire qu'il y a dialogue entre le client et le serveur.

Si tu veux mettre en place ce système, il te faut aussi établir un dialogue.
  • Le client (ton logiciel) envoie une requête au serveur.
  • Celui-ci répond par un mail avec le lien.
  • L'utilisateur clique sur le lien.
  • Le serveur traite l'inscription et envoie une activation au client.


On pourrait imaginer que lors de la requête le client donne l'IP du PC au serveur, ainsi le serveur sait à qui répondre.
Si tu es sur un réseau interne ça devrait le faire.
Mais si ça se passe par internet alors il faut passer la box, ce qui veut dire que le client doit être en mesure de connaitre l'IP du PC sur le réseau local et l'IP de la box sur internet.
Aussi la box et windows doivent laisser ta communication sans encombre, par ce que si l'utilisateur doit aller bidouiller dans le parefeu de windows et faire un routage de ports dans la box alors que copier/coller un code d'activation lui parait trop compliqué c'est pas gagné.

Je ne suis pas un grand spécialiste des communications réseau et encore moins en VB6, mais je crois que c'est par là que tu dois gratter.
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
23 août 2020 à 14:52
D'ailleurs pour simplifier encore plus, si tu arrives à faire dialoguer le serveur et le client, tu n'as pas besoin d'email, tu peux afficher les différentes étapes directement dans ton logiciel
0
Herve_be Messages postés 1017 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 25 avril 2024 2
Modifié le 23 août 2020 à 17:26
Merci pour ta réponse,
La raison de travailler par email est d'être certain que l'utilisateur a donné une adresse mail fonctionnelle.
L'utilisation d'IP me paraît plutôt aléatoire.

Une solution qui me paraît viable mais présente un inconvénient
- le logiciel envoie le mail contenant le lien;
- quand l'utilisateur clique sur le lien il invoque un script php qui place un fichier sur le serveur;
- pendant ce temps le logiciel attend de trouver le fichier; quand il le trouve l'inscription est validée.

L'inconvénient est : quid si l'utilisateur ne clique pas sur le lien, par exemple parce qu'il ne reçoit pas le mail ?
Le logiciel ne peut pas attendre indéfiniment !
On peut toujours mettre une horloge qui décompte : il vous reste xx secondes pour cliquer sur le lien.

Il y a peut-être des solutions plus orthodoxes.
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
23 août 2020 à 18:59
Tous les logiciels avec validation ont une période de test gratuite, y'a forcément une horloge quelque part.

Alors entre afficher un message une fois au démarrage ou tout le temps c'est un choix à toi
0
Herve_be Messages postés 1017 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 25 avril 2024 2
24 août 2020 à 14:17
Je pense qu'on ne se comprend pas.
Actuellement
- la première fois qu'on utilise le logiciel, on doit communiquer une adresse mail;
- le logiciel envoie à cette adresse un mail contenant un code d'accès;
- l'utilisateur recopie le code d'accès reçu par mail dans une TextBox du logiciel;
- si ça correspond, le logiciel écrit une clé dans le registre de sorte qu'à la prochaine utilisation on ne devra plus demander un code d'accès.

Ce que je voudrais faire (différences en gras)
- la première fois qu'on utilise le logiciel, on doit communiquer une adresse mail;
- le logiciel envoie à cette adresse un mail contenant un lien;
- l'utilisateur clique sur ce lien;
- d'une manière ou d'une autre (ma question est "comment ?") le logiciel est averti de ce clic, il écrit une clé dans le registre de sorte qu'à la prochaine utilisation on ne devra plus demander un code d'accès.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
24 août 2020 à 17:52
Et bien, oui tu peux afficher un décompte,
ou quand le logiciel a envoyé les infos au serveur, tu éteints le logiciel et quand le client redémarre, s'il n'a pas cliqué ça l'invite à cliquer ou à ressaisir son adresse mail et au bout de 30 secondes (par exemple) ça se referme,
ou je sais pas, il y a pleins de façons de faire
0
Herve_be Messages postés 1017 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 25 avril 2024 2
26 août 2020 à 18:22
On ne se comprend décidément pas.
Ma question est : comment le logiciel peut-il savoir que l'utilisateur a cliqué sur le lien dans le mail ?
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
26 août 2020 à 18:45
Je ne voies que 2 solutions, que je t'ai déjà proposées
  • option 1, il y a un dialogue entre ton serveur et ton logiciel (IP, etc...)
  • option 2, tu éteins le logiciel et au démarrage il vérifie un truc sur ton serveur (la présence d'un fichier comme tu l'as déjà écrit, une valeur....)


0
Herve_be Messages postés 1017 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 25 avril 2024 2
27 août 2020 à 16:54
option 1, il y a un dialogue entre ton serveur et ton logiciel
comment établir ce dialogue ?

option 2, tu éteins le logiciel et au démarrage
pourquoi "éteindre" et redémarrer le logiciel ? Il peut patienter !
Patienter qu'un fichier soit disponible OK mais je me demandais s'il n'y avait pas une solution plus conforme aux usages
sinon une valeur : où, comment ?
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
27 août 2020 à 17:16
Oui patienter aussi tu as raison.

Pour la valeur, tu pourrais avoir un fichier avec toutes les licences actives et ton logiciel vérifie qu'il est dedans.


Pour le dialogue, le web c'est pas mon rayon.
Mais en "réseau de base", je dirais qu'un dialogue UDP ou TCP ferait l'affaire si tu es en intranet.
Si tu passes par internet, une option pourrait être que ton serveur abrite un petit site et ton logiciel l'affiche via un webbrowser


0
Rejoignez-nous