1

アプリからメールを送信する必要があります。今まで私は JavaMail Api を使用してきましたが、これはうまく機能しますが、いくつかの問題があります。

  • メールの送信元の gmail アカウントにパスワードをハードコードする必要がありますが、これは明らかに良くありません
  • Google は最近、いくつかの「疑わしいサインイン」を検出しました (これが実際にアカウントにアクセスしようとした人なのか、アプリからの通常のサインインだけなのかはわかりません) が、Google は私にパスワードの変更を強制しました。メールを送信できなくなったため、アプリは役に立たなくなりました。

パスワードを変更しなければならなかったからといって、常に更新をリリースしたくはありません。

したがって、次のいずれかの方法についてアイデアがある場合:

  • ハードコードされたパスワードを非常に安全にし、Google がパスワードの変更を強制するのを防ぎます

  • または、ハードコーディングされたパスワードを必要としない他の方法でメールを送信します (http 要求などを使用しますが、サーバーが私がスパム行為をしていると見なし、Web スペースをブロックするため、実際には機能しません...)

助けてください!

4

3 に答える 3

2

アプリでメールを生成してユーザーに送信する場合は、バックエンドシステムからメールを送信するのが最善の方法です。モバイルアプリケーションが対話できるRESTAPIを公開し、そのバックエンドが電子メールの送信を処理できるようにします。より安全になり、適切なデカップリングが可能になります。それはそれに対処する唯一の良い方法です。

暗号化キーもアプリのどこかに保存されるため、アプリにエンコードされたパスワードはいつでも復号化できます。さらに、すでに述べたように、そのコードをアプリに配置する手間と、そのコードを更新することの難しさは悪夢になる可能性があります(すべてのユーザーがアプリを頻繁に更新するわけではありません)。

If you want the app to send emails on behalf of the user (making it as if the user is sending them), then use an Intent as CommonsWare stated in the comments. It makes it visible to the user that an email is sent.

于 2013-03-23T17:56:03.470 に答える
0

電子メールを送信する頻度はわかりませんが、4桁のPINを使用してパスワードを暗号化し、起動時にPINを要求し、パスワードを復号化してメモリに保持することができます。スワップアウトされた場合は再復号化する必要がありますが、ユーザーのパスワードはより安全に保たれます。

于 2013-03-23T17:53:23.690 に答える
0

私は ddewaele に同意します。適切な API が必要です。簡単な API を提供するオンライン サービスがあることに注意してください。いくつかの例については、モバイル アプリのバックエンド サーバー プロバイダーを参照してください。一部のユーザーは無料です。

于 2013-03-24T23:18:18.800 に答える