第一步安裝 nodemailer
npm install nodemailer
第二步 創(chuàng)建Google 項(xiàng)目
2.1打開(kāi)下面地址
2.2創(chuàng)建新項(xiàng)目
1659670669169
2.3輸入項(xiàng)目信息
1659670669169
2.4創(chuàng)建完成后啟用API
1659670669169
2.5輸入 gmail 搜索并選擇 Gmail API
1659670669169
2.6點(diǎn)擊啟用API
1659670669169
2.7點(diǎn)擊創(chuàng)建憑據(jù)
1659670669169
1659670669169
1659670669169
1659670669169
2.8創(chuàng)建Oauth憑據(jù)
重定向URL 中輸入 https://developers.google.com/oauthplayground
1659670669169
2.9創(chuàng)建完成
1659670669169
2.10然后點(diǎn)擊憑據(jù)Tab娜膘,并編輯剛創(chuàng)建的憑據(jù)
1659670669169
2.11復(fù)制客戶端ID與客戶端密鑰供后續(xù)使用
1659670669169
2.12點(diǎn)擊 OAuth 同意屏幕添加測(cè)試用戶
1659670669169
2.13將當(dāng)前用戶加入
1659670669169
2.14創(chuàng)建完成后用戶列表中將會(huì)看到
1659670669169
2.15打開(kāi)地址 https://developers.google.com/oauthplayground
配置前面復(fù)制的客戶端ID與客戶端密鑰酗电,然后選擇gmail Api 并點(diǎn)擊Authorize APIs 按鈕
1659670669169
2.16然后選擇當(dāng)前登陸的賬號(hào) 以獲取授權(quán)
1659670669169
賬號(hào)授權(quán)時(shí)如果出現(xiàn) 這種提示 則是因?yàn)?創(chuàng)建的應(yīng)用未設(shè)置測(cè)試用戶屎蜓,將當(dāng)前用戶加入測(cè)試用戶列表中即可(步驟:2.13偷卧,2.14缰雇,2.15)
1659670669169
2.17獲取Token
1659670669169
因?yàn)檫@只是測(cè)試 App 所以會(huì)有提示,點(diǎn)擊繼續(xù)即可
1659670669169
2.18同意授權(quán)
1659670669169
2.19同意授權(quán)后會(huì)重新回到頁(yè)面 https://developers.google.com/oauthplayground 點(diǎn)擊按鈕獲取Token
1659670669169
2.20判斷右側(cè)出現(xiàn) HTTP/1.1 200 OK 且 相關(guān)信息都已顯示,復(fù)制左側(cè) RefreshToken 與 Access token
1659670669169
到了這一步我們就創(chuàng)建完成 所需要的信息 下一步就進(jìn)行代碼編寫(xiě)
第三步 編寫(xiě)郵件代碼
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 測(cè)試郵件",
html: "Gmail 測(cè)試郵件 內(nèi)容",
});
res.send("Hello World!");
});
app.listen(port, () => {
console.log(`Example app listening on port ${port}`);
});
運(yùn)行 文件 node app.js 并訪問(wèn) localhost:3333
過(guò)一會(huì)我們就能收到 Gmail 發(fā)送的郵件了
1659670669169
大功告成
本文由一文多發(fā)運(yùn)營(yíng)工具平臺(tái) EaseWriting 發(fā)布