Envoyer un mail en différé

Eléphanteau du PHP | 25 Messages

19 juin 2014, 16:42

Bonjour à tous!
J'ai un formulaire, qui une fois rempli par la personne, envoi un mail à cette personne pour lui confirmer cette étape. Seulement, j'aimerai que ce mail ne parte pas immédiatement mais 1 heure après que la personne ait rempli le formulaire. Les informations de la personne sont stockées dans un base de donnée. Comment procéder?

Mammouth du PHP | 1339 Messages

19 juin 2014, 17:10

CRON
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

19 juin 2014, 17:12

salut,

il te faut utiliser une tache planifié (cron sous unix).
La dedans tu peux faire appel à un script php qui va chercher tous les gens qui ont remplis le formulaire dans l'heure passée.
je te conseil d'ajouter une colonne pour indiquer si l'email à été envoyé ou non et de l'utiliser dans la condition du select, ainsi que la condition sur l'heure bien sur.
ensuite un update sur la table pour mettre à jour ce champs (O / N par exemple, avec un varchar(1) ).


@Elie : merci de participer, mais être un peu plus explicite c'est bien aussi ;)

@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 1339 Messages

19 juin 2014, 17:48

Je conseil plutôt un iNT(1) avec 1 ou zéro :)
Ça permettra d'avoir 2 plus tard si la personne a lu le mail, etc...
Bon sinon tu me fais un message privé et on se fait un TeamViewer

ViPHP
xTG
ViPHP | 7331 Messages

20 juin 2014, 18:11

Je conseil plutôt un iNT(1) avec 1 ou zéro :)
Ça permettra d'avoir 2 plus tard si la personne a lu le mail, etc...
Qu'est ce qui t'empêche de mettre '2' dans un VARCHAR(1) ? ;)