第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

使用 zmail 模塊收發(fā)郵件

在前面小節(jié)中,我們已經(jīng)可以使用 Python 內置的 smtplib 與 email 模塊進行郵件內容的構建和各類型郵件內容的發(fā)送。但在使用上郵件內容構建的部分還是非常的繁瑣的。那有沒有更簡潔的方式來實現(xiàn)這一功能呢?答案肯定是有的,請看本節(jié)課要學習的 zmail 模塊。

1. zmail 模塊介紹

使用 zmail 模塊可以更加便捷的實現(xiàn)發(fā)送郵件、接收郵件功能,無需手動添加 - 服務器地址,端口,合適的協(xié)議等內容,zmail 都已經(jīng)完成了這些工作。

zmail 模塊 github 地址:https://github.com/ZYunH/zmail:

zmail 更多特性如下:

  1. 自動查找服務器地址及其端口;
  2. 自動使用合適的協(xié)議登錄;
  3. 自動將 Python 字典轉換為 MIME 對象(帶有附件);
  4. 自動添加郵件標題和本地名稱,以避免服務器拒絕您的郵件;
  5. 輕松自定義您的郵件標題;
  6. 支持 HTML 作為郵件內容。

Tips:zmail 僅在 python3 中運行,而無需第三方模塊。不支持 python2。

你可以使用 zmai 進行以下操作:

  1. 作為監(jiān)控腳本的發(fā)送郵件模塊,及時傳遞信息
  2. 嵌入到已有的項目中實現(xiàn)功能
  3. 自定義郵件發(fā)送過程,諸如準點發(fā)送、定時發(fā)送等

zmail 模塊支持的郵件服務器:

服務器地址 發(fā)郵件 找回郵件 備注
@163.com ? ? 需要應用專用密碼
@qq.com ? ? POP3 需要應用專用密碼
@126.com ? ? ——
@yeah.com ? ? ——
@gamil.com ? ? 需要應用專用密碼
@sina.com ? ? ——
@outlook.com ? ? 需要應用專用密碼
@hotmail.com ? ? 需要額外的設置

支持的企業(yè)郵件服務器:

名稱 用法
騰訊企業(yè)郵箱 zmail.server(‘username’,‘psw’,config=‘qq’)
阿里企業(yè)郵箱 zmail.server(‘username’,‘psw’,config=‘a(chǎn)li’)
網(wǎng)易企業(yè)郵箱 zmail.server(‘username’,‘psw’,config=‘163’)
Google 企業(yè)郵件 zmail.server(‘username’,‘psw’,config=‘google’)

2. zmail 模塊使用

zmail 模塊是 Python 的第三方庫,使用前需要通過以下命令進行安裝:

pip install zmail

zmail 安裝完成后,使用之前請確保以下兩點:

  1. 使用的 Python3;
  2. 所使用的郵箱已開啟 SMTP / POP3 服務

zmail 使用步驟如下:

步驟 1:導入 zmail 模塊

import zmail

步驟 2:初始化郵件服務

server = zmail.server('xxxxx@qq.com', 'mdgxgiwpnkspbxgx')

步驟 3:發(fā)送或接收郵件

利用 zmail 模塊封裝好的方法,完成郵件發(fā)送或接收郵件操作。

3. 利用 zmail 模塊收發(fā)郵件

接下來一起來學習如何通過 zmail 進行發(fā)送郵件和接收郵件。

3.1 發(fā)送郵件

發(fā)送郵件如下代碼所示:

import zmail
mail = {
    'subject': '你有一封新的郵件!', 
    'content_text': '測試內容!'
}
server = zmail.server('xxxxxx@qq.com', 'xlogucqphohxcabi')
server.send_mail("xxxxxx@163.com", mail)

代碼解釋:通過 zmail.server 構建與郵件服務器通信的 MailServer 對象,構建完成后,通過 send_mail () 方法發(fā)送郵件,第一個參數(shù)為接收郵件的郵箱,第二個參數(shù)為構建好的郵件內容。代碼執(zhí)行完成后,如下圖所示。

圖片描述

3.2 群發(fā)郵件

日常工作中,經(jīng)常遇到一種場景需要同時發(fā)給多名同事,并抄送給領導,此時可以使用 zmeil 實現(xiàn)群發(fā)郵件的功能,群發(fā)郵件代碼如下所示:

import zmail
mail = {
    'subject': '會議通知', 
    'content_text': '周四上午9點來一層開會!'
}
server = zmail.server('xxxxxx@qq.com', 'xlogucqphohxcabi')
# 發(fā)送至收件人和抄送人
server.send_mail(['xxxxxx@qq.com','xxxxxx@163.com'],mail,cc=['xxxxxx@qq.com'])

代碼解釋:通過 zmail.server 構建與郵件服務器通信的 MailServer 對象,構建完成后,通過 send_mail () 方法發(fā)送郵件,第一個參數(shù)為接收郵件的郵箱,當需要群發(fā)時,這里設置為一個郵箱列表,第二個參數(shù)為構建好的郵件內容,第三個參數(shù)為要抄送的郵箱。代碼執(zhí)行完成后,如下圖所示。
圖片描述

3.3 接收郵件

接收郵件如下代碼所示:

import zmail
server = zmail.server('xxxxxx@qq.com', 'xlogucqphohxcabi')
latest_mail = server.get_latest()
# zmail.show(latest_mail)
print(latest_mail["id"])
print(latest_mail["from"])
print(latest_mail["to"])
print(latest_mail["subject"])

代碼解釋:通過 get_latest () 方法獲取最新一封郵件,分別打印郵件 ID、發(fā)件人、收件人、郵件標題。當前郵箱郵件如下圖所示。

圖片描述

代碼執(zhí)行完,輸出結果如下圖所示。

圖片描述

4. 小結

本節(jié)課程我們主要學習了 zmail 模塊介紹與安裝。本節(jié)課程的重點如下:

  • 了解 zmail 模塊的作用;
  • 掌握 zmail 模塊使用步驟;
  • 掌握 zmail 模塊下郵件發(fā)送和接收最新郵件的使用