1

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

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

我不想总是因为我不得不更改密码而发布更新。

因此,如果您对如何:

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

  • 或以其他不需要硬编码密码的方式发送电子邮件(例如通过 http 请求,但这并不真正起作用,因为服务器认为我在发送垃圾邮件并阻止网络空间......)

请帮忙!

4

3 回答 3

2

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

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

如果您希望应用程序代表用户发送电子邮件(使其就像用户发送电子邮件一样),请使用评论中所述的 CommonsWare 意图。它使用户可以看到已发送电子邮件。

于 2013-03-23T17:56:03.470 回答
0

不确定它必须多久发送一次电子邮件,但您可以使用 4 位密码加密密码,然后在启动时要求输入密码,解密密码并将其保存在内存中。如果您被换掉,您需要重新解密它,但它会使用户的密码更加安全。

于 2013-03-23T17:53:23.690 回答
0

我同意 ddewaele:适当的 API 是必要的。请注意,有些在线服务可以为您提供简单的 API。有关一些示例,请参阅移动应用程序的后端服务器提供商。有些对少数用户免费。

于 2013-03-24T23:18:18.800 回答