2012-03-25 4 views
0

Ich möchte den Prozess des Sendens der E-Mails an die Benutzer, die sich anmelden automatisieren. Nach jedem 1 Monat ab dem Zeitpunkt, an dem der Nutzer sich registriert hat, prüfen wir für jeden Nutzer, ob er diesen Status erfüllt hat oder nicht, andernfalls wird automatisch eine E-Mail an ihn gesendet. Und nach 7 Tagen, wenn die Bedingung noch nicht erfüllt ist, wird ihm eine E-Mail zur Disqualifikation geschickt. Mir ist bekannt, dass ich einen Cron laufen lasse, aber wie würde ich prüfen, ob der betreffende Nutzer sich genau einen Monat zuvor angemeldet hat. Ich habe mich gefragt, wie kann ich das im Bereich PHP neu implementieren? Bitte helfen Sie mir aus. Wenn möglich, bitte geben Sie mir ein Beispiel.Senden von E-Mails automatisch in bestimmten Zeiten nach jeder Anmeldung des Benutzers in CakePHP mit Cron

Dank Vishal

Antwort

1

Betrachten wir eine Warteschlange Plugin.

Dies ist ein ausgezeichneter: https://github.com/MSeven/cakephp_queue

Das Plugin läuft auf einem cron, die alle x Sekunden, um zu sehen, ob ein neuer gültiger Job existiert überprüft. Eines der Felder, die für Sie relevant sind, ist das Feld not_before.

Wenn Sie den neuen Job mit dem Plugin erstellen, setzen Sie not_before auf 30 Tage in der Zukunft. Auf diese Weise ist der Job in der Tabelle vorhanden, wird jedoch nach Ablauf der angegebenen Zeit verarbeitet.

Es sind auch andere Warteschlangen-Plugins verfügbar. Sie können beanstalkd auschecken, wenn Sie an einem Daemon interessiert sind, der physisch auf Ihrem Server läuft. Für die meisten sollte das Warteschlangen-Plugin mehr als ausreichend sein.