先看效果图:

通过上面的日志,可以看出我们是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.comport: 465, //网易邮箱端口 25auth: {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云函数。

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

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

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

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

源码地址:

TencentCloudBase/Good-practice-tutorial-recommended
如果你有关于使用云开发CloudBase相关的技术故事/技术实战经验想要跟大家分享,欢迎留言联系我们哦~比心!

仿qq邮箱源码程序_巧用小程序·云开发实现邮件发送功能丨实战相关推荐

  1. 巧用小程序·云开发实现邮件发送功能丨实战

    先看效果图: 通过上面的日志,可以看出我们是158开头的邮箱给250开头的邮箱发送邮件,下面是成功接收到的邮件. 准备工作 1.qq邮箱一个 2.开通你的qq邮箱的授权码(会具体讲解) 3.注册自己的 ...

  2. 仿qq邮箱源码程序_小伙子利用C++实现邮件程序发送和接收

    3个通过POP发送和接收邮件的VC++实例程序:三个实例分别如下: 1.pop3高级程序开发是一个能够从pop3服务器中检查所有邮件,并且可以查看邮件内容,也可以删除邮件但是没有实现附件的接收,使用时 ...

  3. 仿qq邮箱源码程序_QQ微信头像制图工具箱小程序纯前端源码

    今天在网上看到了一个微信小程序源码,经测试QQ小程序也可以完美运行,所以给大家分享一下这个QQ微信头像制图工具箱小程序纯前端源码. 主要功能有文字九格.头像挂件生成.爆趣九宫格.形状九宫格.创意长图. ...

  4. 小程序源码整理最新的学习小程序的源码清单包含前后台

    微信小程序疯狂猜成语小程序源码UI美观 知识答题类小程序源码 200多套微信小程序源码带后台+教程+源码 校园小情书小程序前端+后端源码 微信版flappybird小游戏源码下载,经典像素鸟小游戏源码 ...

  5. 省钱兄校园跑腿源码(公众号+APP+小程序+Android+IOS)校园跑腿社区跑腿同城跑腿任务兼职小程序uniapp前端模版

    开源代码是用户端uniapp部分源码,使用hbuilder导入即可运行 只提供参考学习使用!已经获得软著!不可商业使用!感谢支持 h5体验地址 h5:https://paotui.xianmxkj.c ...

  6. 小程序源码:游戏助手微信小程序源码王者荣耀战力查询,游戏扫码登录器-多玩法安装简单

    这是一款游戏助手小程序源码,UI方面的话还是挺简单,小编个人看着挺舒服的 小程序内支持多种热门游戏扫码登录,也就是说是一个游戏登录器 比如英雄联盟,王者荣耀,和平精英等等热门游戏都支持 另外还有王者战 ...

  7. 点微同城系统整站源码 带pc端与小程序端+49款插件

    介绍: 点微同城系统整站源码 带pc端与小程序端+49款插件 下载 百度网盘 请输入提取码百度网盘为您提供文件的网络备份.同步和分享服务.空间大.速度快.安全稳固,支持教育网加速,支持手机端.注册使用 ...

  8. 小程序源码:求职招聘微信小程序源码下载v4.1.78

    1.多城市招聘平台2.职位版块 3.人才版块 4.招聘会(支持企业在线报名参加招聘会) 5.职场资讯6.企业登录(在手机端可操作企业信息编辑.发布职位.查收简历.通知面试) 7.企业VIP套餐购买功能 ...

  9. 小程序源码:求职招聘微信小程序-多玩法安装简单

    1.多城市招聘平台2.职位版块 3.人才版块 4.招聘会(支持企业在线报名参加招聘会) 5.职场资讯6.企业登录(在手机端可操作企业信息编辑.发布职位.查收简历.通知面试) 7.企业VIP套餐购买功能 ...

最新文章

  1. R语言Kmeans聚类、抽取聚类簇:fpc包clusterboot函数通过bootstrap重采样的方法评估Kmeans聚类的稳定性、fpc包的kmeansruns函数通过CH准则和ASW获取最优K值
  2. php母版页怎么,ASP.NET
  3. 人脸识别(一)——从零说起
  4. java程序猿面试问缺点怎么回答_JAVA程序员面试32问,你能回答多少题
  5. 会话,授权,认证概念解析
  6. XX银行 机器学习平台使用情况访谈总结
  7. 2021年中国车轮电机市场趋势报告、技术动态创新及2027年市场预测
  8. string查找字符(串)
  9. 考研一战失利反思与二战的规划
  10. 龙芯+复旦微FPGA全国产VPX高速数据采集卡解决方案
  11. 科学解释:为什么越是无知的人越自信?
  12. 详解adb shell 常用命令
  13. java 利用继承和多态设计三角形,圆矩形
  14. python RemoveBg api换照片底色
  15. 【菜鸟零基础学习笔记】Day22-os模块
  16. C语言如何判断数独是否正确,会数独的大佬请进。这是个判断九宫格数独是否正确的程序。...
  17. 监控摄像机如何连接到手机 手机APP远程连接常用方法
  18. 微信小程序实现上传图片功能
  19. 【python+opencv】图像卷积及滤波
  20. 【jQuery案例】手风琴

热门文章

  1. CodeForces 768E Game of Stones 打表找规律
  2. Java 导出excel表 POI
  3. PAT (Advanced Level) Practise 1004 解题报告
  4. 【读书笔记】iOS-ARC-不要向已经释放的对象发送消息
  5. Debian/linux 安装配置ftp服务器
  6. 一个超牛的东东:专门删除牛皮文件和文件夹
  7. 为什么远程桌面不能复制?解决方法
  8. Ubuntu x64安装Android studio 全部步骤和问题解决
  9. Ubuntu安装deb软件包错误(依赖关系问题)解决
  10. oracle:ORA-01940无法删除当前已连接用户的解决方案