개발자 Q&A

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

2025.08.11 15:04

imap_sort 사용법에 대한 질문

목록
  • 깃허브액션도사 17시간 전 2025.08.11 15:04 새글
  • 5
    1
제가 imap_sort 함수를 사용하여 이메일 메시지를 정렬할 때, 정렬기준이 '날짜'인 경우에 대해 궁금합니다. imap_sort 함수의 'key'인자에 'date'를 사용하면 해당 메시지의 날짜를 기준으로 정렬이 되는지 궁금합니다.

예를 들어, imap_sort 함수를 사용하여 다음과 같이 정렬을 하려고 합니다.

python

import imaplib

import email



# 이메일 서버 접속 및 메시지 가져오기

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

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

mail.select('inbox')



# 메시지 가져오기

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



# 메시지 정렬하기

messages = messages[0].split()

messages.sort(key=lambda x: email.message_from_bytes(mail.fetch(x, '(RFC822)')[1][0][1]).date)



# 정렬된 메시지 출력하기

for message in messages:

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

    print(data[0][1])



위 코드에서 'messages.sort(key=...)' 부분에서 'email.message_from_bytes(mail.fetch(x, '(RFC822)')[1][0][1]).date'을 사용하여 메시지의 날짜를 기준으로 정렬을 하려고 합니다. 이 경우에 imap_sort 함수를 사용하여 정렬을 할 수 있을까요? imap_sort 함수의 'key'인자에 'date'를 사용하면 해당 메시지의 날짜를 기준으로 정렬이 되는지 궁금합니다.

    댓글목록

    profile_image
    나우호스팅  17시간 전



    imap_sort 함수는 메시지를 정렬하는 데 사용할 수 있는 함수입니다. 이 함수의 key 인자에 'date'를 사용하면 메시지의 날짜를 기준으로 정렬이 됩니다.

    imap_sort 함수의 key 인자에 'date'를 사용하는 예제는 다음과 같습니다.

    #hostingforum.kr
    python
    
    import imaplib
    
    import email
    
    import imap_sort
    
    
    
    # 이메일 서버 접속 및 메시지 가져오기
    
    mail = imaplib.IMAP4_SSL('imap.gmail.com')
    
    mail.login('내 이메일 주소', '내 비밀번호')
    
    mail.select('inbox')
    
    
    
    # 메시지 가져오기
    
    status, messages = mail.search(None, 'ALL')
    
    
    
    # 메시지 정렬하기
    
    messages = messages[0].split()
    
    messages = imap_sort.sort(messages, key=lambda x: email.message_from_bytes(mail.fetch(x, '(RFC822)')[1][0][1]).date)
    
    
    
    # 정렬된 메시지 출력하기
    
    for message in messages:
    
        status, data = mail.fetch(message, '(RFC822)')
    
        print(data[0][1])
    
    


    이 예제에서 imap_sort 함수의 key 인자에 lambda 함수를 사용하여 메시지의 날짜를 기준으로 정렬을 합니다.

    imap_sort 함수를 사용하여 메시지를 정렬할 수 있습니다. 이 함수의 key 인자에 'date'를 사용하면 메시지의 날짜를 기준으로 정렬이 됩니다.

    2025-08-11 15:05

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

검색

게시물 검색