小程序雲函數發送郵件(使用 Node.js 的 nodemailer 模塊發送郵件)

nodemailer 簡介

Nodemailer 是 Node.js 應用程序的一個模塊,可以方便地發送電子郵件。
在這裏插入圖片描述

const cloud = require('wx-server-sdk')
//引入發送郵件的類庫
const nodemailer = require('nodemailer');
cloud.init()
exports.main = async(event,context)=>{
  let transporter = nodemailer.createTransport({
    host: 'smtp.163.com',//qq郵箱 smtp.qq.com
    secure:true,
    auth:{
      user:"",//收件人得郵箱
      pass:""  //授權碼
    }
  });
  let info = await transporter.sendMail({
    from: "",//必須和auth.user相同,否則會報553錯誤
    subject: '超級意見反饋',  //主題
    to: '[email protected]',// 收件人郵箱
    text:"反饋內容:"+event.feedContent+" \n聯繫方式:"+event.phone  //發送給郵箱的內容
  });
  return info;
}

授權碼的獲取

在這裏插入圖片描述
當進入該頁面開啓該服務後,就自然可以看到生成授權碼的操作提示了!

常見的踩坑點

535 錯誤

Error: Invalid login: 535 Error: authentication failed

解決方法:
1.可能是賬號密碼錯誤
2.QQ 的 host 是 smtp.qq.com;163 的 host 是 smtp.163.com

553 錯誤

Error: Mail command failed: 553 Mail from must equal authorized user

問題:發件人和認證的郵箱地址不一致

解決方法:
1.auth.user 需要和 from 中的郵箱一致

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章