第一步安装 nodemailer
npm install nodemailer
第二步 创建Google 项目
2.1打开下面地址
2.2创建新项目
1659670669169
2.3输入项目信息
1659670669169
2.4创建完成后启用API
1659670669169
2.5输入 gmail 搜索并选择 Gmail API
1659670669169
2.6点击启用API
1659670669169
2.7点击创建凭据
1659670669169
1659670669169
1659670669169
1659670669169
2.8创建Oauth凭据
重定向URL 中输入 https://developers.google.com/oauthplayground
1659670669169
2.9创建完成
1659670669169
2.10然后点击凭据Tab,并编辑刚创建的凭据
1659670669169
2.11复制客户端ID与客户端密钥供后续使用
1659670669169
2.12点击 OAuth 同意屏幕添加测试用户
1659670669169
2.13将当前用户加入
1659670669169
2.14创建完成后用户列表中将会看到
1659670669169
2.15打开地址 https://developers.google.com/oauthplayground
配置前面复制的客户端ID与客户端密钥,然后选择gmail Api 并点击Authorize APIs 按钮
1659670669169
2.16然后选择当前登陆的账号 以获取授权
1659670669169
账号授权时如果出现 这种提示 则是因为 创建的应用未设置测试用户,将当前用户加入测试用户列表中即可(步骤:2.13,2.14,2.15)
1659670669169
2.17获取Token
1659670669169
因为这只是测试 App 所以会有提示,点击继续即可
1659670669169
2.18同意授权
1659670669169
2.19同意授权后会重新回到页面 https://developers.google.com/oauthplayground 点击按钮获取Token
1659670669169
2.20判断右侧出现 HTTP/1.1 200 OK 且 相关信息都已显示,复制左侧 RefreshToken 与 Access token
1659670669169
到了这一步我们就创建完成 所需要的信息 下一步就进行代码编写
第三步 编写邮件代码
const express = require("express");
const nodemailer = require("nodemailer");
const app = express();
const port = 3333;
app.get("/", (req, res) => {
const transporter = nodemailer.createTransport({
host: "smtp.gmail.com",
port: 465,
secure: true,
auth: {
type: "OAuth2",
user: "test@gmail.com",
clientId:
"344551453406-rqk1a539bljgc9ldt9gv2kfbv3ud7l9u.apps.googleusercontent.com",
clientSecret: "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",
refreshToken:
"1//0412Uzn4225S4CgYIARAAGAQSNwF-L9IrZNMaQswZxgQ_fvrrS70UAH9_e03DP7_c7MJCenpjY4WZPYagEP31LQ-SRUKuhe86zq8",
accessToken:
"ya29.A0AVA9y1sQzoQjsd1wjcHGa5RYik1Bm1yXMWdMx3_Ddwyxwn6sA96sioaCSOVo4UaztU2tTNP4M36okz4JzTyQpR7hz3rpmt3jEGGO_hIwto52m8qn2_sPfXVIVW0ur1otQnMpToD5_T_fkiDGhPdG_OIGNhOyYUNnWUtBVEFTQVRBU0ZRRTY1ZHI4VkpkVlBFZEdBQnpoeVVkbzQta2FJQQ0163",
},
});
transporter.sendMail({
from: "test@gmail.com",
to: "test@qq.com",
subject: "Gmail 测试邮件",
html: "Gmail 测试邮件 内容",
});
res.send("Hello World!");
});
app.listen(port, () => {
console.log(`Example app listening on port ${port}`);
});
运行 文件 node app.js 并访问 localhost:3333
过一会我们就能收到 Gmail 发送的邮件了
1659670669169
大功告成
本文由一文多发运营工具平台 EaseWriting 发布