現在、Codeigniterを使用してインターンシップにシステムを作成しています。このシステムは、ユーザーがサービス要求を作成できるようになります。リクエストを作成すると、自動的に承認者(別のユーザ)に電子メールが送信され、リクエストがあったことが通知されます。 (これは既に実装されています)。承認者は、要求を承認するかどうかを決定します。今、私の新しい任務は、依頼人が依然としてシステムの要求を承認または不承認としていない場合に、承認者が電子メール(30分ごと)で頻繁に通知を受け取ることです。私はこれをどのように可能にしますか?電子メールを繰り返し送信
答えて
DBには、このユーザーに対して、電子メールの送信回数と最後の電子メールが送信されたタイムスタンプをカウントするフィールドが必要です....その後、cron-tabbedスクリプト(1回実行30分ごとに)ユーザーが要求に応じた行動を取ったかどうかをチェックします。別の電子メールを送信し、送信された電子メールの数(増分)および新しい電子メールが送信されたときのUNIXのタイムスタンプでDBフィールドを更新します。
これを実行するには、cronジョブを使用する必要があります。 未処理の要求があるかどうかをチェックするスクリプト。 彼に未処理の要求がある場合は、彼に電子メールを送ってください。
私はリモートサーバーにいる場合どのように私はcronジョブを使用するのですか? –
あなたがホスティング会社にいる場合は、通常、これに管理者インタフェースがあります。 vpnを使用する場合は、シェルでcrontabを使用できます。 – OlajosCs
承認ステータスをチェックし、承認されていない場合は電子メールを送信する機能を持つコントローラを作成する必要があります。
例えば、
class checkapproval extends CI_Controller {
public function index()
{
// Database query to fetch all pending approval.
// $records = $this->db->where('status !=','approve')->get('table_name');
// foreach($records as $record){
// send email
// updated email timestamp in databse for record
// }
}
}
次に、このindex
を30分ごとに実行します。ここに私たちが必要としているcronの仕事があります。
30分ごとに実行される以下のようなコマンドをcronジョブで設定する必要があります。 CodeIgniterのCLIに関する詳細は、
$php /path/to/project/index.php checkapproval index
ジョブが行われているかどうかをチェックする定期的なベースでスクリプトを起動し、簡単なcronジョブを設定することによりHERE
私の問題は、私たちがちょうどfilezillaを使ってリモートサーバーに接続しているということです。 –
@CrystalGraceセットアップcronジョブにcPanelアクセスする必要があるかもしれません。 2番目のソリューションは、24時間365日に2番目のマシンを取得し、そのコントローラメソッドを30分ごとにurlで呼び出す必要があります。この場合、PHPコールのタイムアウトの問題に対処する必要があるかもしれません。 – jagad89
- 1. XMLノードを繰り返し処理し、SQL Serverで電子メールを送信
- 2. NLog:console app - 繰り返しの失敗で繰り返し電子メールを送信しないようにする
- 3. 電子メールを送信するemailnot送信emailnot送信emailnot送信emailnot送信emailnot送信しない電子メール を送信しない電子メール
- 4. CDO - 電子メールを送信しても電子メールを送信すると
- 5. 送信後に電子メールを送信
- 6. Codeigniter - 電子メールを送信
- 7. vb.net電子メールを送信
- 8. Asp.net電子メールを送信
- 9. 電子メールを送信php
- 10. SparkPost電子メールを送信
- 11. ASP.NET-電子メールを送信
- 12. EWS - ConversationIdで電子メールを送信する(返信しない)
- 13. ページ電子メールで送信
- 14. ASP電子メール送信エラー
- 15. Asp.net電子メール送信プロセス
- 16. AHK:電子メールの送信
- 17. サブスクリプションサービス - 電子メールの送信
- 18. UIImage電子メールで送信
- 19. Python SMTP電子メールを送信して返信を受け取ります
- 20. 電子メールを送信しました
- 21. MessageUIなしで電子メールを送信
- 22. メテオイントラネット電子メールに電子メールを送信
- 23. ASP MVC:電子メールを送信してメッセージを返す(No Json)
- 24. 繰り返し送信フォーム
- 25. シェルスクリプトを繰り返して電子メールを送信する - ファイルフラグを使用する
- 26. Google電子メールへの電子メールの送信方法
- 27. 電子メールからの電子メールの送信は、Googleスクリプト
- 28. ループバック電子メールデータソースを添付した電子メールを送信
- 29. 工夫送信しない電子メール
- 30. CakePHP電子メールsmtp送信しない
を見て。 – arkascha
リモートサーバー上でcronジョブを開始するにはどうしたらいいですか? –
"im on a remote server"の意味に依存します。これは、あなたがログインしていて、対話的なシェルを持っていることを意味するなら、 'crontab'コマンドを使ってください。それは十分に文書化されている。 manページ: 'man crontab'を読んでください。 – arkascha