質問: AndroidStudioで現在作成のアプリにて、 メールを送信する機能を実装しようとしております。 送信はGmailを利用しようと考えていますが、 1Intentにてメーラーを起動 2JavaMailにて送信 のどちらが良いかで考えると、ユーザーの利便性を優先すると2JavaMailを実装しようと考えています。 その場合のgoogleアカウントのIDとPASSの入力方法について、 3googleサインインAPIを利用する 4アプリにて入力フォームを設けて取得する と考えましたが、問題点・疑問点として、 3の場合はgoogleの提供するサービスなのでユーザーは安心すると思います。ただ、googleアカウントの情報はgetSignInResultFromIntentメソッドで取得可能ですが、JavaMailにて必要なアカウントのIDとPASSの取得は出来ないのではないかと考えますが、どうなのでしょうか。 4の場合だと、ユーザーの立場に立つと、IDとPASSをアプリに入力する事に不安を感じると思うのですが、現実には入力フォームからIDとPASSの入力をさせるアプリは存在するのか、またセキュリティ上どうなのでしょうか。 もしくは全く別の実装方法を考えるべきでしょうか。 以上、どなたかご教授頂けますでしょうか。 よろしくお願い致します。
回答: 質問への回答としては不適切になるかもしれませんが。 アプリが提供する機能の一つとしてメールがあるのに、その送信サーバをエンドユーザーのアカウントで行うという事に違和感を感じます。 メール専用アプリのような形であれば別ですが、アプリの1機能(しかもメール送信)を利用するためにGoogleのアカウント情報を引き渡すというのはかなり抵抗があります。 単にGmailの送信と言うような話ではなく、Googleの提供する他のサービス(PhotosやDrive、Google+等)もそのアカウント情報で利用できるため、プライベートを公開するようなレベルの話ではないかと。 (そこまで考えないユーザーもいると思いますが) アプリの提供側がメールサーバを立てて、メールの送信にはそのメールサーバを利用するのが一般的ではないでしょうか。