2

ほとんどの場合、バックグラウンドで動作するプログラムがあります。DoesWork() としましょう。週に一度、過去数日間に完了した作業の一部についてユーザーに通知したいと考えています。これは、ダウンロードされたいくつかのファイルをリストする基本的なステータス レポートです。

当初、このステータス更新をメールで送信したかったので、それを調べましたが、多くの問題があります。SMTP サーバーが必要なので、GMail を調べました。それは問題ありませんが、1 日 500 通の電子メールの制限があるため、これはリリースには適していません。また、プログラムの各コピーで同じメール アカウントのパスワードが配布されると問題が発生する可能性があります。これは、パスワードが暗号化を使用して保存されている場合でも危険であると私は理解しています。

次に、ユーザー自身の電子メールアカウントを使用して、自分自身に電子メールを送信できるのではないかと考えました。これにはいくつかの複雑な点もあります。ユーザーは自分の電子メール アカウントのすべての smtp 情報を指定する必要があり、ターゲット ユーザーにとっては複雑すぎます。また、電子メールを送信するためだけに、電子メールアカウントのパスワードをプログラムに入力する必要はありません。推進するのは良い習慣ではないと思います。

これをメールで行う方法はありますか?電子メールは、ユーザーが既にチェックしている通知システムであるため、私が最初に選択したものです。それはかなり非侵入的です。

独自の smtp サーバーをセットアップする必要がありますか? もしそうなら、どうすればそれを行うことができますか?

電子メールがうまくいかない場合は、関連情報を含むローカル HTML ファイルを生成し、プログラムから通知ポップアップを週に 1 回表示して、新しい更新レポートの準備ができていることをユーザーに知らせることも考えていました。これは完全に実行可能だと思います。それは過度に押し付けがましく、私の最初の選択ではありません。ユーザーがすでに使用しているシステムに便乗したい。

ありがとう!-グレッグ

4

6 に答える 6

2

別の方法として、プログラムで RSS フィードを生成し、ユーザーに購読方法を指示する方法があります。また、新しいアップデートが生成されたら、アップデート トーストを約 1 分間表示してから、自動的に非表示にし、systray アイコンを別のものに変更します。約1日で元のアイコンに戻ります。また、トーストを永続的にオフにする設定をユーザーに提供します。

ユーザーの電子メールを収集し、そのためのプライバシーの問題に対処する必要があるため、電子メールに依存することはお勧めできません。サード パーティの SMTP サーバーを効果的に DOS するか、独自のインフラストラクチャに投資する必要があります。

于 2008-10-30T23:25:18.130 に答える
1

私がそれを正しく理解していれば、ユーザーは自分の PC でこのプログラムをバックグラウンドで実行しています。

何かを通知する完璧な方法は、私見ですが、プログラムをトレイバーに最小化して、クリックする小さなポップアップを与えると、週次レポートのウィンドウが開きます.

お役に立てれば。

于 2008-10-30T23:27:07.737 に答える
1

独自の smtp サーバーを指定するように依頼する場合は、テストできるように [テスト メールを送信] ボタンをそこに配置してください。smtp サーバー、ユーザー名、パスワードを指定するときに、ユーザーが常に間違った詳細を入力することを経験から知っています。これは、一部の smtp サーバーはユーザー名/パスワードを必要とし、他のサーバーは必要としないため、さらに悪化します。

間違った詳細を入力した (または変更した) 場合は、古いレポートを送信する方法や、電子メールを送信できないことを通知する別の方法が必要になる場合があります。

電子メールは素晴らしいですが、別の方法も必要になる場合があります。

于 2008-10-31T00:34:33.623 に答える
0

Google for simple smtp server windows はこれを提供します

正直に言うと、週に 1 回だけメールを送信するのが最善の策です。これは、ユーザーが他の種類の要求を受け入れるために自分のマシンにいることを保証するのに十分な頻度ではないためです。これには、独自のソフトウェアを作成する必要があります。

または、IRC チャネルに投稿するか、MSN ボットを作成してユーザーにメッセージを送信することもできます。ユーザーがオフラインの場合、メッセージはオフライン メッセージとして送信されます。

私はまだ電子メールを使います。それは試行錯誤されています。

于 2008-10-30T23:23:54.450 に答える
0

シンプルな SMTP サーバーの場合、hmailを使用します。送信元と送信先に関係なく、ローカル マシンからのすべての SMTP 要求を受け入れ、ローカル ホスト以外からの SMTP 要求を拒否するように構成します。アプリケーションが中央に配置されている場合は、これで問題ありません。

アプリを配布したい場合は、まったく別の状況になります。多くの ISP が SMTP トラフィックに制限を課しているため、最善の選択肢は、ユーザーがメール アカウントの詳細を入力し、それを使用してメールを送信できるようにすることです。これにより、誰もが作業設定を行えるようになります。次に、選択した言語用に存在するライブラリまたは既製のコードを使用して、それらの設定を使用して電子メールを送信します。

于 2008-10-30T23:34:09.423 に答える
-1

毎週のダイジェストである必要がありますか? 代わりに、Growl (または同等の機能) を使用して、完了したタスクをバックグラウンドでリアルタイムにユーザーに通知するのはどうですか?

于 2008-10-31T08:01:30.007 に答える