
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