web-dev-qa-db-ja.com

cron()関数で毎日または毎週メールを送信するにはどうすればよいですか?

「毎日」と「毎週」の値を含むドロップダウンリストがあり、1つのフィールドが電子メールのコンテンツタイプがあります。そのドロップダウンリストの値が「毎日」である場合、電子メールが電子メールフィールドに入力されたものの電子メールアドレスに毎日送信され、値が「毎週」である場合、電子メールは毎週送信します。

私はこれについて何も知りません。どうすればいいですか?

2
Ahmad

どのようにメールを生成していますか? _hook_cron_を実装するカスタムモジュールが必要なように思えます。電子メールアドレスとsend_intervalを独自のテーブルに保存する必要があります(または、クエリを作成して、保存した場所から電子メールと間隔を選択する必要があります)データベースの_hook_nodeapi_の更新中に$ opおよび/または挿入$ op。最後にメールが送信された日付をテーブルの3番目の列に作成することをお勧めします。そうすれば、cronが中断されても、中断したところから続行できます。 SQLクエリを使用して、列間隔==日および日付<NOW()のすべての行を選択し、電子メールを送信します。日付が日曜日の場合や、毎週メールを送信したい場合も同じようにします。行を処理するときに、日付フィールドを、電子メールが送信されたことを示す現在の時刻に更新します。

カスタム開発を行っていない場合は、通知モジュールがニーズに合っているかどうかを確認することをお勧めします。

2
Arosboro

モジュールsimplenewsを使用してメールをスケジュールします。そのためのプログラミングは必要ありません。または、トリガーを使用して時間を変数として入力します

0
PartySoft