【问题标题】:How can I send email through app using api如何使用 api 通过应用程序发送电子邮件
【发布时间】:2020-08-06 08:29:36
【问题描述】:

我想通过我的应用触发邮件。 到目前为止我尝试了什么?

  1. 使用类似于thisGmail api。但似乎在API控制台页面上通过用户帐户撰写邮件(GMAIL_COMPOSE)等范围受到Google的限制。
  2. JavaMail api- 尝试使用令牌来实现,但 here 我得到了一些阻止程序(再次查看上述限制)。
  3. 使用电子邮件服务提供商,例如:SendGrid- 我的应用是免费的,没有广告。如果我有 50000 多个用户,并且该应用每天触发 2 封邮件可能会限制此功能并且看起来收费很高,我不确定任何提供商都可以做到这一点。

那么,任何人都可以阐明我如何实现这一点或解决方案的任何一点吗?

【问题讨论】:

标签: android google-oauth jakarta-mail gmail-api sendgrid


【解决方案1】:

您可以在线使用free email sender tool,这本身就很棒,我在网上发现了这个工具,它可以帮助发送电子邮件而无需登录。只需访问该工具网站或使用 API 即可免费发送无限量的电子邮件。免费电子邮件发件人工具最适合发送批量电子邮件。我在使用这个工具方面有很好的体验。

【讨论】:

    【解决方案2】:

    考虑移动邮件功能服务器端。例如,您可以在使用 Nodemailer 模块发送电子邮件的 Node.js 服务器上编写一个函数。

    【讨论】:

      【解决方案3】:

      Gmail API 是免费使用的,您当然可以从您的应用程序发送电子邮件。

      请注意,如果您的应用代表您的用户发送电子邮件,则需要获得相应用户的同意。

      否则,如果是您的帐户(或您的应用程序),您可以使用 API 客户端构建授权服务并发送任意数量的邮件。

      您仍然需要创建一个 GCP 项目,启用 Gmail API,创建凭据,然后使用这些凭据访问 API 并使用授权客户端进行调用。

      还可以考虑存储返回的刷新令牌,以便在令牌过期时获取有效令牌。


      参考文献



      注意事项:

      Google 有一个流程来验证应用是否安全,然后再删除“此应用未经验证”警告。 该过程是免费的,大多数验证请求会在 24 到 72 小时内收到回复。

      OAuth Client Verification

      【讨论】:

      • 感谢您的回答,我已经检查过了,但我再次看到您提到的两种方法都需要受限/敏感的scope(gmail.compose 或 gmail.send)来发送邮件。据我所知,谷歌很少允许这样做或花费无限的时间。如果我有任何错误,请纠正我。
      • 您好,我看到了您的更新,但是是的,看起来他们会为受限制的权限收费,因为他们发送它是为了进行额外的安全评估。即使我发送我的应用程序/项目进行验证以试一试(不管他们等待响应的时间长短),它也需要一个经过验证的域。而且我的应用程序只是一个独立的 android 应用程序,我没有任何网站或 URL 可提供。对此有什么建议:-)?谢谢!
      【解决方案4】:

      使用电子邮件服务提供商,例如:SendGrid- 我的应用是免费的,没有广告。如果我有 50000 多个用户并且应用程序每天触发 2 封邮件可能会限制此功能并且看起来收费很高,我不确定任何提供商都可以做到这一点。

      我认为,一旦达到 5 万用户,您就可以切换到允许更多电子邮件的更好服务。在那一天到来之前,我认为 Sendgrid 还不错。

      我实际上已经使用 Sendgrid 的最新 API 为 Android 构建了一个 Sendgrid 库。

      https://github.com/Jakebreen/android-sendgrid

      implementation 'uk.co.jakebreen:android-sendgrid:1.0.1'
      

      我维护它,所以如果您有任何问题,请在 github 页面上记录问题。

      【讨论】:

        猜你喜欢
        • 2019-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-16
        相关资源
        最近更新 更多