qua. ago 12th, 2020

파이썬 메일 첨부파일 다운로드

서버 = smtplib. SMTP (`smtp.gmail.com`, 587) server.starttls() server.login (“Name1”, “passwrd”) 매우 도움이, 다시 감사합니다. 이제 파일 데이터를 다운로드하지 않고 실제로 저장할 첨부 파일을 선택할 수있는 방법을 찾고 있습니다. 나는 imaplib가 어떤 식으로든 이것을 허용한다고 가정합니다. 이메일은 여전히 전자 통신의 가장 중요한 수단 중 하나입니다. 몇 가지 편리한 클라이언트와 일상적인 사용 의 떨어져 (뛰어난 썬더 버드 처럼), 때때로 하나는 사서함에서 메시지 콘텐츠를 얻을 하 고 그것으로 몇 가지 대량 작업을 수행 해야 할 수 있습니다.- 예를 들어 사서함에서 모든 이미지 첨부 파일을 다운로드 하는 것 일 수 있습니다. 일부 폴더로 -이 몇 가지 이메일에 대해 수동으로 쉽게 수행 할 수 있지만, 이메일의 10 수천이있는 경우 어떻게? 사서함은 일반적으로 일부 서버에서 호스팅되며 IMAP 프로토콜을 통해 액세스할 수 있습니다. 이 작업을 달성하는 방법에는 여러 가지가 있지만 대부분의 경우 전체 사서함을 로컬로 다운로드하거나 동기화한 다음 메시지에서 필요한 부분을 추출하여 처리해야 합니다. 이것은 참으로 매우 비효율적 일 수 있습니다.

최근에 나는 위의 하나와 같은 자동화 된 작업에 대한 필요성이 – 특히 IMAP 사서함에서 메시지를 검색, 특정 유형과 이름의 첨부 파일을 식별하고 다음 다운로드하고 그들과 함께 명령을 실행, 명령이 완료 된 후 성공적으로 이메일을 삭제 (또는 다른 로 이동 폴더)를 참조하십시오. 주위를 둘러 보면서 내 요구 사항 (Linux, 명령줄, 간단하면서도 강력한)을 충족시키는 적합한 것을 찾지 못했습니다. 그래서 IMAP및 파이썬에 대한 경험을 가지고, 나는 그런 도구를 직접 작성하기로 결정했다. 그것은 imap_detach 라고, 그리고 그것의 페이지에 세부 정보를 확인할 수 있습니다. 여기서는 이 도구에 대한 몇 가지 사용 사례를 제시하여 유사한 이메일 처리 요구 사항을 가진 사람들에게 유용할 수 있기를 바랍니다. 한 가지 질문 : 메일을 읽은 것으로 표시하거나 처리 한 후 삭제하는 방법을 해결할 수 없었습니다. 패키지의 중앙 구성 요소는 전자 메일 메시지를 나타내는 “개체 모델”입니다. 응용 프로그램은 주로 메시지 하위 모듈에 정의된 개체 모델 인터페이스를 통해 패키지와 상호 작용합니다. 응용 프로그램은 이 API를 사용하여 기존 전자 메일에 대한 질문을 하거나, 새 전자 메일을 생성하거나, 동일한 개체 모델 인터페이스를 사용하는 전자 메일 하위 구성 요소를 추가하거나 제거할 수 있습니다. 즉, 전자 메일 메시지와 해당 MIME 하위 구성 요소의 특성에 따라 전자 메일 개체 모델은 모두 EmailMessage API를 제공하는 개체의 트리 구조입니다. 나는 올바른 이메일과 그 모든 것을 찾았지만 여전히 아무것도 찾을 수 없습니다.

다음 섹션에서는 전자 메일 패키지의 기능에 대해 설명합니다. 응용 프로그램에서 사용할 기본 인터페이스인 메시지 개체 모델로 시작하여 파서 및 생성기 구성 요소와 함께 사용합니다. 그런 다음 라이브러리의 주요 구성 요소 처리를 완료하는 정책 컨트롤을 다룹니다. 파이썬의 imap을 사용하여 전자 메일 메시지 본문에서 모든 링크를 추출하는 방법 우리는 Python base64 모듈을 사용하여 파일을 읽고 base64 문자열로 인코딩합니다. 가상의 attachment.pdf 파일을 사용했기 때문에 파일 이름을 send_email.py 파일과 동일한 폴더에 저장한 문서로 바꿔야 합니다. 이미 설치된 것 같습니다. 나는 호환성을 확인했지만, 비 영어 스피커와 초보자 프로그래머로, 나는 파이썬 2.7 여부와의 호환성의 subtilitys을 이해하지 않습니다. 교환 서버에 있는 메일의 아래 부분을 별도로 추출하고 싶습니다. 변경 된 passwd = getpass.getpass (`암호를 입력: `)는 통과 = “xxxx xxxx xxxx xxxx”(이 작동을 위해 응용 프로그램 특정 암호를 받아야했다.