2017-04-25 5 views
0

je voudrais déclencher un courrier envoyé à l'utilisateur après l'enregistrement (ce qui est sans problème), puis une semaine exactement après la date d'inscription, puis un mois après la date d'inscription. Donc je me demandais comment je pouvais faire ça?Laravel retardé email déclenchement

Je pense que ceux qui ne peuvent pas aller dans des emplois Cron puisque la tâche est pas vraiment récurrent, mais déclenché deux fois seulement.

Dois-je utiliser App->Console->Kernel.php pour configurer une planification avec la fonction when() ou quelque chose de similaire? Quelle serait la meilleure approche?

+0

il peut y avoir beaucoup d'utilisateurs enregistrés dans le tableau, vous pouvez utiliser cronjob sur une base quotidienne. il est possible que quelqu'un ait terminé une semaine aujourd'hui et que l'autre termine un mois aujourd'hui ou demain. –

Répondre

0

Ceci est l'opinion fondée et donc pas particulièrement bien adapté au format stackoverflow, mais voici comment je le ferais:

ont des drapeaux sur l'enregistrement de l'utilisateur pour 1weekemail et 1monthemail qui par défaut à false.

chaque course nuit deux tâches planifiées qui obtiennent une liste d'utilisateurs qui répondent au critère de temps, mais n'ont pas le drapeau.

utiliser ce résultat défini pour envoyer le e-mails, puis définissez les indicateurs appropriés à true.

0

Créer un scheduler function qui vérifie pour chaque utilisateur enregistré dans votre table d'utilisateurs, il faut une entrée utilisateur dans lequel last activity ou registration time est là, vérifiez l'intervalle de temps et d'envoyer un e-mail si le temps état intervalle satisfait et mettez cette fonction sur schedule comme sur une base quotidienne ou horaire.