2016-04-27 5 views
0

Ich habe eine Registrierung erstellt und nach der erfolgreichen Registrierung erhalten Benutzer eine E-Mail über Login-Details (dies passiert, wenn der Benutzer auf Senden Schaltfläche). Aber ich habe mit dem Senden einer anderen E-Mail automatisch an den gleichen Benutzer nach 5 Minuten und nach 20 Tagen Benutzer registriert haben.in der mysql Datenbank Registrierungszeit gespeichert als Time_created. (Zeitstempel). [2016-04-26 10:25:30] .Was ist der mögliche Weg, dies zu tun.Senden Automatische E-Mail in PHP?

Hier ist mein Code zum Senden von E-Mails aus dem Formular funktioniert das richtig.

$r = $_GET['rid']; 
    $aaaa= mysql_query("SELECT email FROM gotest WHERE ID= '$r'"); 
    $bbbb = mysql_fetch_array($aaaa); 
    $email = $bbbb['email']; 


    $to  = $email; 

    $subject = ' Site| login '; 
    $message = ' 

     Thanks for signing up! 
     Your account has been created, you can login with the following credentials. 

     ------------------------ 
     Username: '.$name.' 
     Password: '.$pass.' 


     ------------------------ '; 


    $headers .= 'From:[email protected]' . "\r\n"; 
    $headers .= 'Bcc:[email protected]' ."\r\n"; 
    mail($to, $subject, $message, $headers); 
+0

Sie müssten einen CRON-Job einrichten, der alle 5 Minuten ausgeführt wird und die Datenbank auf Benutzer überprüfen, die in den letzten paar Minuten registriert wurden. Mach dasselbe für 20 Tage. –

+0

@bub nein ich meine ich möchte eine andere E-Mail an den gleichen Benutzer mit unterschiedlichem Inhalt nach 5 Minuten senden – colombo

+0

@MarioPlantosar irgendein Beispiel bitte? – colombo

Antwort

0

Zum Zeitpunkt der Registrierung hinzufügen mail send date & set no_of_email_send=1. Legen Sie einen Cron fest, der prüft, ob mail_send_date + 5 mints > now() & no_of_email_send == 1.Wenn diese Bedingung erfüllt, dann senden Sie die zweite E-Mail & Update mail send date & set no_of_email_send=2. Wenn no_of_email_send == 2 dann check mail send date + 20days > now() dann senden Sie die 3. E-Mail & Update-Mail senden Sie Datum & set no_of_email_send=3 Sie können die Validierung mit einzelnen Abfrage auch tun.

+0

Iam nicht vertraut mit Cron.können Sie mich mit meinem Code, wie es zu tun.Es wird wirklich zu schätzen – colombo

+0

Cron ist der zeitbasierte Job-Scheduler. Mit cron können Benutzer Jobs (Befehle oder Shell-Skripts) zeitgesteuert zu bestimmten Zeiten oder Daten planen. Es wird häufig verwendet, um die Systemwartung oder -verwaltung zu automatisieren. Suche in Google "wie Cron setzen" (gemäß Ihrem Betriebssystem) oder folgen Sie dem Link: http://www.thesitewizard.com/general/set-cron-job.shtml http://askubuntu.com/questions/2368/how-do-ich-set-up-a-cron-job –

+0

keine Notwendigkeit für das zusätzliche Feld "no_of_email_send (t)" in der Tabelle. Sie können stattdessen eine MySQL-Abfrage wie diese verwenden "SELECT ID FROM Benutzer WHERE time_created> = DATE_ADD (NOW(), INTERVAL 5 MINUTE) UND time_created