Python結合Window計劃任務監(jiān)測郵件的示例代碼
說起自動化絕對算是茶余飯后最有顯B格的談資,畢竟解放雙手是從老祖先那里就流傳下來的基因,都2020了,你每天上班還要登錄各個郵箱賬號查收郵件?快來解鎖本章內(nèi)容
整體思路
- 通過Python zemail庫實現(xiàn)郵件讀取
- 將最新一封郵件ID進行保存,第二次執(zhí)行時比對郵件ID,判斷是否是新郵件
- 通過Python pymsgbox庫實現(xiàn)window彈窗提示
- 配置Window計劃任務,每1分鐘執(zhí)行一次
步驟一:郵件讀取
讀取郵件通過Python zemail庫進行,使用前通過 pip install zemail進行安裝,下面來看個郵件讀取的例子
import zmail
#獲取最新郵件并打印郵件信息
server = zmail.server('xxxxx@qq.com', 'mdgxgiwpnkspbxgx')
mail = server.get_latest()
zmail.show(mail)
print(mail["id"])
print(mail["from"])
print(mail["to"])
print(mail["subject"])
print(mail["context_text"])
print(mail["context_html"])
在配置郵件server時,注意郵箱要開啟POP3/SMTP服務,QQ郵箱開啟是在:設置->開啟POP3/SMTP服務,同時設置授權碼,server配置第二個是自動生成的授權碼
步驟二:新舊郵件比對
想要提示用戶有最新的郵件,就要把最后一封郵件的信息進行記錄,在指定時間后,拿著兩封郵件的信息進行比對,這里我們使用的郵件ID(注意ID并不唯一,如要確保一定的準確,可以用ID結合郵件標題等多方面信息)
記錄郵件信息我這里放在了一個txt文件中,每次先讀取再寫入
old_mailid = open('id.txt', 'r').readline()
# 寫入新郵件ID
with open('id.txt', mode='w+', encoding='utf-8') as f:
f.write(str(mail_id))
步驟三:實現(xiàn)window彈窗提示
像這種操作早有前人已經(jīng)替我們完成了,這種庫有很多,這里采用的是pymsgbox,使用前注意通過pip install pymsgbox進行安裝
先了解下pymsgbox彈窗的多種形式
pymsgbox.alert(text='', title='', button='OK') pymsgbox.confirm(text='', title='', buttons=['OK', 'Cancel']) pymsgbox.pompt(text='', title='' , default='') pymsgbox.password(text='', title='', default='', mask='*')
顯然我們這里用不到太復雜的彈窗,只要一個alert就闊以了
#判斷郵件是否是最新
if old_mailid != str(mail_id):
pymsgbox.alert("你有一封新郵件!") # 彈窗提示有新郵件
步驟四:配置Window計劃任務
前面都完成之后,執(zhí)行python文件已經(jīng)可以提示最新郵件了,現(xiàn)在遇到的問題就是如果自動化起來,總不能自己手動點吧
這里配置Window計劃任務,首先創(chuàng)建一個新任務,起個名字autoemail
配置觸發(fā)器,每1分鐘執(zhí)行一次,在操作這里,要執(zhí)行的內(nèi)容是什么呢,顯然Window并不能直接執(zhí)行python,這里創(chuàng)建一個.bat文件,在文件中執(zhí)行Python文件,在計劃任務這里指定.bat文件即可

最后
現(xiàn)在自己手動給郵箱發(fā)一封郵件之后,等待1分鐘后,就可以看到pymsgbox的彈窗提示了,現(xiàn)在就可以去郵箱里面去查收郵件了,或者也可以直接把郵件內(nèi)容一起顯示出來,隨意啦

想要獲取完整代碼(或其他辦公自動化代碼)戳這里 : https://github.com/yanwydxf/office-automation/tree/master/autoemail
到此這篇關于Python結合Window計劃任務監(jiān)測郵件的示例代碼的文章就介紹到這了,更多相關Python Window計劃任務監(jiān)測郵件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- 利用4行Python代碼監(jiān)測每一行程序的運行時間和空間消耗
- python 監(jiān)測內(nèi)存和cpu的使用率實例
- Python 監(jiān)測文件是否更新的方法
- python微信撤回監(jiān)測代碼
- python監(jiān)測當前聯(lián)網(wǎng)狀態(tài)并連接的實例
- Python實現(xiàn)線程狀態(tài)監(jiān)測簡單示例
- Python實現(xiàn)的監(jiān)測服務器硬盤使用率腳本分享
- linux系統(tǒng)使用python監(jiān)測系統(tǒng)負載腳本分享
- linux系統(tǒng)使用python監(jiān)測網(wǎng)絡接口獲取網(wǎng)絡的輸入輸出
相關文章
Python類中的裝飾器在當前類中的聲明與調(diào)用詳解
這篇文章主要介紹了Python類中的裝飾器在當前類中的聲明與調(diào)用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
使用Rasterio讀取柵格數(shù)據(jù)的實例講解
python中struct模塊之字節(jié)型數(shù)據(jù)的處理方法

