【问题标题】:How to Send Email from App如何从应用程序发送电子邮件
【发布时间】:2013-03-13 11:22:45
【问题描述】:

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

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

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

所以,如果您有任何想法:

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

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

请帮忙!

【问题讨论】:

  • 为什么不向标准的 Android 邮件应用发送 Intent?
  • “我需要从应用程序发送电子邮件”——为什么?如果用户实际上是发送电子邮件的人,则使用ACTION_SEND 并允许用户使用他们最喜欢的电子邮件客户端完成该过程。如果您从用户的设备在用户背后发送电子邮件,您为什么认为这是用户想要的?
  • stackoverflow.com/questions/2020088/…。同意 Commonsware 的评论
  • 用户想要通过应用程序发送电子邮件而无需与设备交互的原因有上千种,例如对于防盗应用程序,如果有人移动设备,则应发送电子邮件。我的意思是我不想从用户帐户发送电子邮件,我希望它通过应用程序从我的帐户发送。
  • 没错。您只需要区分需要代表用户发送的电子邮件(cfr:用户希望使用 twitter/facebook/电子邮件/短信与人们分享的内容)和您的应用程序需要发送的内容背景,您的应用程序业务逻辑的一部分。如果您的应用程序向用户(或应用程序的其他用户)发送信息性消息,那么我认为您最好让应用程序后端处理它并将其保留在您的应用程序之外。

标签: android security email passwords


【解决方案1】:

我同意 ddewaele:适当的 API 是必要的。请注意,有些在线服务可以为您提供简单的 API。有关一些示例,请参阅Backend server provider for mobile apps。有些对少数用户免费。

【讨论】:

    【解决方案2】:

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

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

    如果您希望应用代表用户发送电子邮件(使其如同用户发送电子邮件一样),则使用 cmets 中所述的 CommonsWare 意图。它使用户可以看到已发送电子邮件。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-08
        • 2020-05-24
        • 2011-05-08
        • 2011-08-06
        相关资源
        最近更新 更多