准备工作:怎么实现, 网上搜, 大同小异, 也都能解决问题, 但是网上给出的实例都是在云函数中发固定内容, 试了一下用 event 传递参数(参考访问mysql的云函数的做法), 可以自由对 from / to / subject / text 设置,我来为大家科普一下关于微信小程序如何发送消息?以下内容希望对你有帮助!

微信小程序如何发送消息(用微信小程序实现发送自定义内容的邮件功能)

微信小程序如何发送消息

准备工作:

怎么实现, 网上搜, 大同小异, 也都能解决问题, 但是网上给出的实例都是在云函数中发固定内容, 试了一下用 event 传递参数(参考访问mysql的云函数的做法), 可以自由对 from / to / subject / text 设置

主要的代码如下:

1, 把云函数改成这个样子

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: 'alanliuhui@qq.com', //邮箱账号 910047602 pass: '' //邮箱的授权码 自己搜怎么获取授权码并填入 } }; var transporter = nodemailer.createTransport(config); // 云函数入口函数 exports.main = async(event, context) => { // 创建一个邮件对象 var mail=event.mymail try { let res = await transporter.sendMail(mail) //event.mailtxt); //mail return res; } catch (err) { console.log("发送邮件错误", err) return err } }

2, 在自己的js中把sendmail封装成一个函数

sendmailclass(myfrom,myto,mysubject,mytext) { wx.cloud.callFunction({ name:"sendmail", data:{ mymail: { from: myfrom, subject: mysubject, to: myto, text: mytext, } }, success(res) { console.log("发送邮件成功",res) }, fail(res) { console.log("发送邮件失败",res) } }) } })

3, 在需要的使用发送邮件功能的wxml调用函数中, 使用以下代码自定义发送邮件的内容

sendmail(){ var myfrom='<alanliuhui@qq.com>来自微信小程序[玩趋势one]' var mysubject='发送选股内容' var myto='910047602@qq.com' var mytext='--------------' this.sendmailclass(myfrom,myto,mysubject,mytext) }

有一个重要的坑, 在myfrom中, 一定要保留尖括号和其中的发件箱, 在本例中是<alanliuhui@qq.com>这部分, 如果没有, 就会发送失败.

,