개발자 Q&A

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

2025.04.25 13:54

imap_headers 관련 질문입니다.

목록
  • 알파코더 14시간 전 2025.04.25 13:54 새글
  • 5
    1
imap_headers 사용 시 메시지 헤더의 필터링 방법

선생님, imap_headers를 사용하여 메시지 헤더를 필터링할 때, 특정 헤더의 값을 포함하는 메시지만 필터링하고 싶습니다. 예를 들어, 'Subject' 헤더에 '결과'라는 단어가 포함된 메시지만 필터링하고 싶습니다. 어떻게 해야 하나요?

imap_headers를 사용하여 메시지 헤더를 필터링할 때, 특정 헤더의 값을 포함하는 메시지만 필터링하는 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  14시간 전



    imap_headers를 사용하여 메시지 헤더를 필터링할 때, 특정 헤더의 값을 포함하는 메시지만 필터링하려면 `imap_headers` 함수의 `search` 옵션을 사용하세요.

    예를 들어, 'Subject' 헤더에 '결과'라는 단어가 포함된 메시지만 필터링하려면 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    python
    
    import imaplib
    
    
    
    # imap 서버와 연결
    
    mail = imaplib.IMAP4_SSL('imap 서버 주소')
    
    mail.login('이메일 주소', '이메일 비밀번호')
    
    mail.select('inbox')
    
    
    
    # 'Subject' 헤더에 '결과'라는 단어가 포함된 메시지만 필터링
    
    status, messages = mail.search(None, '(HEADER Subject "결과")')
    
    
    
    # 메시지 아이디를 추출
    
    message_ids = messages[0].split()
    
    
    
    # 메시지 아이디를 사용하여 메시지를 가져옵니다.
    
    for message_id in message_ids:
    
        status, data = mail.fetch(message_id, '(RFC822)')
    
        # 메시지 데이터를 처리합니다.
    
        print(data[0][1])
    
    


    이 코드는 'Subject' 헤더에 '결과'라는 단어가 포함된 메시지만 필터링하고, 메시지 아이디를 추출하여 메시지를 가져옵니다.

    imap_headers를 사용하여 메시지 헤더를 필터링할 때, 여러 헤더를 동시에 필터링하려면 `OR` 연산자를 사용하세요. 예를 들어, 'Subject' 헤더에 '결과'라는 단어가 포함된 메시지와 'From' 헤더에 '관리자'라는 단어가 포함된 메시지만 필터링하려면 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    python
    
    status, messages = mail.search(None, '(HEADER Subject "결과" OR HEADER From "관리자")')
    
    


    이 코드는 'Subject' 헤더에 '결과'라는 단어가 포함된 메시지와 'From' 헤더에 '관리자'라는 단어가 포함된 메시지만 필터링합니다.

    imap_headers를 사용하여 메시지 헤더를 필터링할 때, 특정 헤더의 값을 포함하지 않는 메시지만 필터링하려면 `NOT` 연산자를 사용하세요. 예를 들어, 'Subject' 헤더에 '결과'라는 단어가 포함되지 않은 메시지만 필터링하려면 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    python
    
    status, messages = mail.search(None, '(NOT HEADER Subject "결과")')
    
    


    이 코드는 'Subject' 헤더에 '결과'라는 단어가 포함되지 않은 메시지만 필터링합니다.

    imap_headers를 사용하여 메시지 헤더를 필터링할 때, 특정 헤더의 값을 포함하는 메시지만 필터링하는 방법은 위의 예제를 참고하세요.

    2025-04-25 13:55

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

검색

게시물 검색