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

python辦公自動(dòng)化之讀取本地OUTLOOK客戶端郵件

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

本方法適用于POP服務(wù)器不可用,管理員沒有賦予開啟權(quán)限的情況。你只能讀取本地客戶端的郵件,否則建議直接開發(fā)python程序自動(dòng)登錄服務(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")
# 根級(jí)目錄(郵箱名稱,包括Outlook讀取的存檔名稱)
Accounts = outlook.Folders
for Account_Name in Accounts:
    print('>> 正在查詢的帳戶名稱:{}'.format(Account_Name.Name))
    # 一級(jí)目錄集合(與inbox同級(jí))['收件箱', '發(fā)件箱', '已發(fā)送', 'xxx', 'xxx']
    Level_1_Names = Account_Name.Folders
    for Level_1_Name in Level_1_Names:
        print('- 正在查詢一級(jí)目錄:{}'.format(Level_1_Name.Name))
        # 一級(jí)文件夾的mail合集[所有郵件對(duì)象]
        Mail_1_Messages = Level_1_Name.Items
        # 將郵件按接收時(shí)間排序
        Mail_1_Messages.Sort("[ReceivedTime]", True)
        # 開始查看單個(gè)郵件的信息
        for xx in Mail_1_Messages:
            Root_Directory_Name_1 = Account_Name.Name  # 記錄根目錄名稱
            Level_1_FolderName_1 = Level_1_Name.Name  # 記錄一級(jí)目錄名稱
            Level_2_FolderName_1 = ''  # 一級(jí)目錄肯定沒有二級(jí)目錄,顧留為空
            # 接收時(shí)間
            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 = ''
            # 會(huì)話主題
            if hasattr(xx, 'ConversationTopic'):
                ConversationTopic_1 = xx.ConversationTopic
            else:
                ConversationTopic_1 = ''
            # 會(huì)話ID
            if hasattr(xx, 'ConversationID'):
                ConversationID_1 = xx.ConversationID
            else:
                ConversationID_1 = ''
            # 會(huì)話記錄相對(duì)位置
            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)前查詢的一級(jí)郵件目錄是否有二級(jí)目錄(若有多級(jí)目錄,可以參考此段代碼)
        if Level_1_Name.Folders:
            # 二級(jí)目錄的集合
            Level_2_Names = Level_1_Name.Folders
            for Level_2_Name in Level_2_Names:
                print(' - - 正在查詢二級(jí)目錄:' , Level_1_Name.Name , '//' , Level_2_Name.Name)
                # 二級(jí)目錄的郵件集合
                Mail_2_Messages = Level_2_Name.Items
                # 開始查看單個(gè)郵件的信息
                for yy in Mail_2_Messages:
                    # 記錄根目錄名稱
                    Root_Directory_Name_2 = Account_Name.Name
                    # 記錄一級(jí)目錄名稱
                    Level_1_FolderName_2 = Level_1_Name.Name
                    # 記錄二級(jí)目錄名稱
                    Level_2_FolderName_2 = Level_2_Name.Name
                    # 接收時(shí)間
                    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 = ''
                    # 會(huì)話主題
                    if hasattr(yy, 'ConversationTopic'):
                        ConversationTopic_2 = yy.ConversationTopic
                    else:
                        ConversationTopic_2 = ''
                    # 會(huì)話ID
                    if hasattr(yy, 'ConversationID'):
                        ConversationID_2 = yy.ConversationID
                    else:
                        ConversationID_2 = ''
                    # 會(huì)話記錄相對(duì)位置
                    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
# 郵件按時(shí)間排序
mail.Sort('[ReceivedTime]', True)
# 獲取第6封郵件的所有附件(下標(biāo)從1開始)
atts = mails.Item(6)Attachments
# 第6封郵件附件數(shù)量
atts_num = atts.Count
# 遍歷附件對(duì)象
for att in atts:
    print('att_name: {}'.format(att.FileName))
    # 將附件存入D盤
    att.SaveAsFile('D:\{}'.format(att.FileName))

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

    python中的list字符串元素排序

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

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

    這篇文章主要介紹了Python可設(shè)置抽獎(jiǎng)?wù)邫?quán)重的抽獎(jiǎng)腳本,抽獎(jiǎng)系統(tǒng)包含可給不同抽獎(jiǎng)?wù)咴O(shè)置不同的權(quán)重,先從價(jià)值高的獎(jiǎng)品開始抽,已經(jīng)中獎(jiǎng)的人,不再參與后續(xù)的抽獎(jiǎng),本文通過實(shí)例代碼給大家介紹的非常詳細(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ì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Python logging模塊原理解析及應(yīng)用

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

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

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

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

最新評(píng)論