3

その質問の適切なタイトルはわかりませんが、私の質問の要約は以下のとおりです。

私は、ユーザーがワンクリックでさまざまなメールサーバーのさまざまなメールIDをメールで送信する必要があるAndroidアプリを開発しています。さて、私のアプリケーションのデザインは、ユーザーがクリックしてメールを送信するときのようなものです。まず、ユーザーのクエリは、リモートサーバーで実行されている私のWebサービスにヒットします。このWebサービスは、異なるサーバーの異なるIDで電子メールを送信します。また、SSLを使用してJavaメールAPIを試しましたが、メールを送信するには、ユーザー名とパスワードの両方をパラメーターとして渡す必要があります。さて、私の質問は、別のユーザーのパスワードをWebサーバーに保存する必要があるかどうかです。これはユーザーのセキュリティ違反になると思うからです。そして、Java Mail APIを使用してパスワードなしでメールを送信することはできないと思います。はいの場合、どのようにしたらよいでしょうか。Open IDについても聞いたことがありますが、これは認証のためだけだと思います。または、パスワードを保存せずにメールを送信するためにOpenIDの概念を使用することもできます。

4

1 に答える 1

2

できることとできないことを特定するのに役立つ可能性のあるいくつかの概念があります...

SMTPの現在の状況

現在、すべてのSMTPサーバー(これらは電子メールを受信および配信するサーバーです)はESMTP標準を使用しており、ユーザー認証が必要です。この理由は、spamユーザーに代わって送信するためにこれらのサーバーを使用しないようにするためです。

あなたは何ができますか

したがって、開始点として、信頼できる電子メールサーバーにアクセスするには、有効なユーザー資格情報が必要です。

主なオプションは2つあります。

  1. 自分のメールアカウントを自分の資格情報とともに使用し、フィールドreplyTosentFromユーザーのメールアカウントを設定します。最終的な結果は、電子メールを受信する人が使用する電子メールプロバイダーと電子メールクライアントによって異なる場合があります。これらの一部は、メッセージをとして分類する場合があるためspamです。

  2. ユーザー自身の資格情報を使用します。あなたはあなたの質問で、ユーザーはあなたのサーバーに接続することから始めると言います、それであなたはそれまでにユーザーのログインとパスワードを要求することができ、あなたはそれをあなたのサーバーに保存する必要はありません。ユーザーが毎回パスワードを入力するのを避けるために、ユーザーはアプリにログインとパスワードを1回だけ入力し、ローカルに保存し(できれば暗号化)、資格情報を毎回送信します(ここでも暗号化することが望ましい)。ユーザーはサーバーに接続して送信します。 Eメール。

上記のアプローチのいずれかを使用すると、ユーザーのメール資格情報を開示するリスクを減らすことができます。

よろしく。

于 2012-12-24T16:37:50.830 に答える