【发布时间】:2019-07-13 05:52:21
【问题描述】:
我已经编写了通过 OAuth2 将邮件从我的 gmail 帐户发送到另一个帐户的代码。在OAuth2中,我们需要在https://developers.google.com/oauthplayground/上生成一个refreshToken和accessToken,这个生成的accessToken会在3600秒后过期。我想要一些会生成 accessToken 的代码。
我已经编写了代码,我直接从该站点 https://developers.google.com/oauthplayground/ 放置 refreshToken 和 accessToken 。
//javascript代码主文件app.js
async function sendEmail() {
const nodemailer = require("nodemailer");
const { google } = require("googleapis");
const OAuth2 = google.auth.OAuth2;
const smtpTransport = nodemailer.createTransport({
service: "gmail",
auth: {
type: "OAuth2",
user: "***************@gmail.com",
clientId: "***********.apps.googleusercontent.com",
clientSecret: "*************",
refreshToken: "**************",
accessToken: "********************************"
}
});
const mailOptions = {
from: "**************@gmail.com",
to: "**************@gmail.com",
subject: "Hello",
generateTextFromHTML: true,
html: "<h1>TEST MAIL SAYS HELLO</h1>"
};
smtpTransport.sendMail(mailOptions, (error, response) => {
error ? console.log(error) : console.log(response);
smtpTransport.close();
});
}
sendEmail();
这工作正常,但我希望使用一些代码生成 accessToken。
【问题讨论】:
-
如果您使用的是网络应用程序,请查看this。
-
谢谢你 Jescnallas,但我想要这个用于服务器端 Web 应用程序,我已经阅读了文档,但没有找到解决方案。
-
您是否尝试过遵循文档中的 4 个步骤?您能否在帖子中分享您对 oauth 令牌的尝试?
标签: node.js gmail nodemailer oauth2-playground