自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何用Python讀取Outlook中的電子郵件

開(kāi)發(fā) 后端
從事電子郵件營(yíng)銷,準(zhǔn)入郵箱列表是必不可少的。你可能已經(jīng)有了準(zhǔn)入列表,同時(shí)還使用電子郵件客戶端軟件。如果你能從電子郵件客戶端中導(dǎo)出準(zhǔn)入列表,那這份列表想必是極好的。

https://s4.51cto.com/oss/201808/24/ffaf6a4c3fe3af850e245c685cc467e8.jpeg

從事電子郵件營(yíng)銷,準(zhǔn)入opt-in郵箱列表是必不可少的。你可能已經(jīng)有了準(zhǔn)入列表,同時(shí)還使用電子郵件客戶端軟件。如果你能從電子郵件客戶端中導(dǎo)出準(zhǔn)入列表,那這份列表想必是極好的。

我使用一些代碼來(lái)將 outlook 配置中的所有郵件寫(xiě)入一個(gè)臨時(shí)文件中,現(xiàn)在讓我來(lái)嘗試解釋一下這些代碼。

首先你需要導(dǎo)入 win32com.client,為此你需要安裝 pywin32:

  1. pip install pywin32 

我們需要通過(guò) MAPI 協(xié)議連接 Outlok:

  1. outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI"

然后從 outlook 配置中獲取所有的賬戶:

  1. accounts= win32com.client.Dispatch("Outlook.Application").Session.Accounts; 

在然后需要從名為 emaileri_al 的收件箱中獲取郵件:

  1. def emailleri_al(folder): 
  2.     messages = folder.Items 
  3.     a=len(messages) 
  4.     if a>0: 
  5.         for message2 in messages: 
  6.              try: 
  7.                 sender = message2.SenderEmailAddress 
  8.                 if sender != ""
  9.                     print(sender, file=f) 
  10.              except
  11.                 print("Ben hatayım"
  12.                 print(account.DeliveryStore.DisplayName) 
  13.                 pass 
  14.  
  15.              try: 
  16.                 message2.Save 
  17.                 message2.Close(0) 
  18.              except
  19.                  pass 

你需要進(jìn)入所有賬戶的所有收件箱中獲取電子郵件:

  1. for account in accounts: 
  2.     global inbox 
  3.     inbox = outlook.Folders(account.DeliveryStore.DisplayName) 
  4.     print("****Account Name**********************************",file=f) 
  5.     print(account.DisplayName,file=f) 
  6.     print(account.DisplayName) 
  7.     print("***************************************************",file=f) 
  8.     folders = inbox.Folders 
  9.  
  10.     for folder in folders: 
  11.         print("****Folder Name**********************************", file=f) 
  12.         print(folder, file=f) 
  13.         print("*************************************************", file=f) 
  14.         emailleri_al(folder) 
  15.         a = len(folder.folders) 
  16.  
  17.         if a>0 : 
  18.             global z 
  19.             z = outlook.Folders(account.DeliveryStore.DisplayName).Folders(folder.name
  20.             x = z.Folders 
  21.             for y in x: 
  22.                 emailleri_al(y) 
  23.                 print("****Folder Name**********************************", file=f) 
  24.                 print("..."+y.name,file=f) 
  25.                 print("*************************************************", file= 

下面是完整的代碼:import win32com.client 

  1. import win32com 
  2. import os 
  3. import sys 
  4.  
  5. f = open("testfile.txt","w+"
  6.  
  7. outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI"
  8. accounts= win32com.client.Dispatch("Outlook.Application").Session.Accounts; 
  9.  
  10. def emailleri_al(folder): 
  11.     messages = folder.Items 
  12.     a=len(messages) 
  13.     if a>0: 
  14.         for message2 in messages: 
  15.              try: 
  16.                 sender = message2.SenderEmailAddress 
  17.                 if sender != ""
  18.                     print(sender, file=f) 
  19.              except
  20.                 print("Error"
  21.                 print(account.DeliveryStore.DisplayName) 
  22.                 pass 
  23.  
  24.              try: 
  25.                 message2.Save 
  26.                 message2.Close(0) 
  27.              except
  28.                  pass 
  29.  
  30.  
  31.  
  32. for account in accounts: 
  33.     global inbox 
  34.     inbox = outlook.Folders(account.DeliveryStore.DisplayName) 
  35.     print("****Account Name**********************************",file=f) 
  36.     print(account.DisplayName,file=f) 
  37.     print(account.DisplayName) 
  38.     print("***************************************************",file=f) 
  39.     folders = inbox.Folders 
  40.  
  41.     for folder in folders: 
  42.         print("****Folder Name**********************************", file=f) 
  43.         print(folder, file=f) 
  44.         print("*************************************************", file=f) 
  45.         emailleri_al(folder) 
  46.         a = len(folder.folders) 
  47.  
  48.         if a>0 : 
  49.             global z 
  50.             z = outlook.Folders(account.DeliveryStore.DisplayName).Folders(folder.name
  51.             x = z.Folders 
  52.             for y in x: 
  53.                 emailleri_al(y) 
  54.                 print("****Folder Name**********************************", file=f) 
  55.                 print("..."+y.name,file=f) 
  56.                 print("*************************************************", file=f)  
  57.   
  58. print("Finished Succesfully")  

 

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2020-05-25 14:32:42

Python電子郵件自動(dòng)化

2019-06-26 18:30:30

Linux命令行電子郵件

2020-01-09 20:14:44

Windows 10Outlook電子郵件

2011-09-20 09:56:13

Google微軟電子郵件

2019-08-08 14:55:19

電子郵件微軟信頭

2010-09-17 14:11:18

2021-06-16 10:56:32

電子郵件電子郵件攻擊BEC

2011-08-01 11:11:55

2021-06-28 21:21:54

電子郵件郵件安全惡意軟件

2023-03-01 09:48:45

2010-10-21 13:54:20

2010-12-27 16:22:27

郵件地址

2011-12-15 10:45:33

2022-04-29 15:55:51

安全電子郵件病毒

2010-12-28 10:08:27

2011-08-01 12:43:03

2014-09-09 16:44:16

2009-10-14 10:06:03

電子郵件安全關(guān)聯(lián) 網(wǎng)絡(luò)安全

2010-06-10 14:10:58

安全電子郵件協(xié)議

2021-08-27 11:11:01

電子郵件郵件安全網(wǎng)絡(luò)釣魚(yú)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)