1.今天要写的是用Python每天定时发送邮件,邮件内容包括天气信息和金山词霸的每日一句
2.首先编写代码:
import smtplib,requests,json
from email.mime.text import MIMEText
import time
def getWeather(city,link):
url = link+city
r = requests.get(url).json()
msg = '\r\n亲爱的,今天的天气是'+r['data']['forecast'][0]['type']+'\n\t温度:'+r['data']['forecast'][0]['high']+'--'+r['data']['forecast'][0]['low']+'\n\t风:'+r['data']['forecast'][0]['fengli'][9:-3]+'--'+r['data']['forecast'][0]['fengxiang']+'\n\t'+r['data']['ganmao']
return str(msg)
def getWord(link):
r = requests.get(link).json()
msg = '\n\r\n'+r['content']+'\r\n'+r['note']
return str(msg)
data = {
'link1':'http://open.iciba.com/dsapi/',
'link2':'http://wthrcdn.etouch.cn/weather_mini?city=',
'city':'南昌',
'first':'嘤嘤嘤!\r\n',
'mid':'该邮件每隔三十分钟发送一次,退订请回复TD\r\n',
'last':'\r\n\r\n ----我爱学习(个屁)'
}
msg_from = '2530429686@qq.com' # 发送方邮箱
passwd = 'qiunqkuyyxgcdiad' # 填入发送方邮箱的授权码
msg_to = '2530429686@qq.com' # 收件人邮箱
subject = "python邮件测试" # 主题
content = data['first']+'\n现在是'+time.strftime("%Y-%m-%d")+" "+time.strftime("%H:%M:%S")+getWeather(data['city'],data['link2'])+'\n'+getWord(data['link1'])+'\n\n'+data['mid']+data['last']
msg1 = MIMEText(content)
msg1['Subject'] = subject
msg1['From'] = msg_from
msg1['To'] = msg_to
try:
s = smtplib.SMTP_SSL("smtp.qq.com",465)#邮件服务器及端口号
s.login(msg_from, passwd) #登录SMTP服务器
s.sendmail(msg_from, msg_to, msg1.as_string())#发邮件 as_string()把MIMEText对象变成str
print ("发送成功")
except s.SMTPException:
print ("发送失败")
finally:
s.quit()
点击运行就会发送邮件了
3.接着设置Windows定时任务,让该程序每天定时执行
步骤如下:
1,首先进入计算机管理->任务计划程序->任务计划程序库 ,右边创建任务
2.创建任务后,在常规选项中,名字和描述随便写
3,在触发器选项中定时
4,在操作选项中按图操作
运行截图如下: