Retarder la fonction mailing de 5 minutes

Fermé
KhaledAbdelmalek - 12 juil. 2018 à 16:44
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 22 juil. 2018 à 11:02
Bonjour à tous,

J'ai une application programmé en PHP qui propose un choix de type de problème à l'utilisateur qui contient 5 boutons, lorsque l'utilisateur clique sur un des bouton, un email s'envoie instantanément. Ce que je veux moi ce que je veux envoyer un email mais après 5 minutes par exemple. Je veux que le problème persiste pour qu'il envoie un email.

Veuillez répondre à ma demande SVP et si vous avez besoin de plus d'information je suis là
A voir également:

2 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
12 juil. 2018 à 17:08
Bonjour,
L'utilisateur clique ... et après ? Ca envoie le message tout seul au bout de 5 minutes ?
Et si le problème n'existe plus .... il s'envoie quand même ?
Sinon.. comment sait-on si le souci existe encore ou pas et si le message doit s'envoyer ???
Ne peux tu simplement pas faire en sorte que : (en javascript )
- La personne clique sur le bouton
- Un settimeout de 5 minutes se lance
- Au bout des 5 minutes, une fenêtre modale ( ou popup) s'ouvre et demande si il confirme l'envoie
- Si il clique sur oui.. ça "submit" ton formulaire pour faire l'envoie du mail.
Par contre... que se passe t-il si l'utilisateur ferme la fenêtre entre son premier clique et le second ?? là le mail ne sera pas envoyé...

Bref.. il faudrait bien reflechir au mécanisme que tu souhaites mettre en place avant d'essayer de coder quoi que ce soit.
A mon avis.. ce n'est pas encore bien défini dans ta tête ou alors tu n'as pas sû nous le retranscrire dans ta demande...
0
KhaledAbdelmalek
12 juil. 2018 à 17:17
Tout d'abord merci de ta réponse,
Non c'est bien détaillé dans ma tête mais j'ai pas bien expliqué la situation comme je voulais.
Donc l'utilisateur clique sur un bouton, une autre page apparaît afin d'acquitter le problème, si le problème persiste dans 5 minutes il faut informer par email la personne concerné par ce problème.
Je veux faire ça afin de ne pas nuire à la personne concerné, lui envoyer un email pour chaque petit problème. Je veux lui informer juste dans le cas où le problème persiste depuis 5 minutes.
Si le problème est acquitté au bout de 3 minutes par exemple, un email NE SERA PAS envoyé, et il reviens dans la page principale (Là où il y a les 5 boutons).
Et les problèmes sont bien enregistré dans une base de données, mon soucis est simplement d'envoyer un email en cas où le problème persiste, si ce n'est pas le cas ne rien envoyer.
J'espère que j'était clair là dessus.
Je te remercie encore
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
12 juil. 2018 à 17:29
Dans ce cas, la solution proposée par ThEBiShOp est sûrement la plus simple.

Lorsque l'utilisateur clique sur le bouton ça inscrit (dans une table) l'heure à laquelle le clique a été fait. et renseigne un champ "A_ENVOYER" (par exemple) de la table à 1
Si l'utilisateur n'annule pas son problème ce champ reste à 1 (sinon tu le repasses à 0).

Un tâche Cron tournant toutes les minutes par exemple, scan les incidents dont le champ A_ENVOYER est à 1 et dont l'heure est supérieur à 5 minutes.
Si il en trouve... il les envois par mail. (et place le champ A_ENVOYER à 3 (ou à 0 ) par exemple pour éviter de renvoyer plusieurs fois le même mail)
0
KhaledAbdelmalek
22 juil. 2018 à 10:23
Merci de ta réponse mais malheuresment j'ai essayé et j'ai pas pu réussi mes tests de CRON mais d'après ce que j'ai remarqué de CRON c'est que ça marche seulement sur Linux et moi j'héberge mon application sur VMWare local sous Windows Server 2012, SVP est-ce que vous pouvez me détailler une solution similaire à CRON mais sous Windows? Je te remercie à l'avance
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
12 juil. 2018 à 17:16
Suivant le type d'accès que tu as au serveur d'hébergement tu peux mettre en place un système avec une tache CRON
0
KhaledAbdelmalek
12 juil. 2018 à 17:21
Merci de ta réponse; je vais essayé me documenter sur CRON
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
12 juil. 2018 à 17:35
Si tu maitrises le serveur (au moins possède un accès SSH) tu peux facilement mettre en place une tâche CRON, il faudra simplement que tu crées un script en PHP (ou autre, c'est pas un soucis) qui fasse le traitement qui a été décrit par jordane45.

Si tu es sur un hébergement mutualisé, ça risque d'être compliqué. Certains hébergeurs permettent malgré tout de mettre en place des tâches CRON sur des mutu...
0
KhaledAbdelmalek
22 juil. 2018 à 10:23
Merci de ta réponse mais malheureusement j'ai essayé et j'ai pas pu réussi mes tests de CRON mais d'après ce que j'ai remarqué de CRON c'est que ça marche seulement sur Linux et moi j'héberge mon application sur VMWare local sous Windows Server 2012, SVP est-ce que vous pouvez me détailler une solution similaire à CRON mais sous Windows? Je te remercie à l'avance
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > KhaledAbdelmalek
22 juil. 2018 à 11:02
Sous windows on appel ça les TACHES PLANIFIEES
0