Android 如何从应用发送电子邮件

Android 如何从应用发送电子邮件,android,security,email,passwords,Android,Security,Email,Passwords,我需要从应用程序发送电子邮件。到目前为止,我一直使用JavaMail Api,该Api运行良好,但存在一些问题: 我需要硬编码的密码到gmail帐户,邮件应该从其中发送,这显然是不好的 谷歌最近检测到一些“可疑的登录”(我不知道这是否真的是一些人试图访问该帐户,或者只是从该应用程序中正常登录),但谷歌强迫我更改密码,这显然使该应用程序毫无用处,因为它无法再发送电子邮件 我不想总是因为必须更改密码而发布更新 因此,如果您对如何: 使硬编码密码非常安全,防止谷歌强迫我更改密码 或者以不需要硬编

我需要从应用程序发送电子邮件。到目前为止,我一直使用JavaMail Api,该Api运行良好,但存在一些问题:

  • 我需要硬编码的密码到gmail帐户,邮件应该从其中发送,这显然是不好的
  • 谷歌最近检测到一些“可疑的登录”(我不知道这是否真的是一些人试图访问该帐户,或者只是从该应用程序中正常登录),但谷歌强迫我更改密码,这显然使该应用程序毫无用处,因为它无法再发送电子邮件
我不想总是因为必须更改密码而发布更新

因此,如果您对如何:

  • 使硬编码密码非常安全,防止谷歌强迫我更改密码

  • 或者以不需要硬编码密码的其他方式发送电子邮件(比如通过http请求,但实际上不起作用,因为服务器认为我在到处乱发垃圾信息并阻止了网络空间…)


请帮忙

不确定它发送电子邮件的频率,但您可以使用4位pin码加密密码,然后在启动时请求pin码,解密密码并将其保存在内存中。如果您被调出,则需要重新解密,但这将使用户的密码更加安全。

如果您希望应用程序生成电子邮件并将其发送给用户,最好的方法是从后端系统发送电子邮件。发布您的移动应用程序可以与之交互的RESTAPI,并让后端处理发送电子邮件的事宜。它将更加安全,并且您将有适当的解耦。这是处理这件事的唯一好办法

应用程序中的编码密码始终可以解密,因为加密密钥也将存储在应用程序中的某个位置。另外,正如您已经说过的,在您的应用程序中存在代码的麻烦,以及更新代码的困难可能是一场噩梦(并非所有用户都经常更新他们的应用程序)


如果您希望应用程序代表用户发送电子邮件(使其看起来像用户正在发送电子邮件),那么请使用注释中所述的意图作为通用软件。它可以让用户看到发送的电子邮件。

我同意ddewaele:需要一个合适的API。请注意,有些在线服务为您提供简单的API。有关一些示例,请参见。有些对少数用户是免费的。

为什么不向标准的Android邮件应用程序发送意向书?“我需要从应用程序发送电子邮件”——为什么?如果用户实际上是发送电子邮件的人,则使用
ACTION\u SEND
并允许用户使用其喜爱的电子邮件客户端完成此过程。如果你从用户的设备在用户背后发送电子邮件,为什么你认为这是用户想要的?。同意Commonware评论用户希望通过应用程序发送电子邮件而无需与设备交互的原因有上千种,例如,对于防盗应用程序,如果有人移动设备,则应发送电子邮件。我的意思是,我不想从用户帐户发送电子邮件,我想通过应用程序从我的帐户发送。没错。您只需要区分需要代表用户发送的电子邮件(cfr:用户希望与使用twitter/facebook/email/text message的人共享的邮件)和应用程序需要在后台发送的邮件,这是应用程序业务逻辑的一部分。如果你的应用程序向用户(或应用程序的其他用户)发送了一条信息性消息,我认为你最好让你的应用程序后端处理,并将其保留在你的应用程序之外。