- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:タイマー機能を使って指定時間にメール送信したい)
タイマー機能を使って指定時間にメール送信したい
このQ&Aのポイント
- タイマー機能を使用して指定時間にメールを送信する方法を知りたいです。
- PC初心者向けに管理画面を作成して、ブラウザから操作してもらいたいです。送信するメールの内容や送信時間は毎回変わります。
- phpからcrontabを編集してタイマー処理を実現しようとしましたが、パーミッションの問題で書き込みができませんでした。解決策を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
回答ではありませんが、crontabファイルが777って。。。恐すぎません? (最悪でも許可された処理しか出来ないようにするために、 sudoとかmod_suexecを使うべきかと) ただ、メールを指定された時刻に発行するだけのことなら、cronを触らなくても system("at 実行する日付と時刻 メール発行するシェル"); で、指定するだけでできますよ。 もし、1回のエントリーでメール発行が一回ということでなく、 一度エントリーしたら、同じメールを毎日や毎週でメールを定期発行するというのであれば、独自にキュー管理するテーブルを作って cronで、5分毎にphpを動かして、そのphpが最新5分以内のキューデータをみてメール発行するようにすればいいのではないでしょうか。 (前後処理時間差の関係でメールを多重発行しないように、発行済みのキューはテーブルに発行時刻を埋めるなりして)
お礼
>superside0様 返信ありがとうございます。 crotは固定で○分ごとに起動し、 phpでDBを見て送信メールを送るようにすれば良いのですね。 簡単な事を難しくやろうとしてました。 ありがとうございます。