2016-04-27 10 views
0

私は登録を作成し、成功した登録ユーザーの後にログインの詳細(これはユーザーが[送信]ボタンをクリックすると発生します)に関するメールを受け取ります。しかし、私は5分後と20日後に同じユーザーに自動的に別のメールを送りつづけていますmysqlデータベースの登録時刻がTime_created(timestamp)として保存されています。[2016-04-26 10:25:30]。これは可能な方法です。PHPで自動メールを送信しますか?

これはフォームから電子メールを送信するコードですが、これは正しく動作します。登録時には

$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

5分ごとに実行されるCRONジョブを設定し、最後の2分間に登録されたユーザーのデータベースをチェックする必要があります。同じことを20日間してください。 –

+0

@bubいいえ私は5分後に同じ内容の別のメールを別のメールに送信することを意味しています – colombo

+0

@MarioPlantosarどのような例ですか? – colombo

答えて

0

mail send date & set no_of_email_send=1を追加します。 mail_send_date + 5 mints > now() & no_of_email_send == 1.この条件が満たされている場合は、&更新mail send date & set no_of_email_send=2の2番目のメールを送信してください。 no_of_email_send == 2の場合check mail send date + 20days > now() 3番目のメールを送信&更新メールの送信日& set no_of_email_send=3また、単一クエリを使用して検証を行うこともできます。

+0

iamはCronに慣れていません。私のコードを使ってコードを使って表現することができます。本当に感謝します – colombo

+0

cronは時間ベースのジョブスケジューラです。 cronを使用すると、特定の時刻または日付に定期的にジョブ(コマンドまたはシェルスクリプト)を実行するようにスケジュールすることができます。これは、システムの保守または管理を自動化するために一般的に使用されます。 Googleで "cronを設定する方法"(OSごとに)を検索するか、リンクに従ってください:http://www.thesitewizard.com/general/set-cron-job.shtml http://askubuntu.com/questions/2368/how-do-i-up-a-cron-job –

+0

テーブルの追加フィールド "no_of_email_send(t)"は必要ありません。 "SELECT id FROM users where time_created> = DATE_ADD(NOW()、INTERVAL 5 MINUTE)、およびtime_created

関連する問題