Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to use Python to send weather mail regularly

2025-04-02 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/01 Report--

这篇文章主要介绍"怎么用Python定时发送天气邮件"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"怎么用Python定时发送天气邮件"文章能帮助大家解决问题。

效果如图

一、获取天气

def getWeather1(city): try: appid = os.environ["TIANQI_APPID"] appsecret = os.environ["TIANQI_APPSEC"] except KeyError: appid = 'x'x'x'x' #www.tianqiapi.com申请的appid,有免费 api appsecret = 'xxxx' #在www.tiaSnqiapi.com申请的appsecret url = 'https://tianqiapi.com/api?version=v1&city={city}&appid={appid}&appsecret={appsecret}'.format(city=city, appid=appid, appsecret=appsecret) res = requests.get(url) if res.json().get("errcode", 0) > 0: print(res.json().get("errmsg")) exit(0) data = res.json()['data'] weather = { 'today': data[0], 'tomorrow': data[1], 'aftertomorrow': data[2] } today = weather['today'] tomorrow = weather['tomorrow'] aftertomorrow = weather['aftertomorrow'] today_avg = (int(today['tem1'][:-1]) + int(today['tem2'][:-1])) / 2 tomorrow_avg = (int(tomorrow['tem1'][:-1]) + int(tomorrow['tem2'][:-1])) / 2 wdc ='紫外线指数:'+today['index'][0]['level'] +'\n'+ \ '穿衣指数:'+today['index'][3]['desc']+'\n' wdc += 'tips:'+today['air_tips'] today_w = '今天 {} {}/{} 风力:{} 空气指数: {}/{} 日出日落: {}/{}'.format(today['wea'], today['tem1'], today['tem2'],today['win_speed'],today['air'], today['air_level'], today['sunrise'], today['sunset']) tomorrow_w = '明天 {} {}/{} 风力:{} 空气指数:{}/{} 日出日落: {}/{}'.format(tomorrow['wea'], tomorrow['tem1'], tomorrow['tem2'],tomorrow['win_speed'],tomorrow['air'], tomorrow['air_level'], tomorrow['sunrise'], tomorrow['sunset']) aftertomorrow_w = '后天 {} {}/{} 风力:{} 空气指数:{}/{} 日出日落: {}/{}'.format(aftertomorrow['wea'], aftertomorrow['tem1'], aftertomorrow['tem2'],aftertomorrow['win_speed'],aftertomorrow['air'], aftertomorrow['air_level'], aftertomorrow['sunrise'], aftertomorrow['sunset']) todaytime = datetime.now() starttime = datetime.strptime('2020-08-21','%Y-%m-%d') days = (todaytime-starttime).days todaydate = str(todaytime.year) + '年' + str(todaytime.month) + '月' + str(todaytime.day) + '日' total = '早安! 亲爱的xx,xxxxx~愿你每天开开心心!\n'+ \ '今天是:'+todaydate+','+'是和xxx在一起的第'+str(days)+'天,mua~\n'+ \ '近日天气如下,xxx要注意保暖哦!\n'+ \ today_w + '\n' + wdc +'\n'+ \ tomorrow_w + '\n' + \ aftertomorrow_w return total

二、获取金山词霸每日一句

def get_news(): # 获取金山词霸的每日一句的英文和翻译 url = "http://open.iciba.com/dsapi/" r = requests.get(url) content = r.json()['content'] note = r.json()['note'] news = content + '\n' + \ note return str(news)

三、获取Sweet word

def getSweetWord(): url = 'https://chp.shadiao.app/api.php' res = requests.get(url) return res.text

四、发送邮件

def sendemail(toaddr='', message=''): fromaddr = 'xxxxx@qq.com' # 你的邮箱 password = 'xxxxxfslfbfgg' # 你的密码,注意不是qq密码 smtp_server = 'smtp.qq.com' # smtp地址 msg = MIMEText(message, 'plain', 'utf-8') msg['From'] = _format_addr('xxx ' % fromaddr) msg['To'] = _format_addr('xxx ' % toaddr) todaytime = datetime.now() starttime = datetime.strptime('2020-08-21', '%Y-%m-%d') days = (todaytime - starttime).days emailtitle= '爱你的第'+str(days)+'天' msg['Subject'] = Header(emailtitle, 'utf-8').encode() server = smtplib.SMTP_SSL(smtp_server, 465) server.set_debuglevel(1) server.login(fromaddr, password) server.sendmail(fromaddr, [toaddr], msg.as_string()) server.quit() return

五、组织信息,并发送

def dailymorning(): message = getWeather1('xxx') + '\n' + \ get_news() + '\n' + \ getSweetWord() + '\n' + \ '来自最爱你xxx' receivers = [['xxxx@qq.com'], ['xxxxxx@qq.com']] for i in range(len(receivers)): dailyemail.sendemail(toaddr=receivers[i], message=message) print('send receiver[{}] success'.format(receivers[i]))

六、win10系统设置定时启动程序。

关于"怎么用Python定时发送天气邮件"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report