手把手带你写,python自动定时发送邮件

准备工作

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>&nbsp<span style="color: LightPink">{}
    </span>
    </div>
    <div>
        <strong>地区🏡:</strong>&nbsp<span style="color: darkred">{}县</span>
    </div>
    <div>
        <strong>今天天气🌞:</strong>&nbsp<span style="color: DarkCyan">{}</span>
    </div>
    <div>
        <strong>现在气温☀:</strong>&nbsp<span style="color: DarkCyan">{}度</span>
    </div> 
    <div>
        <strong>最低气温⭐:</strong>&nbsp<span style="color: DarkCyan">{}度</span>
    </div> 
    <div>
        <strong>最高气温🔴:</strong>&nbsp<span style="color: DarkCyan">{}度</span>
    </div>
    <div>
        <strong>风向🎈:</strong>&nbsp<span style="color: DarkCyan">{}</span>
    </div>
    <div>
        <strong>湿度🚩:</strong>&nbsp<span style="color: DarkCyan">{}</span>
    </div>
    <div>
        <strong>建议💝:</strong>&nbsp<span style="color: HotPink">{}</span>
    </div>
    </br>
    <div style="color:HotPink">
        和宝贝在一起已经:&nbsp&nbsp第{}天啦~<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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值