准备工作
1.云服务器
2.python编译器
3.python环境
邮件样图
代码如下
# -*-coding=utf-8-*-
import datetime
import time
import requests
import re
import sys
from smtplib import SMTP_SSL
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header
host_server = 'smtp.qq.com'
#发信人的qq
sender_qq = ''
password = ''
#发信人的qq
sender_qq_mail = ''
#收信人邮箱
resUsername = ''
mail_title = '寄一封信'
#在python2会出现编译问题所以要加上以下代码
# reload(sys)
# sys.setdefaultencoding('utf-8')
header = {
# 客户端类型
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36'
}
res = requests.get("https://apis.tianapi.com/tianqi/index?key=key&city=101090801&type=1",
headers=header).json()
#这里要自己去天行注册,网站贴在代码后面
city = res["result"]["area"]
date = res["result"]["date"]
real = res["result"]["real"]
lowest = res["result"]["lowest"]
highest = res["result"]["highest"]
wind = res["result"]["wind"] + res["result"]["windsc"]
humidity = res["result"]["humidity"]
weather = res["result"]["weather"]
tips = res["result"]["tips"]
print("城市是" + city)
print("时间是" + date)
print("当前气温" + real)
print("天气是" + weather)
print("湿度是" + humidity)
print("建议是" + tips)
# 获取今天的时间
nowTime = time.localtime(time.time())
today = "{}年 {}月 {} 日 {} 时".format(nowTime[0], nowTime[1], nowTime[2], nowTime[3])
# 在一起多长时间
loveTime = "2023-06-01"
loved = tuple(time.strptime(loveTime, "%Y-%m-%d"))
resLoves = datetime.date(nowTime[0], nowTime[1], nowTime[2]) - datetime.date(loved[0], loved[1], loved[2])
# 每日情话
qinghua = requests.get("https://apis.tianapi.com/saylove/index?key=").json()
str = """
<div style="background-color: Snow">
<div>
<h3 style="color: DarkCyan;text-align: center">早安,宝宝<span>💕💕</span></h3>
</div>
<div>
<strong>时间⏰:</strong> <span style="color: LightPink">{}
</span>
</div>
<div>
<strong>地区🏡:</strong> <span style="color: darkred">{}县</span>
</div>
<div>
<strong>今天天气🌞:</strong> <span style="color: DarkCyan">{}</span>
</div>
<div>
<strong>现在气温☀:</strong> <span style="color: DarkCyan">{}度</span>
</div>
<div>
<strong>最低气温⭐:</strong> <span style="color: DarkCyan">{}度</span>
</div>
<div>
<strong>最高气温🔴:</strong> <span style="color: DarkCyan">{}度</span>
</div>
<div>
<strong>风向🎈:</strong> <span style="color: DarkCyan">{}</span>
</div>
<div>
<strong>湿度🚩:</strong> <span style="color: DarkCyan">{}</span>
</div>
<div>
<strong>建议💝:</strong> <span style="color: HotPink">{}</span>
</div>
</br>
<div style="color:HotPink">
和宝贝在一起已经:  第{}天啦~<span>💗💗 </span>
</div>
</br>
<div style="color: green">
🎁{}
</div>
</br>
</div>
""".format(date, city, weather, real, lowest, highest, wind, humidity, tips,
resLoves.days, qinghua["result"]["content"])
msg = MIMEMultipart()
msg['Subject'] = Header(mail_title, 'utf-8')
msg['From'] = sender_qq_mail
msg['To'] = Header('早安', 'utf-8')
msg.attach(MIMEText(str, 'html', 'utf-8'))
smtp = SMTP_SSL(host_server)
smtp.login(sender_qq, password)
smtp.sendmail(sender_qq_mail, resUsername, msg.as_string())
smtp.quit()
我选择linux的centos系统
crontab -e
![在这里插入图片描述](https://img-blog.csdnimg.cn/2b5d99e82db54b818248f17247eaca08.png#pic_center)
crontab -l
天行的网址:https://www.tianapi.com