溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python結(jié)合Window計(jì)劃任務(wù)監(jiān)測(cè)郵件的示例代碼

發(fā)布時(shí)間:2020-09-26 14:26:27 來(lái)源:腳本之家 閱讀:123 作者:離島 欄目:開(kāi)發(fā)技術(shù)

說(shuō)起自動(dòng)化絕對(duì)算是茶余飯后最有顯B格的談資,畢竟解放雙手是從老祖先那里就流傳下來(lái)的基因,都2020了,你每天上班還要登錄各個(gè)郵箱賬號(hào)查收郵件?快來(lái)解鎖本章內(nèi)容

整體思路

  • 通過(guò)Python zemail庫(kù)實(shí)現(xiàn)郵件讀取
  • 將最新一封郵件ID進(jìn)行保存,第二次執(zhí)行時(shí)比對(duì)郵件ID,判斷是否是新郵件
  • 通過(guò)Python pymsgbox庫(kù)實(shí)現(xiàn)window彈窗提示
  • 配置Window計(jì)劃任務(wù),每1分鐘執(zhí)行一次

 步驟一:郵件讀取

讀取郵件通過(guò)Python zemail庫(kù)進(jìn)行,使用前通過(guò) pip install zemail進(jìn)行安裝,下面來(lái)看個(gè)郵件讀取的例子

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時(shí),注意郵箱要開(kāi)啟POP3/SMTP服務(wù),QQ郵箱開(kāi)啟是在:設(shè)置->開(kāi)啟POP3/SMTP服務(wù),同時(shí)設(shè)置授權(quán)碼,server配置第二個(gè)是自動(dòng)生成的授權(quán)碼

步驟二:新舊郵件比對(duì)

想要提示用戶有最新的郵件,就要把最后一封郵件的信息進(jìn)行記錄,在指定時(shí)間后,拿著兩封郵件的信息進(jìn)行比對(duì),這里我們使用的郵件ID(注意ID并不唯一,如要確保一定的準(zhǔn)確,可以用ID結(jié)合郵件標(biāo)題等多方面信息)

記錄郵件信息我這里放在了一個(gè)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))

步驟三:實(shí)現(xiàn)window彈窗提示

像這種操作早有前人已經(jīng)替我們完成了,這種庫(kù)有很多,這里采用的是pymsgbox,使用前注意通過(guò)pip install pymsgbox進(jìn)行安裝

先了解下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='*')

顯然我們這里用不到太復(fù)雜的彈窗,只要一個(gè)alert就闊以了

#判斷郵件是否是最新
if old_mailid != str(mail_id):
  pymsgbox.alert("你有一封新郵件!") # 彈窗提示有新郵件

步驟四:配置Window計(jì)劃任務(wù)

前面都完成之后,執(zhí)行python文件已經(jīng)可以提示最新郵件了,現(xiàn)在遇到的問(wèn)題就是如果自動(dòng)化起來(lái),總不能自己手動(dòng)點(diǎn)吧

這里配置Window計(jì)劃任務(wù),首先創(chuàng)建一個(gè)新任務(wù),起個(gè)名字autoemail

配置觸發(fā)器,每1分鐘執(zhí)行一次,在操作這里,要執(zhí)行的內(nèi)容是什么呢,顯然Window并不能直接執(zhí)行python,這里創(chuàng)建一個(gè).bat文件,在文件中執(zhí)行Python文件,在計(jì)劃任務(wù)這里指定.bat文件即可

Python結(jié)合Window計(jì)劃任務(wù)監(jiān)測(cè)郵件的示例代碼

最后

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

Python結(jié)合Window計(jì)劃任務(wù)監(jiān)測(cè)郵件的示例代碼

想要獲取完整代碼(或其他辦公自動(dòng)化代碼)戳這里 :​ https://github.com/yanwydxf/office-automation/tree/master/autoemail

到此這篇關(guān)于Python結(jié)合Window計(jì)劃任務(wù)監(jiān)測(cè)郵件的示例代碼的文章就介紹到這了,更多相關(guān)Python Window計(jì)劃任務(wù)監(jiān)測(cè)郵件內(nèi)容請(qǐng)搜索億速云以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持億速云!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI