使用云函数每天定时向女朋友发送邮件推送天气

2021-02-16 11:11:34 浏览数 (1)

虽然很想做定时发送短信的 可惜签名还没审核过 审核过了会写一篇

文档

https://nodemailer.com/usage/

https://nodemailer.com/smtp/well-known/

https://nodemailer.com/message/

制作公共模块

命令窗口打开 执行

代码语言:txt复制
npm install nodemailer
情人节快乐情人节快乐

这里 可以删除 node_modules package-lock.json

上传的时候会自动安装(腾讯云服务空间)

根据文档

https://nodemailer.com/smtp/well-known/

情人节快乐情人节快乐

这里以qq邮箱举例子

情人节快乐情人节快乐
情人节快乐情人节快乐

在创建的公共模块index.js中

情人节快乐情人节快乐
情人节快乐情人节快乐

这里的pass就是授权码

然后上传公共模块

云函数调用

新建云函数

情人节快乐情人节快乐

右键usemail文件夹 选择管理公共模块依赖

情人节快乐情人节快乐

这里改为

情人节快乐情人节快乐

根据文档

https://nodemailer.com/message/

情人节快乐情人节快乐

也可以综合

发送文本邮件

情人节快乐情人节快乐
情人节快乐情人节快乐

文档中这样说 所以我们先返回这个看看是否成功以及返回的参数

情人节快乐情人节快乐

记得上传云函数

这里我们先不定时

来测试下效果

我们在控制台 https://unicloud.dcloud.net.cn

找到云函数 点击进入云函数管理 编辑云函数url化

情人节快乐情人节快乐
情人节快乐情人节快乐

这里返回了

情人节快乐情人节快乐

这里也收到了邮件

情人节快乐情人节快乐

哈哈哈

发送html

我门来写个模板 既然要推送天气 那就做个和天气有关的

情人节快乐情人节快乐
代码语言:txt复制
 html: `<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<div style="width: 500px;height: 800px;background-image: url('https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2916614428,3435446859&fm=26&gp=0.jpg');">
			<center>
				<h1>今日份天气</h1>
				
			</center>
			<div style="float: left;position: relative;left: 50px;">
				<h2>当前温度</h2>
				<p>当前温度</p>
				<h2>最高温度</h2>
				<p>最高温度</p>
				<h2>最低温度</h2>
				<p>最低温度</p>
			</div>
			<div style="width: 200px;float: right;position: relative;right: 50px;">
				<h2>出行建议</h2>
				<p style="width: 200px;height: 200px;border: 1px solid; black">美美哒美美哒美美哒美美哒美美哒</p>
			</div>
		</div>
	</body>
</html>`

图片来自网上

情人节快乐情人节快乐

更多用法

参考文档

https://nodemailer.com/message/

推送天气

获取天气

我们在

送给女朋友的情人节礼物---超贴心小程序

也讲过如何获取天气

天气接口 https://tianqiapi.com/

现在我们已经知道了女朋友所在地

通过调用接口获取天气

appid和secret去接口网站获取 https://tianqiapi.com/

情人节快乐情人节快乐

获取天气

情人节快乐情人节快乐

发送邮件

嵌入数据

代码语言:txt复制
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<div style="width: 500px;height: 800px;background-image: url('https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2916614428,3435446859&fm=26&gp=0.jpg');">
			<center>
				<h1>今日份天气-${datas.week}</h1>
				
			</center>
			<div style="float: left;position: relative;left: 50px;">
				<h2>当前温度</h2>
				<p>${datas.tem}</p>
				<h2>最高温度</h2>
				<p>${datas.tem1}</p>
				<h2>最低温度</h2>
				<p>${datas.tem2}</p>
			</div>
			<div style="width: 200px;float: right;position: relative;right: 50px;">
				<h2>出行建议</h2>
				<p style="width: 200px;height: 200px;border: 1px solid; black">${datas.air_tips}</p>
			</div>
		</div>
	</body>
</html>

效果如下

情人节快乐情人节快乐情人节快乐情人节快乐

哈哈 你也可以尝试自己写个模板

定时触发

我们想要早上六点发送邮件

情人节快乐情人节快乐
代码语言:txt复制
[
  {
    "name": "myTrigger",
    "type": "timer",
    "config": "0 0 6 * * * *"
  }
]

更多定时器参考文档

https://uniapp.dcloud.io/uniCloud/trigger

情人节快乐

0 人点赞