Nodemailer 使用Gmail发送邮件

第一步安装 nodemailer

npm install nodemailer

第二步 创建Google 项目

2.1打开下面地址

已启用的 API 和服务

2.2创建新项目

Nodemailer 使用Gmail发送邮件_第1张图片

2.3输入项目信息

Nodemailer 使用Gmail发送邮件_第2张图片

2.4创建完成后启用API

Nodemailer 使用Gmail发送邮件_第3张图片

2.5输入 gmail 搜索并选择 Gmail API

Nodemailer 使用Gmail发送邮件_第4张图片

2.6点击启用API

Nodemailer 使用Gmail发送邮件_第5张图片

2.7点击创建凭据

Nodemailer 使用Gmail发送邮件_第6张图片
Nodemailer 使用Gmail发送邮件_第7张图片
Nodemailer 使用Gmail发送邮件_第8张图片
Nodemailer 使用Gmail发送邮件_第9张图片

2.8创建Oauth凭据

重定向URL 中输入 https://developers.google.com...
Nodemailer 使用Gmail发送邮件_第10张图片

2.9创建完成

Nodemailer 使用Gmail发送邮件_第11张图片

2.10然后点击凭据Tab,并编辑刚创建的凭据

Nodemailer 使用Gmail发送邮件_第12张图片

2.11复制客户端ID与客户端密钥供后续使用

Nodemailer 使用Gmail发送邮件_第13张图片

2.12点击 OAuth 同意屏幕添加测试用户

Nodemailer 使用Gmail发送邮件_第14张图片

2.13将当前用户加入

Nodemailer 使用Gmail发送邮件_第15张图片

2.14创建完成后用户列表中将会看到

Nodemailer 使用Gmail发送邮件_第16张图片

2.15打开地址 https://developers.google.com...

配置前面复制的客户端ID与客户端密钥,然后选择gmail Api 并点击Authorize APIs 按钮
Nodemailer 使用Gmail发送邮件_第17张图片

2.16然后选择当前登陆的账号 以获取授权

Nodemailer 使用Gmail发送邮件_第18张图片

账号授权时如果出现 这种提示 则是因为 创建的应用未设置测试用户,将当前用户加入测试用户列表中即可(步骤:2.13,2.14,2.15)
Nodemailer 使用Gmail发送邮件_第19张图片

2.17获取Token

Nodemailer 使用Gmail发送邮件_第20张图片
因为这只是测试 App 所以会有提示,点击继续即可
Nodemailer 使用Gmail发送邮件_第21张图片

2.18同意授权

Nodemailer 使用Gmail发送邮件_第22张图片

2.19同意授权后会重新回到页面 https://developers.google.com... 点击按钮获取Token

Nodemailer 使用Gmail发送邮件_第23张图片

2.20判断右侧出现 HTTP/1.1 200 OK 且 相关信息都已显示,复制左侧 RefreshToken 与 Access token

Nodemailer 使用Gmail发送邮件_第24张图片
到了这一步我们就创建完成 所需要的信息 下一步就进行代码编写

第三步 编写邮件代码

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: "[email protected]",
      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: "[email protected]",
    to: "[email protected]",
    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 发送的邮件了
Nodemailer 使用Gmail发送邮件_第25张图片

大功告成

本文由一文多发运营工具平台 EaseWriting 发布

你可能感兴趣的:(Nodemailer 使用Gmail发送邮件)