1. 程式人生 > >利用python自動發郵件

利用python自動發郵件

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自動發郵件