巧用小程序·雲開發實現郵件發送功能丨實戰


先看效果圖:

通過上面的日志,可以看出我們是158開頭的郵箱給250開頭的郵箱發送郵件,下面是成功接收到的郵件。

准備工作

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

一、准備一個QQ郵箱,並啟動SMTP服務

進入qq郵箱以后:

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

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

具體操作可以看官方文檔,官方文檔有具體的講解,這里我就不多說了。
官方文檔:https://dwz.cn/SJCibDEi
我們獲取的授權碼如下圖。請保存好這個授權碼,我們后面發送郵件時會用到。

二、注冊小程序獲取appid,創建一個小程序

關於小程序的注冊和創建就不在此贅述,有需要的同學可以參照官方文檔:

https://dwz.cn/HpcWynVz

下圖是我們創建好的小程序。

代碼很簡單,就只有一個頁面,頁面上就一個按鈕,我們點擊這個按鈕的時候實現郵件的發送。

三、初始化雲開發,創建發送郵件的雲函數

關於雲開發初始化我這里也不在做具體講解了,感興趣或者不會的同學,可以去翻看騰訊雲雲開發公眾號內菜單【技術交流-視頻教程】中的教學視頻。

初始化雲開發環境時,需要注意以下幾點:

1、一定要是注冊的小程序有appid才可以使用雲開發
2、一定要在app.js里初始化雲開發環境id

3、在project.config.json里配置雲函數目錄,如下圖箭頭所示

四、創建雲函數 sendEmail

1、右鍵cloud文件,新建雲函數:

這個函數名你可以隨便起,只要是英文,並且調用的時候記得不要寫錯就行。我這里就用sendEmail。

2、創建完以后,右鍵sendEmail選擇在終端里打開:

這里我們需要用npm安裝一個依賴包 nodemailer 使用npm安裝依賴包需要用到node,至於node的安裝大家自行百度,一大堆的講解文章。

3、在打開的命令行窗口里輸入 npm install nodemailer:

4、等待 nodemailer類庫的安裝

5、安裝成功時,您能看到nodemailer的版本號

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

這里一定要注意填寫你自己的qq郵箱的授權碼:

代碼里都有注釋,直接把代碼給大家貼出來。

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;
}

六、上傳雲函數

編寫完代碼后,一定要記得上傳雲函數。

七、調用雲函數發送郵件

我們在index.wxml文件里寫一個按鈕,當點擊這個按鈕時就發送郵件。

然后在index.js里調用我們的sendEmail雲函數。

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

可以看到我們的控制台,打印里發送成功的日志信息:

然后到我們的郵箱里,可以看到新收到的郵件。

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

源碼地址:

https://github.com/TencentCloudBase/Good-practice-tutorial-recommended

雲開發(CloudBase)是一款雲端一體化的產品方案 ,采用 serverless 架構,免環境搭建等運維事務 ,支持一雲多端,助力快速構建小程序、Web應用、移動應用。

技術文檔:https://www.cloudbase.net/

如果你有關於使用雲開發CloudBase相關的技術故事/技術實戰經驗想要跟大家分享,歡迎留言聯系我們哦~比心!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM