Appia의 IT세상

파이썬 [Python] win32com 이용하여, 아웃룩(Outlook)메일 저장하기 본문

Python/Python 응용

파이썬 [Python] win32com 이용하여, 아웃룩(Outlook)메일 저장하기

Appia 2021. 4. 29. 06:00
반응형

파이썬 [Python] win32com 이용하여, 아웃룩(Outlook)메일 저장하기

파이썬 [Python] win32com 이용하여, 아웃룩(Outlook)메일 저장하기

이번 포스팅은 메일을 저장하는 코드를 한번 구현해볼려고 합니다. 메일을 사용하다보면 본의 아니게 관련된 메일을 파일로 저장해야하는 경우가 있습니다. 그럴 경우를 대비해서 주기적으로 파일로 저장하는 사람들이 있습니다. 그래서 간단히 스크립트를 통해서 메일을 파일로 저장하는 부분을 구현해보고자 합니다. 

 

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

 

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

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

appia.tistory.com

Win32com을 이용해야 하기 때문에 위의 링크를 바탕으로 진행하겠습니다. 먼저 전체 코드를 살펴보겠습니다. 

import win32com.client
import re


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

subList = []
inbox = Rxoutlook.GetDefaultFolder(6)
for i in inbox.items:

    if "광고" not in i.subject:
        name = re.sub('[^A-Za-z0-9]+', '', i.subject) + '.msg'

        i.saveas(r"D:\\EMail\\"+name+".msg")

 

일단, 저의 겨우 정규식을 사용을 했습니다. 무엇보다 파일이름이기 때문에 윈도우(windows)에서 요구하는 이름 규칙이 깨질 경우에 저장이 되지 않습니다. 그래서 많은 사람들은 파일저장에 실패하곤 합니다. 그래서 저의 경우 그럴 경우를 예방하기 위해서 정규식을 사용하였습니다.  

 

그리고 약간의 규칙을 적용하였습니다. 저의 경우 "광고"라는 부분이 제목에 포함된 내용에 대해서는 반영하지 않도록 설정하였습니다. 

 

가장 중요한 것은 saveas()메소드의 경로 + 파일이름을 반드시 명시해줘야 합니다. 이부분이 입력되지 않으면 파일을 저장할 수가 없습니다. 그럼 위의 코드의 결과는 다음과 같은 형태로 폴더에 파일등이 저장된 것을 알 수 있습니다. 

 

메일 파일로 저장 결과 

이와 같은 방식 메일을 저장할 수 있습니다. 

파이썬 [Python] win32com 이용하여, 아웃룩(Outlook)첨부파일 특정 폴더에 모두 저장하기

 

파이썬 [Python] win32com 이용하여, 아웃룩(Outlook)첨부파일 특정 폴더에 모두 저장하기

파이썬 [Python] win32com 이용하여, 아웃룩(Outlook)첨부파일 특정 폴더에 모두 저장하기 이전 포스팅에서 아웃룩(Outlook)의 메일중에 첨부파일이 있는 경우에 그 파일이름을 출력하는 방법에 대

appia.tistory.com

이번 포스팅에서는 파이썬 [Python] win32com 이용하여, 아웃룩(Outlook)메일 저장하기라는 주제로 포스팅을 해봤습니다. 제가 예전에 짜놓은 코드를 바탕으로 포스팅을 하다보니, 기억이 가물가물 한 점도 있고 해서 설명이 많이 허술한 점이 있습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 

반응형
Comments