Appia의 IT세상

파이썬 [Python] win32com 이용하여, 아웃룩(Outlook) 나에게 메일 보낸 사람 주소 출력하기 본문

Python/Python Office 자동화_EXCEL_Outlook

파이썬 [Python] win32com 이용하여, 아웃룩(Outlook) 나에게 메일 보낸 사람 주소 출력하기

Appia 2021. 4. 20. 18:14
반응형

파이썬 [Python] win32com 이용하여, 아웃룩(Outlook)나에게 메일 보낸 사람 주소 출력하기

이번 포스팅은 나에게 메일을 보내는 사람에 대한 정보를 저장하기 위한 방법에 대해서 포스팅을 해보고자 합니다. 아웃룩을 사용하다보면, 연락처를 만드는 것도 매우 좋은 방법이라고 생각합니다. 그래서 이제까지 나에게 메일을 보낸 사람들의 주소을 출력해보는 스크립트을 만들고자 합니다. 

 

먼저, 이 부분은 앞선 제가 Outlook 연결하는 부분을 토대로 진행이 됩니다. 

파이썬 [Python] win32com 이용하여 Outlook 연결하기

 

파이썬 [Python] win32com 이용하여 Outlook 연결하기

파이썬 [Python] win32com 이용하여 Outlook 연결하기 파이썬[Python]을 가지고 활용하는 부분은 매우 많습니다. 파이썬[Python]을 가지고, 엑셀을 연결할수도 있고 다양한 솔루션을 연결할 수 있습니다

appia.tistory.com

그럼 간단히 코드를 작성하면, 메일 박스에서 items의 아이템들을 반복하면서 각 항목들마다의 Sender ( 보낸 사람의 등록된 이름)과 SenderEmailAddress(보낸 사람의 이메일)을 출력하게 작성을 하였습니다. 

 

보낸 사람코드 출력하기

import win32com.client


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

inbox = Rxoutlook.GetDefaultFolder(6)
for i in inbox.items:
    print(str(i.Sender)+ "\t: "+i.SenderEmailAddress)

출력 결과 

Google AdWords	: adwords-noreply@google.com
트위터	: info@twitter.com
위메프	: no-reply@wemakeprice.com
위메프	: no-reply@wemakeprice.com
트위터	: info@twitter.com
Pinterest	: pinbot@explore.pinterest.com
Digg	: team@email.digg.com
Pinterest	: pinbot@explore.pinterest.com
...
위메프	: no-reply@wemakeprice.com
위메프	: no-reply@wemakeprice.com
Pinterest	: pinbot@explore.pinterest.com
Pinterest	: pinbot@explore.pinterest.com
위메프	: no-reply@wemakeprice.com

위에서의 결과와 같이 동일한 부분에 대한 반복이 매우 많습니다. 그래서 이와 같이 동일한 부분에 대해서 중복 출력을 하지 않도록 처리 작업을 해보겠습니다. 먼저, 리스트를 하나 만들어서 저장을 합니다. 단, 리스트안에 있는 부분들은 저장하지 않습니다. 그런 후에 저장된 리스트만 출력합니다. 

 

중복된 메일은 예외 처리 후 결과 

import win32com.client
import csv

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

subList = []
inbox = Rxoutlook.GetDefaultFolder(6)
for i in inbox.items:
    if str(i.Sender)+ "\t: "+i.SenderEmailAddress not in subList :
        subList.append(str(i.Sender)+ "\t: "+i.SenderEmailAddress)


for senderitem in subList:
    print(senderitem)

출력 결과 

Prezi	: email@info.prezi.com
Amjad from Repl.it	: contact@repl.it
Prezi	: email@hello.prezi.com
인프런 소식	: hello@inflearn.com
GitHub	: events@github.com
블로그차트	: blogchart.mailer@gmail.com
GitHub	: no-reply@github.com
주간 인프런	: hello@inflearn.com
Microsoft 365	: Microsoft365@email.microsoft365.com
삼성계정	: SA.noreply@samsung-mail.com
Samsung Pay	: pay.noreply@samsung.com
Google Play	: googleplay-noreply@google.com
Microsoft	: microsoft-noreply@microsoft.com

Process finished with exit code 0

이와 같은 방법으로 나에게 메일을 보낸 사람들의 메일 주소를 출력할 수 있습니다. 

 

파이썬 [Python] win32com 이용하여 Outlook 전체메일, 읽지 않은 메일, 읽은 메일 개수 구하기

 

파이썬 [Python] win32com 이용하여 Outlook 전체메일, 읽지 않은 메일, 읽은 메일 개수 구하기

파이썬 [Python] win32com 이용하여 Outlook 전체메일, 읽지 않은 메일, 읽은 메일 개수 구하기 이번 포스팅은 파이썬을 이용하여 아웃룩의 메일 개수에 대해서 이야기를 해보고자 합니다. 메

appia.tistory.com

이번 포스팅에서는 파이썬 [Python] win32com 이용하여 나에게 메일 보낸 사람 주소 출력하기라는 주제로 포스팅을 해봤습니다. 연락처를 만들 때, 종종 사용했던 방법이었는데 사람들에게 도움이 되셨으면 좋겠습니다. 

반응형
Comments