Mailparse
Mailparse
이메일 메시지를 파싱하거나 처리해야 할 때, mailparse 확장이 유용해요. 특히 대용량 메시지를 다뤄야 할 때 메모리를 아끼면서 처리할 수 있는 구조를 갖추고 있어요.
출처: Mailparse
본문
mailparse는 이메일 메시지를 파싱하고 다루기 위한 확장이에요. » RFC 822 및 » RFC 2045(MIME) 규격을 준수하는 메시지를 처리할 수 있어요.
mailparse는 스트림 기반이라서, 처리하는 파일을 메모리에 복사해 두지 않아요. 그래서 큰 메시지를 다룰 때 리소스 효율이 매우 좋아요.
한 가지 주의할 점은, mailparse는 mbstring 확장이 필요하고, mbstring이 mailparse보다 먼저 로드되어 있어야 한다는 거예요.
Mailparse 함수들
mailparse_determine_best_xfer_encoding— 가장 좋은 인코딩 방식 찾기mailparse_msg_create— mime 메일 리소스 생성mailparse_msg_extract_part— 메시지 섹션 추출·디코딩mailparse_msg_extract_part_file— 메시지 섹션 추출·디코딩mailparse_msg_extract_whole_part_file— 전송 인코딩 디코딩 없이 헤더를 포함한 메시지 섹션 추출mailparse_msg_free— MIME 리소스 해제mailparse_msg_get_part— mimemessage에서 특정 섹션의 핸들 반환mailparse_msg_get_part_data— 메시지에 대한 정보를 담은 연관 배열 반환mailparse_msg_get_structure— 주어진 메시지의 mime 섹션 이름 배열 반환mailparse_msg_parse— 데이터를 버퍼에 점진적으로 파싱mailparse_msg_parse_file— 파일 파싱mailparse_rfc822_parse_addresses— RFC 822 규격 주소 파싱mailparse_stream_encode— 원본 파일 포인터에서 데이터를 스트리밍하고 인코딩을 적용해 destfp에 기록mailparse_uudecode_all— fp의 데이터를 스캔해 포함된 uuencoded 파일을 각각 추출
더 알아보기
- mailparse는 MIME 구조를 계층으로 파악할 수 있어 첨부 파일 처리에 자주 쓰여요. 다만 스트림 기반 특성 때문에 사용 흐름을 먼저 이해하는 게 좋아요.