개발자 Q&A

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

2025.05.02 10:18

imap_reopen에 관한 질문

목록
  • Godot러버 4일 전 2025.05.02 10:18
  • 36
    1
제가 imap_reopen 함수를 사용하여 메일을 열려고 하는데, 다음과 같은 오류가 발생합니다.

python

import imaplib



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, msg = mail.fetch(num, '(RFC822)')

    raw_email = msg[0][1]

    # 이 부분에서 오류가 발생합니다.

    mail.reopen(num)



imap_reopen 함수를 사용하여 메일을 열려고 하는데, 이 함수를 사용할 수 있는 방법을 알려주세요. 또는 이 함수를 대체할 수 있는 다른 방법이 있을까요?

    댓글목록

    profile_image
    나우호스팅  4일 전



    imap_reopen 함수는 imaplib 라이브러리에서 제공하는 함수가 아니므로, 사용할 수 없습니다. imaplib 라이브러리에서는 fetch 함수를 사용하여 메일을 가져올 때, raw_email 변수에 메일의 내용이 저장됩니다. 이 변수를 사용하여 메일을 열 수 있습니다.

    imap_reopen 함수 대신 fetch 함수를 사용하여 메일을 열 수 있습니다. fetch 함수의 두 번째 인자에 '(RFC822)'를 사용하여 메일의 내용을 가져올 수 있습니다. 가져온 메일의 내용을 raw_email 변수에 저장한 후, 메일을 열 수 있습니다.

    다음은 수정된 코드입니다.

    python
    
    import imaplib
    
    
    
    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, msg = mail.fetch(num, '(RFC822)')
    
        raw_email = msg[0][1]
    
        # 메일을 열 수 있습니다.
    
        print(raw_email.decode('utf-8'))
    
    


    이 코드에서는 fetch 함수를 사용하여 메일의 내용을 가져와 raw_email 변수에 저장한 후, 메일을 열 수 있습니다. raw_email 변수의 내용은 메일의 내용을 포함하고 있으므로, 이 변수를 사용하여 메일을 열 수 있습니다.

    2025-05-02 10:19

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

검색

게시물 검색