以下对我有用,分为两部分:
app.js
02年)
Google
和
OAuth2
应用程序js
var nodemailer = require("nodemailer");
var transporter = nodemailer.createTransport({
host: 'smtp.gmail.com',
port: 465,
secure: true,
auth: {
type: 'OAuth2',
user: local_settings.my_gmail_username,
clientId: local_settings.my_oauth_client_id,
clientSecret: local_settings.my_oauth_client_secret,
refreshToken: local_settings.my_oauth_refresh_token,
accessToken: local_settings.my_oauth_access_token
}
});
var mail = {
from: "John Smith <me@mydomain.com>",
to: "user@userdomain.com",
subject: "Registration successful",
text: "You successfully registered an account at www.mydomain.com",
html: "<p>You successfully registered an account at www.mydomain.com</p>"
}
transporter.sendMail(mail, function(err, info) {
if (err) {
console.log(err);
} else {
// see https://nodemailer.com/usage
console.log("info.messageId: " + info.messageId);
console.log("info.envelope: " + info.envelope);
console.log("info.accepted: " + info.accepted);
console.log("info.rejected: " + info.rejected);
console.log("info.pending: " + info.pending);
console.log("info.response: " + info.response);
}
transporter.close();
});
Google和OAuth设置
上面的代码需要以下设置:
01)
https://console.developers.google.com
02)
如果没有项目,系统将提示您创建一个
03)
Create Project
04)
点击
Create
05)
输入a
Project Name
创建
06)
选择
Gmail API
07)
点击
Enable
08)
点击
Create Credentials
09)
10)
为OAuth客户机命名并确保添加
https://developers.google.com/oauthplayground
redirect URI
为了生成
refresh
和
access
11)
定义同意屏幕设置
12)
I'll do this later
和
Done
13)
点击
Edit
图标,查看
Client ID
Client Secret
14)
产生
接近
和
代币,转到
https://developers.google.com/oauthplayground
15)
cog
右上角的图标,检查
Use your own OAuth credentials
然后进入
客户端ID
和
客户机密
16)
在左栏中,选择
Gmail API v1
Authorise APIs
17)
如果您已登录多个帐户,则在提示时选择相关帐户
18)
点击
Allow
19)
点击
Exchange authorisation code for tokens
我不知道为什么会有倒计时
接近
令牌,但希望屏幕底部的消息意味着令牌不会过期。