微信小程序发送邮件,小程序云开发使用云函数发送邮件功能的实现(含源码)

简介: 微信小程序发送邮件,小程序云开发使用云函数发送邮件功能的实现(含源码)

上一节给大家讲了借助小程序云开发的云函数管理mysql数据库,这一节,就来给大家讲一讲使用云开发云函数实现邮件发送的功能。


老规矩,先看效果图



通过上面的日志,可以看出我们是158的邮箱给250的邮箱发送邮件,下面是成功接收到的邮件。


准备工作


1,qq邮箱一个

2,开通你的qq邮箱的授权码(会具体讲解)

3,注册自己的小程序(因为只有注册的小程序才能使用云开发)

4,电脑要安装node(会用到npm命令行)

5,跟着老师编写小程序代码


一,准备一个qq邮箱,并启动SMTP服务


这个我不做具体讲解了。你进入你的qq邮箱以后,

1,点击设置,然后点击账户



2,开启POP3/SMTP服务,获取授权码。



具体操作可以看官方文档,官方文档有具体的讲解,这里我就不多说了。

官方文档:https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=1001256&&id=28

我们获取的授权码如下图。这个授权码,我们后面发送邮件时会用到。


二,注册小程序获取appid,创建一个小程序。


关于小程序的注册,和创建小程序我就不在做具体讲解,感兴趣的同学或者还不会的同学可以翻看我前面的文章学习,也可以看我的零基础入门小程序的视频:https://edu.csdn.net/course/detail/9531

下图是我们创建好的小程序。



代码很简单,就只有一个页面,页面上就一个按钮,我们点击这个按钮的时候实现邮件的发送。


三,初始化云开发,创建发送邮件的云函数。


关于云开发初始化我这里也不在做具体讲解了,感兴趣或者不会的同学,可以去看我录制的云开发入门视频:https://edu.csdn.net/course/detail/9604

初始化云开发环境时,有下面几点注意事项给大家说下。

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云函数。



八,点击发送邮件,查看效果。


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



然后到我们的邮箱里,可以看到新收到的邮件。



到这里我们就完整的实现了微信小程序云开发使用云函数发送邮件的功能了。是不是很简单呢。

源码我也已经给大家准备好了。大家先试着自己敲下,看能不能实现,如果实现不了再来找我要源码。

相关文章
|
25天前
|
存储 自然语言处理 小程序
微信小程序多语言切换神器:简繁体切换功能完全指南
随着全球化的发展,支持多种语言的应用程序愈发重要。本文介绍了如何在微信小程序中实现简体与繁体字体之间的切换功能,以满足不同地区用户的需求。通过创建utils文件夹并编写相应的转换函数,开发者可以方便地实现语言切换,从而提升用户体验。文章中还附带了示例代码和效果图,帮助读者更好地理解和应用这一功能。
74 0
微信小程序多语言切换神器:简繁体切换功能完全指南
|
1月前
|
移动开发 小程序 数据可视化
一招学会DIY官网可视化设计支持导出微擎、UNIAPP、H5、微信小程序源码
一招学会DIY官网可视化设计支持导出微擎、UNIAPP、H5、微信小程序源码
34 2
|
2月前
|
算法 JavaScript 前端开发
切西瓜法实现微信抢红包功能
该文章介绍了使用“切西瓜法”和“栅栏法”两种算法来模拟微信抢红包的随机分配机制,并通过具体的JavaScript代码实现了红包金额的公平随机分配过程。
切西瓜法实现微信抢红包功能
|
3月前
|
JSON 小程序 JavaScript
微信小程序制作 购物商城首页 【内包含源码】
这篇文章提供了一个微信小程序购物商城首页的实现方法和源码,包括页面布局、数据结构、核心代码以及如何配置tabBar和搜索框组件。
微信小程序制作 购物商城首页 【内包含源码】
|
2月前
|
人工智能 前端开发 JavaScript
MacTalk 测评通义灵码,实现“微信表情”小功能
墨问西东创始人池建强分享了团队使用通义灵码的经验。
|
2月前
|
搜索推荐
2024微信个人名片在线生成HTML源码
微信个人名片卡片在线生成,这是一款微信个人名片生成网站源码,无第三方接口,本地直接生成可长期使用。 主要用于生成用户个性化的名片页面,包括头像、姓名、联系方式、个人介绍等信息。 在本地浏览器打开即可,源码是html的,也可上传到服务器上。
46 0
2024微信个人名片在线生成HTML源码
|
2月前
|
小程序 API 开发工具
使用python 实现微信签到提醒功能
【9月更文挑战第4天】使用python 实现微信签到提醒功能
66 2
|
3月前
|
Web App开发 缓存 小程序
【Azure API 管理】从微信小程序访问APIM出现200空响应的问题中发现CORS的属性[terminate-unmatched-request]功能
【Azure API 管理】从微信小程序访问APIM出现200空响应的问题中发现CORS的属性[terminate-unmatched-request]功能
|
3月前
|
小程序 前端开发 开发者
|
3月前
|
小程序 前端开发 API
Ant Design Mini 问题之在微信小程序中,由于不支持slot特性,Ant Design Mini的什么组件功能受到了限制,如何解决
Ant Design Mini 问题之在微信小程序中,由于不支持slot特性,Ant Design Mini的什么组件功能受到了限制,如何解决
下一篇
无影云桌面