2011-09-10 7 views
0

日付に応じてデータベースから自動メールを送信することはできますか?日付が特定の日付に等しい場合、emainはユーザーに移動する必要があります。データベースから自動的にメールを送信する

私はこのようなMySQLで私のデータベーステーブルを作成しました:

create table tb1(name varchar(20), email varchar(30), date varchar(10)); 

私はPHPを使用することになります。私にそれをする方法を提案してください?

+3

cronを使用できます。 – CodeCaster

+0

PHPを書いて日付を確認し、電子メールを送信し、cron – lluismontero

+1

を使用して発射します。最初に質問のタイトルを変更します。次に、送られた列をテーブルに追加して、同じ電子メールが何度も何度も送信されないようにしてから、みんなが言ったようにcronジョブを使用します。 –

答えて

0

伝統的なアプローチ:
OSによっては、特定の間隔で実行されるスケジュールされたタスク(cronジョブ)を設定できます(これはあまり正確ではないと思います。 )、テーブルから期限切れの行を取得し、配信ステータス(成功、失敗、バウンスなど)に基づいて電子メールを送信し、レコードに印を付けます(email_status列を追加することをお勧めします)。メールサーバーの応答を格納するために別の列を追加することもできます。

もう1つのオプションはより複雑です。電子メールを送信できるネイティブUDFを作成できます。次に、この関数を呼び出す反復的にeventを作成します。それは良い運動かもしれませんが、最良の解決策ではないかもしれません。利点:完全にサーバー側で行われ、クライアントコードは必要ありません。短所:ネイティブ関数の作成とデバッグは難しいことがあります。関数はサーバーインスタンスにアップロードする必要があります。ロジックはデータベースサーバー上に存在します。

0

PHPのファイルを作成して、 mail()を使用してそのユーザーに電子メールを送信します。

CRONを使用してファイルを好きなだけ実行することもできます(私は24時間以上は推奨しません)。

0

まず、a1ex07の回答として、送信するメッセージをフィルタリングするためのステータスフィールドがあります。 あなたのメッセージをクエリーでフィルタリングし、ループを使って、送信するメッセージの 'query string'を聞くメッセージ情報を(getメソッドで)PHPスクリプト(send.php)に送ります。

phpを起動するには、ウェブサイトまたはウェブアプリケーションにクエリーリストページを含めることができます。