利用python自動發郵件
阿新 • • 發佈:2017-12-23
return ddr weather gin ade today code 每天 inf
#coding:utf-8 import smtplib from email.mime.text import MIMEText from email.header import Header from email.utils import parseaddr, formataddr import requests import time cityname = ‘南寧‘ #key為聚合平臺註冊的api接口 key = ‘*******************‘ #發送郵件 sender = ‘2574******@qq.com‘ #接受郵件 receiver = ‘9801*****@qq.com‘ #pswd為發送郵件賬號開啟smtp服務獲得的短匙,不是密碼,需要去郵箱設置 pswd = ‘************‘ #通過聚合平臺api獲得天氣預報 def get_weather(): url = ‘http://v.juhe.cn/weather/index?format=2&cityname={cityname}&key={key}‘ data = requests.get(url.format(cityname=cityname,key=key)).json() if data[‘resultcode‘] == ‘200‘: return"今天溫度為{temp},{weather},{wind} \n{advice} \n明天的氣溫為{ttemp} ,{tweather}".format(temp=data[‘result‘][‘today‘][‘temperature‘], weather=data[‘result‘][‘today‘][‘weather‘], wind=data[‘result‘][‘today‘][‘wind‘], advice=data[‘result‘][‘today‘][‘dressing_advice‘], ttemp=data[‘result‘][‘future‘][1][‘temperature‘], tweather=data[‘result‘][‘future‘][1][‘weather‘]) else: return "對不起,沒有找到該城市的天氣數據。" #發送郵件 def send_email(str): message = MIMEText(str,‘plain‘,‘utf-8‘) message[‘From‘] = Header(‘每日推送‘,‘utf-8‘).encode() message[‘To‘] = Header(‘you‘,‘utf-8‘).encode() message[‘Subject‘] = Header(‘帶給你每天不一樣的問候‘,‘utf-8‘).encode() smtp_obj = smtplib.SMTP_SSL(‘smtp.qq.com‘,465) smtp_obj.login(sender,pswd) smtp_obj.sendmail(sender,[receiver],message.as_string()) smtp_obj.quit() str = get_weather() send_email(str)
期間遇到一些問題
1,郵箱設置,獲得短匙,開始用的郵箱密碼一直不對,需要開啟以下兩個服務
2,使用SMTP_SSL協議,服務器地址為smtp.qq.com
3,發送郵件成功後自動到接收郵件的垃圾箱,百度了下好像沒什麽解決辦法,自己試了下,在垃圾箱中設置這不是垃圾郵件,以後發的郵件就都正常了。
利用python自動發郵件