2009-07-28 5 views
1

例えば、タスクマネージャーのリマインダ、誕生日のリマインダーなどのWebアプリケーションを介して電子メールを送信したいと思います...私は日付と時間をプログラムしたいその瞬間に送信された電子メール。ウェブアプリケーションからプログラムされた電子メールを送信するための最良の方法

私はこれを行うには2つの選択肢があると思います:cronを使うか、将来のタイムスタンプで電子メールを送ることです。

cronを使用すると、(データベースにクエリを実行する)コマンドを実行して、送信する電子メールがあるかどうかを5分ごとにチェックします。または、別の方法として、新しいリマインダを保存するときに、指定された時刻に新しいcrontabタスクを(Webアプリケーションからシステムコマンドを実行して)配置します。最初のオプションでは、サーバの負荷が過剰になると思います。 2番目のオプションで、私は何百ものcrontabタスクを持っています。

おそらく、リマインダーを作成した瞬間にメールを送信することはできましたが、メールのタイムスタンプを将来の日付と時間に変更することができました。私はいくつかの電子メールサーバー(Mercur for Windowsのような)を管理することができますが、それは標準ですか?私はこの仕事をするために私のGmailアカウントを使用します。また、このソリューションでは、リマインダを作成した瞬間にメールが送信されたため、リマインダをキャンセルすることはできません。

サーバ言語にPHPやRuby(RoR)を使用できるので、言語は重要ではありません。その理由は、どちらも電子メールを送信してシステムコマンドを呼び出すことができるからです。ソリューションにスクリプトが必要な場合は、bashスクリプト、Perl、Python ...(サーバーはLinuxボックスです)を使用できます。

あなたはこの問題を解決するための最良の方法はどれですか?

貧しい私の英語を謝っています。前もって感謝します。

答えて

2

各リマインダ(または通知など)にcronジョブを使用する代わりに、すべてをファイルに書き込んで定期的に(たとえば5分ごとに)ファイルを読み込むスクリプト(phpスクリプトなど)を呼び出し、通知かどうかを送信するかどうかをチェックし...

あなたはすべての項目についてのcronジョブを作成することなく、機能性を持っているでしょう...

は、それが解決策になるのでしょうか?

よろしく

2

cronをお持ちの方が将来の日付スタンプ付きのメールを送信することをお勧めします。 cronを定期的に実行するように設定し、電子メールを送信することができます。

類似の質問があります。

Sending mass email using PHP

https://stackoverflow.com/questions/215736/how-do-i-send-bulk-mail-to-my-users-in-a-generic-fashion

あなたはいくつかのアイデアを得るでしょう、それらを読んで。

3

あなたはこのに見てきたかどうかは知りませんが、Gmailを使用するので、私はあなたが興味があるかもしれないと思いました。 Googleカレンダーには次の機能があります。

  1. Gmailに移動します。
  2. 上部にある「カレンダー」をクリックします。
  3. 左側にはカレンダーのリストがあります。それぞれには「設定」という小さなリンクがあります。このリンクに従ってください(このプロジェクトの新しいカレンダーを作成することができます)。
  4. これにより、タブ付きのインターフェイスが表示されます。私はいつもあなたが "カレンダー"タブにあなたを連れてくると思うが、そうでなければ、そのタブをクリックしてください。
  5. 各カレンダーには、「通知」という横のリンクがあります。通知するカレンダーのリンクをクリックします。

これにより、電子メールを送信して通知を設定するための設定リストが表示されます。

GoogleのAPIを使用すると、カレンダーにアクセスしてアプリケーションと同期させることができます。メールを送信するように設定されている場合は、すべてのメールを処理します。

+0

私はパーソナライズされたテキストでHTML電子メールを送信する必要があるので、これは私にとっては適していないと思っています...現時点では。それは非常に便利なヒントです、私は別のプロジェクトでそれを使用することを確信しています:) – ARemesal

+0

@ARemesal私は電子メールの通知をパーソナライズする方法があると思うが、インターネットの分検索。それを除いて、私はAtmocreationsのソリューション(cron +複数のcronジョブを避けるためのスクリプト)を使います。 – Imagist

関連する問題