如何通过app使用api发送邮件?

问题描述 投票:0回答:1

我想通过我的应用来触发邮件.目前我试过什么?

  1. Gmail api类似于 这个.-但似乎一些范围,如通过用户的帐户撰写邮件(GMAIL_COMPOSE)已被谷歌限制在API控制台页面。
  2. JavaMail api-试图使用token来实现,但 此处 我收到了一些阻挡器(看起来又是上面的限制)。
  3. 使用电子邮件服务提供商,如。SendGrid-我的应用是免费的,没有广告。如果我将有50000+用户和应用程序触发2邮件一天可能会限制这个功能,也看起来高度收费,我不知道甚至这是可能与任何供应商。

所以,任何人都可以在任何点或周围的解决方案,我可以如何实现这一点的光?

android google-oauth javamail gmail-api sendgrid
1个回答
0
投票

可以考虑把邮件功能移到服务器端。比如你可以在Node.js服务器上写一个函数,使用Nodemailer模块来发送邮件。


0
投票

Gmail API是免费使用的,你当然可以从你的应用中发送邮件。

请记住,如果你的应用程序正在发送电子邮件时 代表 的用户,那么就需要得到相应用户的同意。

否则,如果是你的账户(或你的应用),你可以使用API客户端建立一个授权服务,并发送你想要的邮件。

你还是需要创建一个GCP项目,启用Gmail API它,创建凭证,并使用这些凭证来获得API的访问权限,并与授权客户端进行调用。

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


参考文献



注意事项

谷歌有一个验证应用程序是否安全的过程,然后才会删除 "此应用程序未经验证 "的警告。这个过程是免费的,大多数验证请求会在24到72小时内收到回复。

OAuth客户端验证


0
投票

使用电子邮件服务提供商,如。SendGrid - 我的应用程序是免费的,没有广告。如果我将有50000+用户和和应用程序触发2邮件一天可能会限制这个功能,也看起来高度收费,我不知道甚至这是与任何供应商可能。

我认为到了那个时候,一旦达到5万用户,你可以换一个更好的服务,允许更多的邮件。在那一天到来之前,我认为Sendgrid是不错的。

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

https:/github.comJakebreenandroid-sendgrid

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

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

© www.soinside.com 2019 - 2024. All rights reserved.