본문 바로가기
IT Information/DevOps

개인 프로젝트 리뷰 - MailDownload

by foons 2022. 10. 30.
반응형

Python 코드를 통하여 Inbox 에 있는 첨부파일을 다운 받습니다.

mail_box = 'INBOX'
mail_add = os.environ['mail_add']
mail_id = os.environ['mail_id']
mail_pass = os.environ['mail_pass']

우선 mail_box 의 INBOX 안에 있는 파일을 조회합니다.

각각 Credential 파일은 OS 환경변수로 선언하여 외부에 노출을 막습니다.

 

down_path = '/data/mail/' ## k8s pvc 경로 지정

그리고 해당 파일을 K3D 내부에 PV에 저장할 수 있도록 Path 를 설정합니다.

def main():
    with MailBox(mail_add).login(mail_id, mail_pass, mail_box) as mailbox:
        for msg in mailbox.fetch():
            for att in msg.attachments:
                print(att.filename, att.content_type)
                with open(down_path+'{}'.format(att.filename), 'wb') as f:
                    f.write(att.payload)
                    
if __name__ == "__main__":
    main()

mailbox 에 INBOX 의 attachments 파일이 있는 메일을 조회하여 파일을 저장합니다.

 

Full Code 가 궁금하시다면 하단의 링크를 참고 하시기 바랍니다.

https://github.com/foonsoo/project/tree/master/save_money/python/logic/mail_down 

 

반응형