IMAP 서버 C#에 연결

다양한 경우에 이메일 서버는 이메일을 읽거나 이메일 클라이언트를 구현하기 위해 Python 애플리케이션 내에서 액세스됩니다. 이메일 서버에서 이메일을 검색하기 위해 Internet Message Access Protocol(IMAP) 프로토콜이 일반적으로 사용됩니다. 이 기사에서는 Python에서 IMAP을 사용하여 서버에서 이메일을 읽는 방법을 보여줍니다. 이 기사에서는 이메일 서버에 연결하고 원하는 폴더에 액세스하고 이메일을 읽는 방법을 명시적으로 다룹니다.

IMAP을 사용하여 이메일을 읽는 Python 라이브러리

IMAP을 통해 이메일 서버에서 이메일을 읽으려면 Aspose.Email for Python via .NET을 사용합니다. 이메일을 보내고 이메일 서버에서 사서함에 액세스할 수 있는 강력한 이메일 라이브러리입니다. 다음 명령을 사용하여 PyPI에서 라이브러리를 설치할 수 있습니다.

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

.whl 파일을 사용한 수동 설치의 경우 아래 단계를 수행할 수 있습니다.

  • 다운로드 섹션에서 설치 가능한 .whl 파일을 다운로드합니다.
  • 명령줄에서 다음 명령을 사용하십시오. pip install «FileName> >.whl 라이브러리를 설치합니다.

Python에서 IMAP을 통해 이메일 서버에 연결

다음은 IMAP을 사용하여 이메일 서버에 연결하는 단계입니다.

  1. ImapClient 클래스의 인스턴스를 만들고 호스트 이름, 포트, 사용자 이름 및 암호로 초기화합니다.
  2. ImapClient 개체를 사용하여 사서함에 액세스합니다.

다음 코드 샘플은 Python에서 IMAP을 사용하여 이메일 서버에 연결하는 방법을 보여줍니다.

from aspose.email import SecurityOptions, ImapClient

# create an instance of ImapClient and provide host, port, username and password
client = ImapClient("imap.domain.com", 993, "user@domain.com", "password")

# set security options
client.security_options = SecurityOptions.SSLIMPLICIT

# use ImapClient object to access mailbox

Python의 사서함에서 이메일 폴더에 액세스

이메일 서버에 대한 연결이 설정되면 이메일 메시지를 읽을 폴더를 선택할 수 있습니다. 먼저 사서함의 모든 폴더 목록을 가져오는 방법을 확인하겠습니다. 다음은 각 폴더에 대한 정보를 얻는 단계입니다.

  1. ImapClient 클래스의 인스턴스를 만들고 호스트 이름, 포트, 사용자 이름 및 암호로 초기화합니다.
  2. ImapClient.listfolders() 메서드를 사용하여 개체에서 폴더 컬렉션을 가져옵니다.
  3. 컬렉션을 반복하고 폴더의 세부 정보를 검색합니다.

다음 코드 샘플은 사서함에 있는 폴더의 세부 정보를 인쇄하는 방법을 보여줍니다.

from aspose.email import ImapClient

# create an instance of ImapClient and provide host, port, username and password
with ImapClient("imap.gmail.com", 993, "username", "password") as client:

    # get list of folders
    folderInfoColl = client.list_folders()

    # iterate through the collection to get folders' info one by one
    for folderInfo in folderInfoColl:
        print("Folder name is " + folderInfo.name)
        folderExtInfo = client.get_folder_info(folderInfo.name)
        print("New message count: " + str(folderExtInfo.new_message_count))
        print("Is it readonly? " + str(folderExtInfo.read_only))
        print("Total number of messages " + str(folderExtInfo.total_message_count))
    

이제 IMAP을 사용하여 사서함의 특정 폴더에 액세스해 보겠습니다.

  1. ImapClient 클래스의 인스턴스를 만들고 호스트 이름, 포트, 사용자 이름 및 암호로 초기화합니다.
  2. ImapClient.selectfolder(string) 메소드를 사용하여 폴더를 선택하십시오.

다음 코드 샘플은 사서함에서 전자 메일 폴더를 선택하는 방법을 보여줍니다.

from aspose.email import ImapClient

# create an instance of ImapClient and provide host, port, username and password
with ImapClient("imap.gmail.com", 993, "username", "password") as client:

    # select the folder from mailbox
    client.select_folder("Inbox")

Python의 폴더에서 이메일 읽기

다음은 Python을 사용하여 사서함의 특정 폴더에서 전자 메일 메시지를 읽는 단계입니다.

  1. ImapClient 클래스의 인스턴스를 만들고 호스트 이름, 포트, 사용자 이름 및 암호로 초기화합니다.
  2. ImapClient.selectfolder(string) 메소드를 사용하여 폴더를 선택하십시오.
  3. client.listmessages() 메서드를 사용하여 폴더의 메시지 목록을 가져옵니다.
  4. 메시지 컬렉션을 반복합니다.
  5. 각 전자 메일 메시지의 세부 정보를 확인하고 필요한 경우 디스크에 저장합니다.

다음 코드 샘플은 Python에서 이메일 서버의 이메일을 읽는 방법을 보여줍니다.

from aspose.email import ImapClient

# create an instance of ImapClient and provide host, port, username and password
with ImapClient("imap.gmail.com", 993, "username", "password") as client:

        # select folder
        client.select_folder("Inbox")

        # read each message in collection
        for msg in client.list_messages():
            print( "From: '{}', MIME Id: {}".format(msg.from_address, msg.message_id) )
            
            # save message on disk
            client.save_message(msg.unique_id, msg.unique_id + "_out.eml")

무료 API 라이선스 받기

임시 라이선스 받기를 통해 .NET을 통해 Python용 Aspose.Email을 무료로 사용할 수 있습니다.

결론

이 기사에서는 Python에서 IMAP을 사용하여 이메일 서버에서 이메일을 읽는 방법을 배웠습니다. 코드 샘플은 이메일 서버에 연결하고, 편지함에서 폴더 목록을 가져오고, 폴더를 선택하고, 이메일을 읽는 방법을 보여줍니다. 또한 문서를 방문하여 .NET을 통한 Python용 Aspose.Email에 대해 자세히 알아볼 수 있습니다. 또한 GitHub에서 전체 소스 코드 샘플 패키지를 다운로드할 수 있습니다. 질문이나 질문이 있는 경우 포럼을 통해 알려주십시오.

또한보십시오