日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)小程序云教程:云開發(fā)云函數(shù)發(fā)郵件

借助于第三方模塊Nodemailer,我們還可以實現(xiàn)使用云函數(shù)來發(fā)郵件。結(jié)合發(fā)郵件的功能,我們可以在用戶注冊了用戶,或者評論有人回復,有重要的活動信息需要通知時發(fā)送郵件通知用戶。用云函數(shù)這全套用戶通知的流程實現(xiàn)起來也很簡單。

創(chuàng)新互聯(lián)專注于宣恩企業(yè)網(wǎng)站建設,響應式網(wǎng)站設計,商城網(wǎng)站建設。宣恩網(wǎng)站建設公司,為宣恩等地區(qū)提供建站服務。全流程按需定制開發(fā),專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務

技術(shù)文檔:Nodemailer Github地址、Nodemailer官方文檔

一、用云函數(shù)發(fā)郵件

1、開啟SMTP服務

自己搭建郵件服務器是非常麻煩的,我們可以借助于QQ郵箱、Gmail、163個人郵件系統(tǒng)或企業(yè)郵件系統(tǒng)開啟IMAP/SMTP服務,IMAP是互聯(lián)網(wǎng)郵件訪問協(xié)議,通過這種協(xié)議可以從郵件服務器獲取郵件的信息、下載郵件,也就是接收郵件;SMTP也就是簡單郵件傳輸協(xié)議,通過它可以控制郵件的中轉(zhuǎn)方式,幫助計算機在發(fā)送或中轉(zhuǎn)信件時找到下一個目的地,也就是發(fā)送郵件。這里我們只介紹如何使用云函數(shù)來發(fā)送郵件,所使用的就主要是smtp服務。

不同的郵件系統(tǒng)有著不同的smtp發(fā)送郵件服務器,端口號也會有所不同,這些都可以去相應的郵箱的設置里看到相關(guān)的說明的,這里僅以QQ郵箱為例,登錄QQ郵箱,在郵件設置-賬戶開啟SMTP服務,QQ郵箱的發(fā)送郵件服務器:smtp.qq.com,使用SSL,端口號465或587。

QQ開啟SMTP服務之后會獲取到郵件授權(quán)碼(郵件授權(quán)碼不是郵箱密碼),這個后面會用得到。

2、使用云函數(shù)發(fā)送郵件

使用開發(fā)者工具創(chuàng)建一個云函數(shù),比如nodemail,然后在package.json增加nodemailer最新版latest的依賴,并右鍵云函數(shù)目錄選擇在終端中打開輸入命令npm install安裝依賴:

"dependencies": {
    "nodemailer": "latest"
}

然后再在index.js里輸入以下代碼,并根據(jù)你的實際情況來修改一下里面的參數(shù),如:

  • auth里面的郵箱賬號和郵箱密碼(不同的郵件系統(tǒng)可能機制不一樣,QQ郵箱為郵箱授權(quán)碼
  • message里面的 from 和 to 參數(shù),分別為你的發(fā)件郵箱以及收件方的郵箱地址,你還可以填寫cc和bcc,抄送或密送給指定郵箱;
  • host、port,這里為QQ郵箱的SMTP服務器地址和相應的端口,你如果使用的是其他郵件系統(tǒng)的,要注意修改;
  • nodemailer支持發(fā)送text文字內(nèi)容、html網(wǎng)頁內(nèi)容以及附件的形式,附件的格式支持String、Buffer或Stream(各種文件),不過文件大小不同的郵箱是有限制的,也不宜過大,會影響云函數(shù)執(zhí)行時間,建議大文件使用云存儲鏈接;

const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV,
})
exports.main = async (event, context) => {
  const nodemailer = require("nodemailer");
  let transporter = nodemailer.createTransport({
    host: "smtp.qq.com", //SMTP服務器地址
    port: 465, //端口號,通常為465,587,25,不同的郵件客戶端端口號可能不一樣
    secure: true, //如果端口是465,就為true;如果是587、25,就填false
    auth: {
      user: "3441****02@qq.com",  //你的郵箱賬號
      pass: "你的QQ郵箱授權(quán)碼"   //郵箱密碼,QQ的需要是獨立授權(quán)碼,不是QQ郵箱的密碼
    }
  });
  let message = {
    from: '來自李東bbsky <888888@qq.com>',   //你的發(fā)件郵箱
    to: '你要發(fā)送給誰', //你要發(fā)給誰
    // cc:'',  支持cc 抄送
    // bcc: '', 支持bcc 密送
    subject: '歡迎大家參與云開發(fā)技術(shù)訓練營活動',
    //支持text純文字,html代碼
    text: '歡迎大家',
    html:
      '

你好:

' + '

歡迎歡迎

', attachments: [ //支持多種附件形式,可以是String, Buffer或Stream { filename: 'image.png', content: Buffer.from( 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD/' + '//+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4U' + 'g9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC', 'base64'), }, ], }; let res = await transporter.sendMail(message); return res; }

部署上傳云函數(shù)之后,在小程序端或者云開發(fā)控制臺調(diào)用該云函數(shù)就能收到郵件啦,這個只是定向給某個發(fā)送郵件,只適合發(fā)給管理員進行郵件通知的場景。

二、郵箱功能的拓展與應用

盡管郵件已經(jīng)沒落,但是郵箱幾乎是所有互聯(lián)網(wǎng)用戶都會使用的一個互聯(lián)網(wǎng)產(chǎn)品,用云函數(shù)結(jié)合郵件的發(fā)送可以拓展和傳統(tǒng)的后端一樣的發(fā)送郵件的能力。

結(jié)合云數(shù)據(jù)庫給指定的人發(fā)郵件

當用戶在小程序端進行一些業(yè)務操作時,我們可以結(jié)合數(shù)據(jù)庫定向給該用戶或目標用戶發(fā)郵件,比如用戶綁定注冊或找回密碼,當用戶A給用戶B寫的文章或留言評論時可以給B發(fā)郵件,當用戶參與活動需要通知時,管理員可以給目標用戶發(fā)郵件等。不同的業(yè)務場景接收郵件的人也會不同,郵件里面的內(nèi)容根據(jù)業(yè)務的需求也會有所不同,因此在郵件發(fā)送的過程中,數(shù)據(jù)庫扮演著非常重要的角色。

不過由于QQ郵箱是個人郵件系統(tǒng),每天只能發(fā)送幾百封郵件,不太適合用戶量比較大的小程序作為企業(yè)業(yè)務來進行郵件的發(fā)送。

實現(xiàn)密碼校驗與郵件的定時發(fā)送

當用戶在個人資料里綁定自己的郵箱時,可以發(fā)送郵件以及校驗碼,校驗碼可以是數(shù)據(jù)庫的一個字段,它的值可以是一些隨機生成的字符串,但是有一定的生命周期,比如半個小時之后會失效,這個自動失效的操作則需要使用到定時觸發(fā)器;郵件也可以是周報、日報的周期性定時發(fā)送,在每天或每周的某個時間點,批量收集當天或當周的數(shù)據(jù)自動發(fā)送給用戶,這個也是依賴定時觸發(fā)器,這個我們會在后面定時觸發(fā)器的章節(jié)進行說明。


網(wǎng)頁題目:創(chuàng)新互聯(lián)小程序云教程:云開發(fā)云函數(shù)發(fā)郵件
當前鏈接:http://www.5511xx.com/article/dhoepic.html