中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用python自動收發郵件

發布時間:2020-07-23 10:03:49 來源:億速云 閱讀:362 作者:小豬 欄目:開發技術

這篇文章主要為大家展示了如何使用python自動收發郵件,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

1、相關庫介紹

1)yagmail

  • Yet Another GMAIL/SMTP client;
  • 非常方便的SMTP包,超簡單的Python發郵件模塊;
  • 需要單獨安裝,不包含在Python標準模塊里;
  • yagmail官網鏈接

2)keyring

  • 從Python訪問系統密鑰環服務(即密碼不用直接寫在代碼里);
  • 方便、安全地儲存你的密碼;
  • 需要單獨安裝,不包含在Python標準模塊里;
  • keyring官網鏈接

3)schedule

  • 超容易理解的定時任務執行器;
  • 需要單獨安裝,不包含在Python標準模塊里;
  • schedule官網鏈接

4)imbox

  • 簡易的Python IMAP包;
  • 進行IMAP相關的操作;
  • 需要單獨安裝,不包含在Python標準模塊里;
  • imbox官網鏈接

5)上述庫安裝

pip install yagmail keyring schedule imbox

2、利用python發送郵件

1)郵件相關基礎知識

  • POP3:Post Office Protocol3的簡稱,即郵局協議的第3個版本,它規定怎樣將個人計算機連接到Internet的郵件服務器和下載電子郵件的電子協議。
  • SMTP:Simple Mail Transfer Protocol,即簡單郵件傳輸協議。
  • IMAP:Internet Mail Access Protocol,即交互式郵件存取協議,它是跟POP3類似郵件訪問標準協議之一。

注意:寫代碼發郵件時一定要注意不能頻繁發送!容易被當做垃圾郵件被屏蔽!!

2)python發送郵件流程(以“QQ郵箱”為例,進行說明)

① 注冊一個QQ郵箱,開通POP3/SMTP/IMAP

具體可參考:python實現QQ郵箱/163郵箱的郵件發送

python利用smtplib實現QQ郵箱發送郵件

點擊設置--》賬戶--》開啟如下服務

如何使用python自動收發郵件

注意:開啟過程中,需要發送短信驗證,此時會出現一個第三方密碼,這個第三方密碼在使用第三方軟件登陸的時候,用該密碼代替你的扣扣登陸密碼。

如何使用python自動收發郵件

② 找到SMTP和IMAP服務器的地址

如何使用python自動收發郵件

③ 發送郵件之前,先使用yagmail存儲你的郵件地址和密碼

如何使用python自動收發郵件

注意:這兩行代碼,是用于存儲你的郵件地址和密碼,當你執行這行代碼后。你后面發送郵件的時候,就只需要顯示給出你賬號即可,而不用再把密碼顯示出來。

 ④ 發送第一封測試郵件

import yagmail
# 這里的user填寫的是你的扣扣郵箱賬號,可以看出這里并沒有寫我們的“密碼”
yag = yagmail.SMTP(user="××××××××××@qq.com",host="smtp.qq.com")

contents = ["這是第一段正文內容","這是第二段正文內容"]
# 這里填寫的是你要發送的人的扣扣郵箱
yag.send("××××××××××@qq.com","這是一封郵件",contents)
"""
特別備注一下:這里可以看到,我們發送郵件的時候,此時就沒有顯示給出密碼了。
這樣做相對來說較為安全,這就是yagmail庫的好處。
"""

結果如下:

如何使用python自動收發郵件

⑤ 發送帶HTML樣式的郵件

import yagmail

yag = yagmail.SMTP(user="××××××××××@qq.com",host="smtp.qq.com")

contents = ['這是第一段正文內容',
 '這是第二段正文內容',
 '百度網站']

yag.send("××××××××××@qq.com","這是一封郵件",contents)

結果如下:

如何使用python自動收發郵件

⑥ 發送帶附件的郵件

import yagmail

yag = yagmail.SMTP(user="××××××××××@qq.com",host="smtp.qq.com")

contents = ['這是第一段正文內容',
 '這是第二段正文內容',
 '百度網站',
 'G:\\6Tipdm\\7python辦公自動化\\我創建的壓縮包.zip']

yag.send("××××××××××@qq.com","這是一封郵件",contents)

結果如下:

如何使用python自動收發郵件

⑦ 發送帶嵌入圖片的郵件

import yagmail

yag = yagmail.SMTP(user="××××××××××@qq.com",host="smtp.qq.com")

contents = ['親愛的××老婆',
 '我愛你',
 yagmail.inline('G:\\6Tipdm\\7python辦公自動化\\老婆.png')]

yag.send("××××××××××@qq.com","這是一封郵件",contents)

⑧ 群發郵件

import yagmail

yag = yagmail.SMTP(user="1127421544@qq.com",host="smtp.qq.com")

contents = ['這是第一段正文內容',
 '這是第二段正文內容',
 '百度網站',
 'G:\\6Tipdm\\7python辦公自動化\\我創建的壓縮包.zip']

# 定義一個收件人列表
shoujian_ren = ["×1×@qq.com","×2×@qq.com","×3×@qq.com"]
yag.send(shoujian_ren,"這是一封郵件",contents)

⑨ 定時發送郵件

利用這個功能,你可以定時給你女朋友發送郵件,表達你的關心,以免自給由于工作忙,而忽略了自己的女朋友。

import time
import schedule
import yagmail
import datetime

def morning():
 content = ["親愛的,記得吃早飯哦!"]
 yag = yagmail.SMTP(user="1127421544@qq.com",host="smtp.qq.com")
 yag.send("1127421544@qq.com","這是一封郵件",content)
def afternoon():
 content = ["親愛的,記得吃中飯哦!"]
 yag = yagmail.SMTP(user="1127421544@qq.com",host="smtp.qq.com")
 yag.send("1127421544@qq.com","這是一封郵件",content)
def evering():
 content = ["親愛的,記得吃晚飯哦!"]
 yag = yagmail.SMTP(user="1127421544@qq.com",host="smtp.qq.com")
 yag.send("1127421544@qq.com","這是一封郵件",content)

schedule.every().day.at("07:30").do(morning)
schedule.every().day.at("11:30").do(afternoon)
schedule.every().day.at("17:30").do(evering)

while True:
 # 當代碼完成了這一天的任務以后,自動結束任務
 if datetime.datetime.now().strftime("%H:%M") == "17:31":
 break
 schedule.run_pending()
 time.sleep(1)
"""
# 每十分鐘,執行一次任務
schedule.every(10).minutes.do(job)
# 每小時,執行一次任務
schedule.every().hour.do(job)
# 每天上午十點半,執行一次任務
schedule.every().day.at("10:30").do(job)
# 每5-10鐘,執行一次任務
schedule.every(5).to(10).minutes.do(job)
# 每周一,執行一次任務
schedule.every().monday.do(job)
# 每周三下午一點十五分,執行一次任務
schedule.every().wednesday.at("13:15").do(job)
# 每分鐘的第十七秒,執行一次任務
schedule.every().minute.at(":17").do(job)
"""

3、利用python讀取郵件

如何使用python自動收發郵件

代碼如下:

from imbox import Imbox
import keyring
# "1127421544@qq.com"是你的郵箱賬號
pwd = keyring.get_password("yagmail", "1127421544@qq.com")
# "imap.qq.com"是你的IMAP郵箱服務器地址
with Imbox("imap.qq.com","1127421544@qq.com",pwd,ssl=True) as imbox:
 all_inbox_messages = imbox.messages()
 for uid, message in all_inbox_messages:
 print(message.subject)
 print(message.body["plain"])

如何讀取未讀郵件,只需要添加一個參數:

如何使用python自動收發郵件

如果只想看紅旗標記的郵件,應該怎么辦:

如何使用python自動收發郵件

如果只想看來自某個人的郵件,應該怎么做:

如何使用python自動收發郵件

如何按照日期篩選郵件:

如何使用python自動收發郵件

設置標記已讀和刪除郵件:

如何使用python自動收發郵件

以上就是關于如何使用python自動收發郵件的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

广丰县| 新邵县| 洛川县| 类乌齐县| 老河口市| 上饶县| 外汇| 邹平县| 密云县| 修武县| 时尚| 鄂尔多斯市| 临海市| 株洲县| 方城县| 镇原县| 汽车| 彭阳县| 板桥市| 女性| 峨边| 六枝特区| 丹棱县| 叙永县| 延寿县| 鸡西市| 陇南市| 周口市| 桐乡市| 东乡| 桃源县| 林甸县| 阜新| 鹿邑县| 河曲县| 大渡口区| 高淳县| 大荔县| 修水县| 荣昌县| 皋兰县|