老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

如何用Python自動化管理Exchange郵箱

這篇文章主要介紹了如何用Python自動化管理Exchange郵箱的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇如何用Python自動化管理Exchange郵箱文章都會有所收獲,下面我們一起來看看吧。

創新互聯建站專注于蓮池企業網站建設,響應式網站設計,商城網站建設。蓮池網站建設公司,為蓮池等地區提供建站服務。全流程定制網站建設,專業設計,全程項目跟蹤,創新互聯建站專業和態度為您提供的服務

Python是一種解釋型、交互式、面向對象的編程語言,不但簡單、開源、可移植,而且擁有豐富的Python官方和第三方類庫。這些類庫的底層代碼不一定都是Python,還有很多C/C++的身影。通過C/C++語言實現的代碼可以在Python中被調用。所以Python也被稱為“膠水語言”。基于Python的強大類庫,我們可以實現諸如Web開發,自動化管理,數據分析,機器學習等各種功能。今天我要介紹的是如何借助Python的Exchangelib庫輕松實現Exchange郵箱的自動化管理。重點介紹郵箱中的郵件數據和會議日程\日歷的在Python中的自動化管理操作。

Exchange是微軟的企業級郵件服務系統,本地Exchange版本目前最新的是Exchange2019。隨著云服務的不斷發展,用戶群體也越來越龐大。很多用戶轉而使用Exchange  Online服務或者將本地Exchange與Exchange Online進行混合部署。本文的實現代碼和案例對本地的Exchange和Exchange  Online郵箱都是適用的。

Exchangelib是一個強大的Exchange客戶端Python庫。它實現了Exchange郵箱的對象關系映射。  Exchangelib庫對郵箱的管理操作是通過EWS (Exchange Web Service)  來實現的。EWS是Exchange郵箱的接口服務。EWS集成了原來WebDAV和CODEX的功能,基于SOAP協議。這使它可以被發送HTTPS請求的任何操作系統遠程訪問。EWS是非常高效的Exchange資源訪問接口。

在開始之前,我們首先在CMD中運行命令pip來安裝Exchangelib庫(pip是Python的包管理工具):pip install  exchangelib。

接下來導入exchangelib和datetime等類庫:

from exchangelib import Message,Credentials,Account,HTMLBody,Mailbox  from exchangelib import EWSTimeZone,EWSDateTime  import datetime as dt

1.1郵件發送的實現如下: 

#將郵箱的帳號和密碼等信息賦值給account  credentials = Credentials("","")  account = Account(',credentials=credentials,autodiscover=True)  #html中包含的是HTML格式的郵件內容  html = 'Hello World!'  #在message中配置帳號 郵件標題 內容 收件人等信息  message = Message(  account=account,  subject="For Test",  body=HTMLBody(html),  to_recipients=('',),  )  #發送郵件  message.send()

1.2郵件獲取的實現如下: 

#獲取本地時區  tz = EWSTimeZone.localzone()  #獲取某一時間段內的郵件內容;比如獲取日期為3/27/2021的所有郵件。首先指定時區,然后創建時區相關的時間日期類實例。如果郵件位于收件箱Inbox的子文件夾中,可以如下所示將替換為子文件夾的名字  items = (account.inbox/'').all().filter(datetime_received__range=(  dt.datetime(2021, 3, 27, 0, 0, 0, 0, tz),  dt.datetime(2021, 3, 27, 23, 59, 59, 0, tz)  ))  如果想取前100封郵件,可以使用如下命令:  items = (account.inbox/'Reports').all().order_by('-datetime_received')[0:100]

1.3郵件轉發的實現如下:

items[0].forward(subject='FWD:%s'%items[0].subject, body=Items[0].body, to_recipients=('',))

1.4郵件刪除的實現如下: 

items[0].delete()#完全刪除  items[0].soft_delete()#軟刪除 可恢復  to_folder = account.root/'Top of Information Store'/'Deleted Items'  items[0].move(to_folder)#移動到已刪除文件夾

通過以上的學習,我們知道了通過Python操作Exchange郵箱的基本方法。下面舉一個簡單的自動化管理郵箱的例子:比如實現對特定種類的郵件進行自動回復。

#獲取最近一天的未讀郵件  today = dt.datetime.today()  day = dt.timedelta(days=1)  from_date = today - day  tz = EWSTimeZone.localzone()  tz_time = from_date.replace(tzinfo=tz)  items = account.inbox.filter(is_read=False, datetime_received__gte=tz_time)  #針對包含指定標題內容來自指定用戶的郵件進行自動回復。比如自動批示等等。  Filter_items = items.filter(subject__contains='xxx', sender='XXX@XXX.com')  for item in Filter_items:  Items[0].reply_all(  subject='’,  body='xxx'  )

通過Python不但可以對郵件數據進行自動化操作,還可以對日歷,任務,聯系人等進行管理。接下來我們來看一下通過Python如何對郵箱中的會議日程\日歷進行自動化管理。首先我們導入Exchangelib中的日歷相關模塊。CalendarItem類允許您發送您發起的會議請求或取消之前已經安排的會議。還可以處理接收到的MeetingRequest消息。您可以使用AcceptItem、TentativelyAcceptItem和DeclineItem類答復這些消息。

from exchangelib import CalendarItem  from exchangelib.items import MeetingRequest, MeetingCancellation,SEND_TO_ALL_AND_SAVE_COPY

2.1會議日程創建的實現如下: 

# EWSTimeZone.localzone()用來獲取本地的時區信息 便于將日期轉換成本地時區的日期  tz = EWSTimeZone.localzone()  # CalenderItem用來準備會議日程的信息:比如開始時間和結束時間,主題,會議邀請正文,參會人等等  item = CalendarItem(  account=account,  folder=account.calendar,  start=dt.datetime(2021, 4, 15, 11, 0, 0, 0, tz),  end=dt.datetime(2021, 4, 15, 12, 0, 0, 0, tz),  subject="For Test",  body="meeting test",  required_attendees=['xxx@xxx.com,'xxx@xxx.com']  )  # item.save()用來發送會議邀請郵件  item.save(send_meeting_invitations=SEND_TO_ALL_AND_SAVE_COPY)

2.1會議日程獲取的實現如下: 

# 比如我們要獲取某一天內的所有會議日程  calendars = account.calendar.all().filter(datetime_received__range=(  dt.datetime(2021, 4, 14, 23, 59, 59, 0, tz),  dt.datetime(2021, 4, 15, 23, 59, 59, 0, tz)  ))  # 將會議日程的標題打印輸出并查看  for calendar in calendars:  print(calendar.subject)

2.2會議日程取消的實現如下:

# 取消郵件標題為'For  Test'的會議日程。取消命令為“calendar.cancel()”。calendar.subject.find()用來進行關鍵字查找,用于查找對應的郵件項。

for calendar in calendars:  if calendar.organizer.email_address == account.primary_smtp_address and calendar.subject.find('For Test') >= 0:  calendar.cancel()

2.2自動接收會議邀請的實現如下:

#  通過對收件箱郵件的過濾,得到會議邀請郵件。然后針對該類型郵件可以按照如下操作接受會議邀請,拒絕會議邀請,暫時接受會議邀請。Body中可以我定義回復的郵件正文內容。

for item in items:  if isinstance(item,MeetingRequest):  item.accept(body="Accpeted")#接受會議邀請  item.decline(body="sorry, I have no time")#拒絕會議邀請  item.tentatively_accept(body="I'll join if I'm free at that time")#暫時接受會議邀請

實際上Exchange郵箱里的數據,不管是日歷還是郵件都是基于文件夾結構的。我們可以通過命令”print(account.root.tree())”來查看郵箱的目錄結構。

關于“如何用Python自動化管理Exchange郵箱”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“如何用Python自動化管理Exchange郵箱”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道。


網頁名稱:如何用Python自動化管理Exchange郵箱
網站路徑:http://www.xueling.net.cn/article/ieohgo.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 亚洲欧美成人a毛片 | 日韩久久久久久久久久 | 免费在线看h | 亚洲AV无码欧洲AV无码网站 | 国产黄色自拍视频 | 天天干天天天天 | 国产欧美一区在线观看 | 91黄色在线视频 | 中文字幕视频精品一区二区三区 | 99精品国产高清一区二区 | 一级毛片在线视频免费观看 | 久久毛片网站 | 成全视频免费观看在线看黑人 | 国产成人精品手机在线观看 | 成人在线中文字幕 | 青青久久久久 | 麻豆传媒网站在线观看 | 国产特级毛片aaaaaaa高清 | 视频一区中文字幕精品 | www.一二三四 | 日韩精品无码久久久久久 | 亚洲综合精品香蕉久久网97 | 精品国产一区二区亚洲人成毛片 | 国产精品爆乳在线播放第一人称 | 国产精品一久久香蕉国产线看观看 | 国产激情av| 成全高清视频免费观看 | 一区二区三区产品乱码的解决方法 | 中国黄色片在线观看 | 国产精品一级 | 91久操网| 麻豆人人妻人人妻人人片AV | 黄网久久 | 亚洲人精选亚洲人成在线 | 国产午夜精品一二区理论影院 | 出差被夫の上司持久侵犯在线观看 | 国产精品成人无码A片免费网址 | 欧美丰满熟妇XXXX | 成人免费在线小视频 | 日韩女优一区二区三区 | 99久久精品国产国产毛片小说 |