多个用户如何在 Node.js 中使用 Gmail 别名发送电子邮件,而无需 Google 开发人员控制台对每个用户进行用户身份验证?
Posted
技术标签:
【中文标题】多个用户如何在 Node.js 中使用 Gmail 别名发送电子邮件,而无需 Google 开发人员控制台对每个用户进行用户身份验证?【英文标题】:How can multiple users send emails with Gmail alias in Node.js without user authentication from Google developer Console for each user? 【发布时间】:2021-10-23 03:45:57 【问题描述】:我尝试允许不太安全的应用程序。在这种情况下,电子邮件是从一个经过身份验证的原始用户发送的。 此外,我通过使用 Gmail API 从谷歌开发者控制台进行身份验证,使用客户端 ID、客户端密钥、刷新令牌、访问令牌来实现使用 OAuth2 进行身份验证的方法,但它仍然只是从经过身份验证的用户而不是从任何其他 Gmail 别名发送电子邮件. 基本上,我正在尝试在节点 js 中创建一个邮件服务,每个新用户都将使用他的“来自”Gmail 别名来发送电子邮件。
请告诉我如何在 node js 中设置一个邮件 API,每个用户都可以从他的 Gmail 别名向收件人发送电子邮件。
【问题讨论】:
【参考方案1】:有两种方法可以解决这个问题:
使用用户登录的3-legged OAuth flow,将刷新/访问令牌传回您存储的应用程序,然后用于发送电子邮件。如果您的用户通过网页与您的应用进行交互,并且用户可以来自任何 Google 帐户,那么这是一个很好的模型。 使用启用了域范围委派的 2 腿 OAuth 流 - 如果每个人都在一个 gsuite 域上,并且您启用了 domain wide delegation,这是一个很好的模型。如果您想分享更多关于其中哪些最有意义的详细信息,我很高兴为您指出正确的文档 :)
【讨论】:
感谢您的指导。我想使用三足 OAuth 流程。为此,我在谷歌开发者控制台中创建了一个项目,并获得了 JSON 文件,但不知道如何实现它,以便任何 Gmail 用户来验证并授权它到我们的网络应用程序.. 当然!遵循本指南:github.com/googleapis/google-api-nodejs-client#oauth2-client以上是关于多个用户如何在 Node.js 中使用 Gmail 别名发送电子邮件,而无需 Google 开发人员控制台对每个用户进行用户身份验证?的主要内容,如果未能解决你的问题,请参考以下文章
电子邮件正文在文件中发送 [Gmail API, Node.js]
在 javascript/node.js 中连接到 Gmail IMAP API