이 기사에서는 프로그래밍 방식으로 메일 서버에서 이메일 메시지를 검색하는 방법을 배웁니다. 특히 IMAP 또는 POP3 프로토콜을 사용하여 메일 서버에 연결하고 Python에서 이메일을 읽는 방법을 알게 됩니다.

이메일을 읽는 Python API

메일 서버에서 이메일을 읽기 위해 Aspose.Email for Python via .NET을 사용합니다. Python 애플리케이션 내에서 이메일 클라이언트를 구현할 수 있는 기능이 풍부한 이메일 API입니다. .whl 파일을 다운로드하거나 다음 pip 명령을 사용하여 API를 설치할 수 있습니다.

> pip install Aspose.Email-for-Python-via-NET

Python의 메일 서버에서 이메일 읽기

POP3 및 IMAP은 일반적으로 메일 서버에서 이메일을 검색하는 데 사용됩니다. 다음 섹션에서는 두 이메일 프로토콜을 별도로 사용하여 이메일을 읽는 방법을 보여줍니다.

POP3를 사용하여 이메일 메시지 읽기

다음은 POP3를 사용하여 이메일 메시지를 읽는 단계입니다.

  • Pop3Client 클래스의 객체를 생성하고 호스트, 포트, 사용자 이름 및 비밀번호로 초기화합니다.
  • Pop3Client.security\options 속성을 사용하여 보안 옵션을 설정합니다.
  • Pop3Client.get_message\count() 메서드를 사용하여 메시지 수를 가져옵니다.
  • Pop3Client.fetch\message() 메서드를 사용하여 루프의 각 메시지에 액세스합니다.

다음 코드 샘플은 POP3를 사용하여 Python에서 이메일을 읽는 방법을 보여줍니다.

# create POP3 client
client = Pop3Client("pop.gmail.com", 995, "username", "password")

# set security options
client.security_options = SecurityOptions.AUTO

# get message count
messageCount = client.get_message_count()
print("Total messages: " + str(messageCount))

# create an instance of the MailMessage class to read message    
for i in range(0,messageCount):
    message = client.fetch_message(i+1)
    print("From:" + str(message.from_address))
    print("Subject:" + message.subject)
    print(message.html_body)

IMAP을 사용하여 이메일 메시지 읽기

다음은 IMAP을 사용하여 이메일 메시지를 읽는 단계입니다.

  • ImapClient 클래스의 객체를 생성하고 호스트, 포트, 사용자 이름, 비밀번호로 초기화합니다.
  • ImapClient.select\folder(folderName) 메서드를 사용하여 폴더를 선택합니다.
  • ImapClient.list\messages() 메서드를 사용하여 메시지 목록을 반복합니다.

다음 코드 샘플은 Python에서 IMAP을 사용하여 이메일 메시지를 읽는 방법을 보여줍니다.

# connect to mail server using IMAP
client = ImapClient("imap.gmail.com", 993, "username", "password")

# select folder
client.select_folder("Inbox")

# loop through email messages and save them as .eml files
for msg in client.list_messages():
    print("Subject: " + msg.subject)
    print("HtmlBody: " + msg.html_body)
    print("TextBody: " + msg.body)
    client.save_message(msg.unique_id, msg.unique_id + "_out.eml")

무료 API 라이선스 받기

무료 임시 라이선스를 요청하여 .NET을 통해 Python용 Aspose.Email을 사용할 수 있습니다.

결론

이 기사에서는 Python을 사용하여 메일 서버에서 이메일을 읽는 방법을 배웠습니다. 특히 POP3 및 IMAP 클라이언트를 사용하여 전자 메일 메시지를 가져오고 읽는 방법을 살펴보았습니다. 문서를 사용하여 Python 이메일 API에 대해 자세히 알아볼 수 있습니다. 또한 포럼에 질문을 게시할 수 있습니다.

또한보십시오