乐趣区

关于javascript:Nodemailer-使用Gmail发送邮件

第一步装置 nodemailer

npm install nodemailer

第二步 创立 Google 我的项目

2.1 关上上面地址

已启用的 API 和服务

2.2 创立新我的项目

2.3 输出我的项目信息

2.4 创立实现后启用 API

2.5 输出 gmail 搜寻并抉择 Gmail API

2.6 点击启用 API

2.7 点击创立凭据

2.8 创立 Oauth 凭据

重定向 URL 中输出 https://developers.google.com…

2.9 创立实现

2.10 而后点击凭据 Tab,并编辑刚创立的凭据

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

2.12 点击 OAuth 批准屏幕增加测试用户

2.13 将以后用户退出

2.14 创立实现后用户列表中将会看到

2.15 关上地址 https://developers.google.com…

配置后面复制的客户端 ID 与客户端密钥,而后抉择 gmail Api 并点击 Authorize APIs 按钮

2.16 而后抉择以后登陆的账号 以获取受权

账号受权时如果呈现 这种提醒 则是因为 创立的利用未设置测试用户,将以后用户退出测试用户列表中即可(步骤:2.13,2.14,2.15)

2.17 获取 Token

因为这只是测试 App 所以会有提醒,点击持续即可

2.18 批准受权

2.19 批准受权后会从新回到页面 https://developers.google.com… 点击按钮获取 Token

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

到了这一步咱们就创立实现 所须要的信息 下一步就进行代码编写

第三步 编写邮件代码

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 发送的邮件了

功败垂成

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

退出移动版