上一節(jié)給大家講了借助小程序云開發(fā)的云函數(shù)管理mysql數(shù)據(jù)庫,這一節(jié),就來給大家講一講使用云開發(fā)云函數(shù)實現(xiàn)郵件發(fā)送的功能。
老規(guī)矩,先看效果圖
通過上面的日志,可以看出我們是158的郵箱給250的郵箱發(fā)送郵件,下面是成功接收到的郵件。
1,qq郵箱一個
2,開通你的qq郵箱的授權(quán)碼(會具體講解)
3,注冊自己的小程序(因為只有注冊的小程序才能使用云開發(fā))
4,電腦要安裝node(會用到npm命令行)
5,跟著老師編寫小程序代碼
這個我不做具體講解了。你進(jìn)入你的qq郵箱以后,
1,點擊設(shè)置,然后點擊賬戶
2,開啟POP3/SMTP服務(wù),獲取授權(quán)碼。
具體操作可以看官方文檔,官方文檔有具體的講解,這里我就不多說了。
官方文檔:https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=1001256&&id=28
我們獲取的授權(quán)碼如下圖。這個授權(quán)碼,我們后面發(fā)送郵件時會用到。
代碼很簡單,就只有一個頁面,頁面上就一個按鈕,我們點擊這個按鈕的時候?qū)崿F(xiàn)郵件的發(fā)送。 三,初始化云開發(fā),創(chuàng)建發(fā)送郵件的云函數(shù)。
初始化云開發(fā)環(huán)境時,有下面幾點注意事項給大家說下。
1,一定要是注冊的小程序有appid才可以使用云開發(fā)
2,一定要在app.js里初始化云開發(fā)環(huán)境id
3,在project.config.json里配置云函數(shù)目錄,如下圖箭頭所示
1,右鍵cloud文件,新建云函數(shù)
這個函數(shù)名你可以隨便起,只要是英文,并且調(diào)用的時候記得不要寫錯就行。我這里就用sendEmail
2,創(chuàng)建完以后,右鍵sendEmail選擇在終端里打開
這里我們需要用npm安裝一個依賴包 nodemailer 使用npm安裝依賴包需要用到node,至于node的安裝大家自行百度,一大堆的講解文章。
3,在打開的命令行窗口里輸入 npm install nodemailer
4,等待 nodemailer類庫的安裝。
5,安裝成功時,您能看到nodemailer的版本號。
這里一定要注意填寫你自己的qq郵箱的授權(quán)碼
代碼里都有注釋,直接把代碼給大家貼出來吧。
const cloud = require('wx-server-sdk') cloud.init() //引入發(fā)送郵件的類庫 var nodemailer = require('nodemailer') // 創(chuàng)建一個SMTP客戶端配置 var config = { host: 'smtp.qq.com', //網(wǎng)易163郵箱 smtp.163.com port: 465, //網(wǎng)易郵箱端口 25 auth: { user: '1587072557@qq.com', //郵箱賬號 pass: '這里要填你自己的授權(quán)碼' //郵箱的授權(quán)碼 } }; // 創(chuàng)建一個SMTP客戶端對象 var transporter = nodemailer.createTransport(config); // 云函數(shù)入口函數(shù) exports.main = async(event, context) => { // 創(chuàng)建一個郵件對象 var mail = { // 發(fā)件人 from: '來自小石頭 <1587072557@qq.com>', // 主題 subject: '來自小石頭的問候', // 收件人 to: '2501902696@qq.com', // 郵件內(nèi)容,text或者h(yuǎn)tml格式 text: '你好啊,編程小石頭' //可以是鏈接,也可以是驗證碼 }; let res = await transporter.sendMail(mail); return res; }六,上傳云函數(shù)
編寫完代碼后,一定要記得上傳云函數(shù)
我們在index.wxml文件里寫一個按鈕,當(dāng)點擊這個按鈕時就發(fā)送郵件。
然后在index.js里調(diào)用我們的sendEmail云函數(shù)。
可以看到我們的控制臺,打印里發(fā)送成功的日志信息
然后到我們的郵箱里,可以看到新收到的郵件。
到這里我們就完整的實現(xiàn)了微信小程序云開發(fā)使用云函數(shù)發(fā)送郵件的功能了。是不是很簡單呢。
源碼我也已經(jīng)給大家準(zhǔn)備好了。大家先試著自己敲下,看能不能實現(xiàn),如果實現(xiàn)不了再來找我要源碼。
?
本文摘自 :https://blog.51cto.com/u