Power Automate로 메일 첨부 자동 저장하기: 파일 없음·중복·실패 처리
매번 Outlook 첨부를 내려받아 같은 폴더에 넣는다면 Power Automate의 클라우드 흐름으로 저장 작업을 구성할 수 있다. 하지만 파일 하나가 생겼다고 완성은 아니다. 첨부 없는 메일, 같은 이름의 파일, 저장 실패와 재실행을 나눠 확인해야 반복 작업을 맡길 수 있다.
이 글은 회사의 Microsoft 365 Outlook과 OneDrive for Business 조합을 기준으로 한다. 개인 Outlook 계정과 다른 저장소에는 연결 조건이 다를 수 있다.
새 메일 조건을 좁혀 시험 폴더부터
먼저 사용할 계정과 저장 폴더 권한을 확인한다. 커넥터가 화면에 보이는 것과 회사 정책·라이선스상 사용할 수 있는 것은 다르다. 원본 메일을 읽고 대상 폴더에 파일을 만들 수 있는지 확인하고, 시험용 폴더를 따로 두어 기존 업무 파일과 섞지 않는 편이 좋다.
Power Automate의 내 흐름에서 새 자동화된 클라우드 흐름을 만들고 Office 365 Outlook의 When a new email arrives (V3)를 선택한다. 새로 들어오는 메일이 시작 조건이다. 흐름을 켰다고 이미 쌓인 모든 과거 메일이 자동으로 처리된다고 기대하지 않는다.
대상 메일 폴더와 발신자, 제목 등 필요한 필터를 트리거에서 정한다. Microsoft는 가능한 조건을 트리거에서 확인해 불필요한 실행을 줄이는 방법을 안내한다. 전체 메일함에 먼저 적용하기보다 어떤 메일을 받으려는 것인지 좁히는 편이 관리하기 쉽다.

첨부 있는 메일만 처리하려면 Only with Attachments 조건을 확인한다. Include Attachments는 첨부 내용까지 트리거에서 받을지 정하는 별도 항목이다. 이름이 비슷하지만 하나는 메일 선별, 다른 하나는 내용 다운로드에 영향을 주므로 혼동하지 않는다.
첨부 선별과 내용 다운로드를 구분한다
Microsoft는 첨부 메일이 몰릴 때 Include Attachments를 Yes로 두면 다운로드 대기 중 시간 초과가 날 수 있다고 안내한다. 이를 피하는 구성으로 No를 선택하고 이후 Get Attachment (V2)로 내용 받기를 제시한다. 모든 상황에서 어느 설정 하나가 정답이라고 단정할 수는 없다.
첨부 목록을 Apply to each로 반복하고 필요한 항목만 처리한다. 서명 로고처럼 본문에 끼워 넣은 이미지가 저장 대상이 아니라면 Is Inline 정보를 확인해 조건을 둔다. 첨부의 종류와 실제 업무 목적을 구분해야 폴더에 불필요한 이미지가 계속 쌓이지 않는다.
Get Attachment (V2)에는 트리거의 Message Id와 현재 반복 항목의 Attachment Id를 연결한다. 메일 전체의 번호와 첨부 하나의 번호는 다르다. 다른 메일이나 첫 첨부의 값을 반복해서 쓰면 같은 파일만 저장되는 문제가 생길 수 있어 동적 내용을 확인해야 한다.
OneDrive for Business의 Create file에는 폴더 경로, 파일명, 파일 내용을 넣는다. 파일 내용은 첨부 받기의 Content Bytes 결과를 연결한다. 메일 본문이나 파일명 문자열을 내용 칸에 넣으면 파일이 생겨도 정상 첨부 문서가 아니므로 저장한 결과를 실제로 열어 검사한다.

같은 이름과 같은 첨부의 중복은 다르다
파일명이 같다는 이유만으로 중복이라고 판단하지 않는다. 매달 받는 보고서가 같은 이름일 수도 있다. 원본 이름에 날짜와 안전한 식별자를 더해 구분하는 방식 등을 검토하고 OneDrive에서 사용할 수 없는 문자와 이름 변경 결과도 확인한다.
같은 메일을 다시 실행할 때 중복 저장을 막으려면 별도 완료 기록과 조건이 필요하다. 메일·첨부 식별자를 기준으로 확인하고 저장이 성공한 뒤 기록하는 방식이다. 파일명에 날짜를 붙이기만 하면 같은 첨부 재실행까지 자동으로 막아 준다는 뜻은 아니다.
동시에 실행되는 경우까지 완전히 막는 중복 제어는 더 신중히 구성해야 한다. 기록을 조회한 뒤 저장하는 사이 다른 실행이 들어올 수 있기 때문이다. 초기에 실행 범위를 좁히고 병렬 실행·재시도 조건을 점검하며 중복이 없는지 실제 파일 목록과 대조한다.
실패를 확인할 단계도 따로 만든다. 저장 작업을 Scope로 묶고 오류 처리 Scope가 실패나 시간 초과 뒤 실행되도록 Run after 조건을 설정할 수 있다. 실패한 저장을 성공으로 기록하거나 다음 단계로 무조건 넘기지 않는 것이 핵심이다.
실패 기록과 실제 파일 열기까지 검사
알림에는 어떤 메일의 어느 첨부가 어느 단계에서 막혔는지 필요한 식별 정보를 남긴다. 민감한 메일 본문을 그대로 오류 메시지에 붙일 필요는 없다. 일시적인 연결 오류 재시도와 잘못된 권한·경로 수정은 다른 조치이며 무한 재실행을 해결책으로 두지 않는다.
시험은 첨부 없음, 첨부 하나, 여러 첨부, 같은 이름의 다른 파일, 같은 메일 재실행과 저장 실패를 나눠 한다. 새 파일의 개수와 이름을 보고 실제로 열어 내용을 확인한다. 실행 기록이 성공이어도 필요한 파일이 빠졌다면 조건이나 반복 연결을 다시 점검한다.

자동 저장은 첨부파일의 안전성을 보증하는 기능이 아니다. 내려받은 문서나 압축파일을 자동 실행하는 단계는 붙이지 않고 회사의 검사·보관 정책을 따른다. 운영 중에는 실행 기록과 대상 폴더를 대조해 저장 누락, 중복과 실패 알림이 실제로 잡히는지 확인한다.



