欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python辦公自動化之讀取本地OUTLOOK客戶端郵件

 更新時間:2023年10月24日 08:37:43   作者:ryanlll3  
這篇文章主要為大家詳細(xì)介紹了如何使用python實現(xiàn)讀取本地OUTLOOK客戶端郵件,文中的示例代碼講解詳細(xì),具有一定的參考價值,需要的小伙伴可以了解下

本方法適用于POP服務(wù)器不可用,管理員沒有賦予開啟權(quán)限的情況。你只能讀取本地客戶端的郵件,否則建議直接開發(fā)python程序自動登錄服務(wù)器,讀取郵件。

安裝依賴包

python -m pip install pypiwin32

讀取郵件

#!/usr/bin/python
# _*_ coding:utf-8 _*_
 
from win32com.client.gencache import EnsureDispatch as Dispatch
 
# 固定寫法
outlook = Dispatch("Outlook.Application").GetNamespace("MAPI")
# 根級目錄(郵箱名稱,包括Outlook讀取的存檔名稱)
Accounts = outlook.Folders
for Account_Name in Accounts:
    print('>> 正在查詢的帳戶名稱:{}'.format(Account_Name.Name))
    # 一級目錄集合(與inbox同級)['收件箱', '發(fā)件箱', '已發(fā)送', 'xxx', 'xxx']
    Level_1_Names = Account_Name.Folders
    for Level_1_Name in Level_1_Names:
        print('- 正在查詢一級目錄:{}'.format(Level_1_Name.Name))
        # 一級文件夾的mail合集[所有郵件對象]
        Mail_1_Messages = Level_1_Name.Items
        # 將郵件按接收時間排序
        Mail_1_Messages.Sort("[ReceivedTime]", True)
        # 開始查看單個郵件的信息
        for xx in Mail_1_Messages:
            Root_Directory_Name_1 = Account_Name.Name  # 記錄根目錄名稱
            Level_1_FolderName_1 = Level_1_Name.Name  # 記錄一級目錄名稱
            Level_2_FolderName_1 = ''  # 一級目錄肯定沒有二級目錄,顧留為空
            # 接收時間
            if hasattr(xx, 'ReceivedTime'):
                ReceivedTime_1 = str(xx.ReceivedTime)[:-6]
            else:
                ReceivedTime_1 = ''
            # 發(fā)件人
            if hasattr(xx, 'SenderName'):
                SenderName_1 = xx.SenderName
            else:
                SenderName_1 = ''
            # 收件人
            if hasattr(xx, 'To'):
                to_to_1 = xx.To
            else:
                to_to_1 = ''
            # 抄送人
            if hasattr(xx, 'CC'):
                cc_cc_1 = xx.CC
            else:
                cc_cc_1 = ''
            # 主題
            if hasattr(xx, 'Subject'):
                Subject_1 = xx.Subject
            else:
                Subject_1 = ''
            # 郵件MessageID
            if hasattr(xx, 'EntryID'):
                MessageID_1 = xx.EntryID
            else:
                MessageID_1 = ''
            # 會話主題
            if hasattr(xx, 'ConversationTopic'):
                ConversationTopic_1 = xx.ConversationTopic
            else:
                ConversationTopic_1 = ''
            # 會話ID
            if hasattr(xx, 'ConversationID'):
                ConversationID_1 = xx.ConversationID
            else:
                ConversationID_1 = ''
            # 會話記錄相對位置
            if hasattr(xx, 'ConversationIndex'):
                ConversationIndex_1 = xx.ConversationIndex
            else:
                ConversationIndex_1 = ''
            # 郵件內(nèi)容
            if hasattr(xx, 'Body'):
                EmailBody_1 = xx.Body
            else:
                EmailBody_1 = ''
 
        # 判斷當(dāng)前查詢的一級郵件目錄是否有二級目錄(若有多級目錄,可以參考此段代碼)
        if Level_1_Name.Folders:
            # 二級目錄的集合
            Level_2_Names = Level_1_Name.Folders
            for Level_2_Name in Level_2_Names:
                print(' - - 正在查詢二級目錄:' , Level_1_Name.Name , '//' , Level_2_Name.Name)
                # 二級目錄的郵件集合
                Mail_2_Messages = Level_2_Name.Items
                # 開始查看單個郵件的信息
                for yy in Mail_2_Messages:
                    # 記錄根目錄名稱
                    Root_Directory_Name_2 = Account_Name.Name
                    # 記錄一級目錄名稱
                    Level_1_FolderName_2 = Level_1_Name.Name
                    # 記錄二級目錄名稱
                    Level_2_FolderName_2 = Level_2_Name.Name
                    # 接收時間
                    if hasattr(yy, 'ReceivedTime'):
                        ReceivedTime_2 = str(yy.ReceivedTime)[:-6]
                    else:
                        ReceivedTime_2 = ''
                    # 發(fā)件人
                    if hasattr(yy, 'SenderName'):
                        SenderName_2 = yy.SenderName
                    else:
                        SenderName_2 = ''
                    # 收件人
                    if hasattr(yy, 'To'):
                        to_to_2 = yy.To
                    else:
                        to_to_2 = ''
                    # 抄送人
                    if hasattr(yy, 'CC'):
                        cc_cc_2 = yy.CC
                    else:
                        cc_cc_2 = ''
                    # 主題
                    if hasattr(yy, 'Subject'):
                        Subject_2 = yy.Subject
                    else:
                        Subject_2 = ''
                    # 郵件MessageID
                    if hasattr(yy, 'EntryID'):
                        MessageID_2 = yy.EntryID
                    else:
                        MessageID_2 = ''
                    # 會話主題
                    if hasattr(yy, 'ConversationTopic'):
                        ConversationTopic_2 = yy.ConversationTopic
                    else:
                        ConversationTopic_2 = ''
                    # 會話ID
                    if hasattr(yy, 'ConversationID'):
                        ConversationID_2 = yy.ConversationID
                    else:
                        ConversationID_2 = ''
                    # 會話記錄相對位置
                    if hasattr(yy, 'ConversationIndex'):
                        ConversationIndex_2 = yy.ConversationIndex
                    else:
                        ConversationIndex_2 = ''
                    # 郵件正文內(nèi)容
                    if hasattr(yy, 'Body'):
                        EmailBody_2 = yy.Body
                    else:
                        EmailBody_2 = ''
        else:
            pass

保存附件

from win32com.client.gencache import EnsureDispatch as Dispatch
 
# 獲取收件箱目錄(數(shù)字6代表收件箱)
outlook_accounts = Dispatch('Outlook.Application').GetNamespace('MAPI').GetDefaultFolder(6)
# 收件箱下所有郵件
mails = outlook_accounts.Items
# 郵件按時間排序
mail.Sort('[ReceivedTime]', True)
# 獲取第6封郵件的所有附件(下標(biāo)從1開始)
atts = mails.Item(6)Attachments
# 第6封郵件附件數(shù)量
atts_num = atts.Count
# 遍歷附件對象
for att in atts:
    print('att_name: {}'.format(att.FileName))
    # 將附件存入D盤
    att.SaveAsFile('D:\{}'.format(att.FileName))

到此這篇關(guān)于python辦公自動化之讀取本地OUTLOOK客戶端郵件的文章就介紹到這了,更多相關(guān)python讀取本地郵件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python中執(zhí)行shell命令的幾個方法小結(jié)

    python中執(zhí)行shell命令的幾個方法小結(jié)

    這篇文章主要介紹了python中執(zhí)行shell命令的幾個方法,本文一共給出3種方法實現(xiàn)執(zhí)行shell命令,需要的朋友可以參考下
    2014-09-09
  • Python Sqlalchemy如何實現(xiàn)select for update

    Python Sqlalchemy如何實現(xiàn)select for update

    這篇文章主要介紹了Python Sqlalchemy如何實現(xiàn)select for update,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • python實現(xiàn)簡單flappy bird

    python實現(xiàn)簡單flappy bird

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)簡單flappy bird小游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 2023最新pytorch快速安裝指南(超詳細(xì)版)

    2023最新pytorch快速安裝指南(超詳細(xì)版)

    這篇文章主要給大家介紹了2023年最新pytorch快速安裝指南的相關(guān)資料,PyTorch是一個開源的深度學(xué)習(xí)框架,提供了各種張量操作并通過自動求導(dǎo)可以自動進行梯度計算,方便構(gòu)建各種動態(tài)神經(jīng)網(wǎng)絡(luò),需要的朋友可以參考下
    2023-10-10
  • Python3中省略號(...)用法介紹

    Python3中省略號(...)用法介紹

    本文主要介紹了Python3中省略號(...)用法介紹,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python中的list字符串元素排序

    python中的list字符串元素排序

    這篇文章主要介紹了python中的list字符串元素排序方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 使用Python可設(shè)置抽獎?wù)邫?quán)重的抽獎腳本代碼

    使用Python可設(shè)置抽獎?wù)邫?quán)重的抽獎腳本代碼

    這篇文章主要介紹了Python可設(shè)置抽獎?wù)邫?quán)重的抽獎腳本,抽獎系統(tǒng)包含可給不同抽獎?wù)咴O(shè)置不同的權(quán)重,先從價值高的獎品開始抽,已經(jīng)中獎的人,不再參與后續(xù)的抽獎,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • python中l(wèi)ist列表復(fù)制的幾種方法(賦值、切片、copy(),deepcopy())

    python中l(wèi)ist列表復(fù)制的幾種方法(賦值、切片、copy(),deepcopy())

    本文主要介紹了python中l(wèi)ist列表復(fù)制的幾種方法(賦值、切片、copy(),deepcopy()),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Python logging模塊原理解析及應(yīng)用

    Python logging模塊原理解析及應(yīng)用

    這篇文章主要介紹了Python logging模塊原理解析及應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • python學(xué)生信息管理系統(tǒng)實現(xiàn)代碼

    python學(xué)生信息管理系統(tǒng)實現(xiàn)代碼

    這篇文章主要介紹了python學(xué)生信息管理系統(tǒng)的實現(xiàn)代碼,代碼簡單,復(fù)制即可使用,需要的朋友可以參考下
    2019-12-12

最新評論