1 首先要配置smtp服务
我这里使用的是qq邮箱
拿到smtp的密钥
2 配置mail.rc文件
在配置文件末尾加上
set from=109456****@qq.com #这里是发送邮件的地址
set smtp=smtp.qq.com:587 #阿里云一定要带上这个端口号,其他云服务商不用
set smtp-auth-user=109456**** #这里是你的邮箱用户名
set smtp-auth-password=ttaxtewfdnic**** #这里填你刚刚保存的SMTP授权码
set smtp-auth=login #这一行不变
配置完之后用这条命令测试是否可以发邮件
echo ""|mail -v -s "test" x'x'x'x'x'x@qq.com
3 创建和风天气账号,创建项目,拿到api key
和风天气的返回数据是json格式
4 根据数据格式编写脚本
#!/bin/bash
curl -s -L -X GET --compressed 'https://devapi.qweather.com/v7/weather/now?location=101240701&key=ef53e2294aa7471199ded2117b4e8083' >&/home/chenX/weather/weather.json
temp=$(cat weather.json | jq '.now.temp')
text=$(cat weather.json | jq '.now.text')
windDir=$(cat weather.json | jq '.now.windDir')
windScale=$(cat weather.json | jq '.now.windScale')
humidity=$(cat weather.json | jq '.now.humidity')
vis==$(cat weather.json | jq '.now.vis ')
echo "又是新的一天,今天天气:${text},温度为: ${temp},风向:${windDir}, 等级:${windScale},相对湿度为${humidity},能见度为${vis}" | mail -v -s "morning" 2663385007@qq.com
5 将bash脚本加入定时任务当中
crontab -e
重启定时任务
crontab -l 查看定时任务
特别注意:
为了解析json参数,我们需要安装jq