nodemailer OAuth2 gsuite ([email protected]) serviceClient 和 privateKey 配置

问题描述

Nodemailer documentation for 2LO 声明您可以进行这样的配置设置:注意我使用的是由 gsuite 托管的网络唯一地址 example.com

host: 'smtp.gmail.com',port: 465,secure: true,auth: {
  auth: 'OAuth2',user: '[email protected]',serviceClient: emailKey.client_id,privateKey: emailKey.private_key,}

您可以根据 most up-to-date tutorial I can find 使用正确的配置创建一个 gcp 服务帐户。但是它给出了这个错误

错误:缺少“PLAIN”的凭据...代码:'EAUTH',命令:'API'

这方面没有解决的问题,here 仅供参考。

我发现的相关堆栈溢出问题中的所有“接受的答案”都已过时,因为 GCP 服务帐户的 JSON 输出不再包含刷新和访问令牌。 This one 虽然看起来像它特定的 Gmail。

有什么推荐的吗?我是否需要使用访问令牌设置?因为我找不到有关如何执行此操作的良好文档。也许是相关的 google 文档,因为我无法区分哪些是针对唯一网址的,哪些是特定于 @gmail.com 的。

解决方法

您输入的是 auth: 'OAuth2' 而不是 type: 'OAuth2'