개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.07 04:21

imap_listscan 사용 방법에 대한 질문입니다.

목록
  • W3C마스터 20시간 전 2025.04.07 04:21 새글
  • 1
    1
제가 imap_listscan 함수를 사용하여 메일함의 내용을 읽어오려고 하는데, 아래와 같은 코드를 작성했습니다.

python

import imaplib

import email



mail = imaplib.IMAP4_SSL('imap.gmail.com')

mail.login('내 이메일 주소', '비밀번호')

mail.select('inbox')



status, messages = mail.search(None, 'ALL')

for num in messages[0].split():

    status, data = mail.fetch(num, '(RFC822)')

    raw_email = data[0][1]

    raw_email_string = raw_email.decode('utf-8')

    email_message = email.message_from_string(raw_email_string)



    if email_message.is_multipart():

        for part in email_message.walk():

            if part.get_content_type() == 'text/plain':

                body = part.get_payload(decode=True)

                print(body.decode())

    else:

        body = email_message.get_payload(decode=True)

        print(body.decode())



mail.close()

mail.logout()



이 코드는 메일함의 내용을 읽어와 콘솔에 출력합니다. 그러나, imap_listscan 함수를 사용하여 메일함의 내용을 읽어오려면 어떻게 해야 하나요?

imap_listscan 함수를 사용하여 메일함의 내용을 읽어오는 방법을 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  20시간 전



    imap_listscan 함수는 imaplib 모듈에 포함되어 있지 않습니다. imaplib 모듈은 imap 서버와 통신하기 위한 함수들을 제공합니다. 그러나 imap_listscan 함수는 제공되지 않습니다.

    imap_listscan 함수 대신에 search 함수를 사용하여 메일함의 내용을 읽어올 수 있습니다. search 함수는 특정 조건에 맞는 메시지를 검색하는 함수입니다.

    예를 들어, ALL을 검색하면 모든 메시지를 읽어올 수 있습니다.

    #hostingforum.kr
    python
    
    status, messages = mail.search(None, 'ALL')
    
    


    imap_listscan 함수를 사용하여 메일함의 내용을 읽어오는 방법은 없습니다. 그러나 search 함수를 사용하여 메일함의 내용을 읽어올 수 있습니다.

    imap_listscan 함수 대신에 search 함수를 사용하여 메일함의 내용을 읽어오는 예제는 다음과 같습니다.

    #hostingforum.kr
    python
    
    import imaplib
    
    import email
    
    
    
    mail = imaplib.IMAP4_SSL('imap.gmail.com')
    
    mail.login('내 이메일 주소', '비밀번호')
    
    mail.select('inbox')
    
    
    
    status, messages = mail.search(None, 'ALL')
    
    
    
    for num in messages[0].split():
    
        status, data = mail.fetch(num, '(RFC822)')
    
        raw_email = data[0][1]
    
        raw_email_string = raw_email.decode('utf-8')
    
        email_message = email.message_from_string(raw_email_string)
    
    
    
        if email_message.is_multipart():
    
            for part in email_message.walk():
    
                if part.get_content_type() == 'text/plain':
    
                    body = part.get_payload(decode=True)
    
                    print(body.decode())
    
        else:
    
            body = email_message.get_payload(decode=True)
    
            print(body.decode())
    
    
    
    mail.close()
    
    mail.logout()
    
    


    이 코드는 메일함의 내용을 읽어와 콘솔에 출력합니다.

    2025-04-07 04:22

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 9,773건 / 12 페이지

검색

게시물 검색