我实施了#34;无回复"发送自动电子邮件的帐户。我是否需要访问密钥/刷新令牌,如果是,我可以在哪里为服务帐户生成它们?
目前我有这个:
noreply = nodemailer.createTransport({
host: 'smtp.gmail.com',
port: 465,
secure: true,
auth: {
type: 'OAuth2',
user: smtpConfig.client_email,
serviceClient: smtpConfig.client_id,
privateKey: smtpConfig.private_key,
}
});
不幸的是,这给了我这个:
{ Error: Invalid login: 535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8 https://support.google.com/mail/?p=BadCredentials h81sm3513839itb.18 - gsmtp
at SMTPConnection._formatError
...
谢谢!
答案 0 :(得分:0)
您不需要具有服务帐户的refresh token
,nodemailer会自动为您生成access key
您不能仅使用服务帐户发送GSuite帐户的电子邮件,而不能发送Gmail帐户的电子邮件。
如果您有Gmail帐户,则可以使用3-legged OAuth2 authentication 或打开2FA,生成App Password并使用here
如果您使用的是GSuite帐户,则可以使用ServiceAccount,但必须确保该帐户具有{strong> here中所述的 G Suite域范围委托,然后您需要提供如here
所述访问GSuite域