當前位置:首頁 > IT技術 > 微信平臺 > 正文

小程序發送郵件,小程序云開發使用云函數發送郵件
2021-08-08 14:02:51

上一節給大家講了借助小程序云開發的云函數管理mysql數據庫,這一節,就來給大家講一講使用云開發云函數實現郵件發送的功能。

老規矩,先看效果圖
小程序發送郵件,小程序云開發使用云函數發送郵件_小程序發郵件
通過上面的日志,可以看出我們是158的郵箱給250的郵箱發送郵件,下面是成功接收到的郵件。
小程序發送郵件,小程序云開發使用云函數發送郵件_云函數_02

準備工作

1,qq郵箱一個
2,開通你的qq郵箱的授權碼(會具體講解)
3,注冊自己的小程序(因為只有注冊的小程序才能使用云開發)
4,電腦要安裝node(會用到npm命令行)
5,跟著老師編寫小程序代碼

一,準備一個qq郵箱,并啟動SMTP服務

這個我不做具體講解了。你進入你的qq郵箱以后,

1,點擊設置,然后點擊賬戶

小程序發送郵件,小程序云開發使用云函數發送郵件_小程序發郵件_03

2,開啟POP3/SMTP服務,獲取授權碼。

小程序發送郵件,小程序云開發使用云函數發送郵件_微信發郵件_04
具體操作可以看官方文檔,官方文檔有具體的講解,這里我就不多說了。
官方文檔:https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=1001256&&id=28
我們獲取的授權碼如下圖。這個授權碼,我們后面發送郵件時會用到。
小程序發送郵件,小程序云開發使用云函數發送郵件_小程序發郵件_05

二,注冊小程序獲取appid,創建一個小程序。 下圖是我們創建好的小程序。
小程序發送郵件,小程序云開發使用云函數發送郵件_小程序云開發_06
代碼很簡單,就只有一個頁面,頁面上就一個按鈕,我們點擊這個按鈕的時候實現郵件的發送。 三,初始化云開發,創建發送郵件的云函數。

初始化云開發環境時,有下面幾點注意事項給大家說下。

1,一定要是注冊的小程序有appid才可以使用云開發
2,一定要在app.js里初始化云開發環境id
小程序發送郵件,小程序云開發使用云函數發送郵件_微信發郵件_07

3,在project.config.json里配置云函數目錄,如下圖箭頭所示
小程序發送郵件,小程序云開發使用云函數發送郵件_小程序郵件_08

四,創建云函數 sendEmail

1,右鍵cloud文件,新建云函數
小程序發送郵件,小程序云開發使用云函數發送郵件_小程序發郵件_09

這個函數名你可以隨便起,只要是英文,并且調用的時候記得不要寫錯就行。我這里就用sendEmail
2,創建完以后,右鍵sendEmail選擇在終端里打開
小程序發送郵件,小程序云開發使用云函數發送郵件_微信發郵件_10
這里我們需要用npm安裝一個依賴包 nodemailer 使用npm安裝依賴包需要用到node,至于node的安裝大家自行百度,一大堆的講解文章。
3,在打開的命令行窗口里輸入 npm install nodemailer
小程序發送郵件,小程序云開發使用云函數發送郵件_小程序郵件_11
4,等待 nodemailer類庫的安裝。
小程序發送郵件,小程序云開發使用云函數發送郵件_小程序云開發_12
5,安裝成功時,您能看到nodemailer的版本號。
小程序發送郵件,小程序云開發使用云函數發送郵件_小程序發郵件_13

五,編寫發送郵件的核心代碼。

這里一定要注意填寫你自己的qq郵箱的授權碼
小程序發送郵件,小程序云開發使用云函數發送郵件_云函數_14
代碼里都有注釋,直接把代碼給大家貼出來吧。

const cloud = require('wx-server-sdk')
cloud.init()
//引入發送郵件的類庫
var nodemailer = require('nodemailer')
// 創建一個SMTP客戶端配置
var config = {
  host: 'smtp.qq.com', //網易163郵箱 smtp.163.com
  port: 465, //網易郵箱端口 25
  auth: {
    user: '1587072557@qq.com', //郵箱賬號
    pass: '這里要填你自己的授權碼' //郵箱的授權碼
  }
};
// 創建一個SMTP客戶端對象
var transporter = nodemailer.createTransport(config);
// 云函數入口函數
exports.main = async(event, context) => {
  // 創建一個郵件對象
  var mail = {
    // 發件人
    from: '來自小石頭 <1587072557@qq.com>',
    // 主題
    subject: '來自小石頭的問候',
    // 收件人
    to: '2501902696@qq.com',
    // 郵件內容,text或者html格式
    text: '你好啊,編程小石頭' //可以是鏈接,也可以是驗證碼
  };

  let res = await transporter.sendMail(mail);
  return res;
}
六,上傳云函數

編寫完代碼后,一定要記得上傳云函數
小程序發送郵件,小程序云開發使用云函數發送郵件_微信發郵件_15

七,調用云函數發送郵件

我們在index.wxml文件里寫一個按鈕,當點擊這個按鈕時就發送郵件。
小程序發送郵件,小程序云開發使用云函數發送郵件_微信發郵件_16
然后在index.js里調用我們的sendEmail云函數。
小程序發送郵件,小程序云開發使用云函數發送郵件_微信發郵件_17

八,點擊發送郵件,查看效果。

可以看到我們的控制臺,打印里發送成功的日志信息
小程序發送郵件,小程序云開發使用云函數發送郵件_云函數_18
然后到我們的郵箱里,可以看到新收到的郵件。
小程序發送郵件,小程序云開發使用云函數發送郵件_小程序云開發_19

到這里我們就完整的實現了微信小程序云開發使用云函數發送郵件的功能了。是不是很簡單呢。

源碼我也已經給大家準備好了。大家先試著自己敲下,看能不能實現,如果實現不了再來找我要源碼。

?

本文摘自 :https://blog.51cto.com/u

開通會員,享受整站包年服務
国产呦精品一区二区三区网站|久久www免费人咸|精品无码人妻一区二区|久99久热只有精品国产15|中文字幕亚洲无线码