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