M박스

Mbox

Mbox는 이메일 메시지 모음을 보관하는 데 사용되는 관련 파일 형식 패밀리의 총칭입니다.Fifth Edition Unix에서 처음 구현되었습니다.

mbox 우편함 내의 모든 메시지는 하나의 파일에 플레인텍스트로 연결되어 저장됩니다.각 메시지는 "From" 문자 뒤에 공백(이른바 "From_line") 및 보낸 사람의 이메일 주소로 시작합니다.RFC 4155 에서는, UTC 타임스탬프가 다른 구분 스페이스 [1]문자 뒤에 이어지는 것을 정의하고 있습니다.

mbox와 유사한 형식은 MH 메시지 처리 시스템입니다.Microsoft Exchange Server 및 Cyrus IMAP 서버 의 다른 시스템은 메일시스템에 의해 관리되는 중앙 데이터베이스에 우편함을 저장하고 개별 사용자가 직접 액세스할 수 없습니다.mailedir 메일함 형식은 네트워크 이메일 스토리지 시스템의 mbox 형식 대신 자주 사용됩니다.

메일 저장소 프로토콜

이메일 교환에 사용되는 인터넷 프로토콜과 달리 이메일 저장에 사용되는 형식은 RFC 표준화 메커니즘을 통해 공식적으로 정의된 적이 없으며 이메일 클라이언트 개발자에게 전적으로 맡겨져 있습니다.그러나 POSIX 표준은 mailx 프로그램과 함께 느슨한 프레임워크를 정의했습니다.2005년에 응용 프로그램/mbox 미디어 유형은 RFC 4155로 표준화되었습니다.이것에 의해, mbox는 원래의 인터넷 메시지(RFC 2822) 형식으로 메일 박스 메시지를 격납하고 있습니다.단, 사용된 줄바꿈 문자, 7비트의 클린 데이터 스토리지, 새로 추가된 각 메시지는 mbox 내에서 완전히 빈 행으로 종료할 필요가 있습니다.데이터베이스입니다.[1][2]

엠박스 패밀리

mbox 형식에서는 공백 행 뒤에 'From' 문자열(스페이스 포함)을 사용하여 메시지를 구분합니다.메시지 텍스트에 같은 시퀀스가 포함된 경우 모호성이 발생할 수 있습니다.

몇 년 동안 mboxo, mboxrd, mboxclmboxcl2의 4가지 인기 있지만 호환되지 않는 변종이 발생했습니다.이 명명 체계는 1996년 다니엘 번스타인, 라훌 데시, 그리고 다른 사람들에 의해 개발되었습니다.각각 다른 버전의 Unix. mboxclmboxcl2에서 유래했습니다.mboxrd는 Unix System V Release 4 메일 도구에서 사용되는 파일 형식에서 유래했습니다.mboxrd는 mboxo의 합리화로서 Rahul Dhesi 등에 의해 발명되어 이후 qmail을 포함한 일부 Unix 메일 도구에서 채택되었습니다.

이러한 모든 변형에는 다음과 같이 메시지의 내용을 수정하여 애매한 부분을 제거해야 하는 문제가 있습니다.따라서 응용 프로그램은 올바른 복귀를 수행하기 위해 어떤 인용 규칙을 사용했는지 알아야 합니다.이 규칙이 실용적이지 않은 것으로 판명되었습니다.MIME을 사용하고 표준 호환 방식으로 "From_" 행을 따옴표로 묶는 content-transfer-encoding을 선택하면 메시지 내용을 변경할 필요가 없고 MIME 표현만 변경할 수 있습니다.따라서 체크섬은 일정하게 유지되며 S/MIME 및 Pretty Good Privacy를 지원하기 위한 필수 조건입니다.메시지를 새로 생성하여 mbox 데이터베이스 파일에 저장하는 응용 프로그램에서는 이 방법을 사용하여 메시지 내용을 데이터베이스 스토리지 형식에서 분리합니다.

mboxomboxrd는 전자 메일 메시지 헤더 앞에 있는 보낸 사람 을 검색하여 메시지 시작을 찾습니다.만약...From " 문자열은 메시지의 헤더 또는 본문(전자의 메일 표준 위반, 후자의 메일 표준 위반)의 행 선두에서 발생합니다.메시지가 mbox 메일함 파일에 저장되기 전에 전자 메일 메시지를 변경해야 합니다.그렇지 않으면 행이 메시지 경계로 간주됩니다."를 잘못 해석하지 않도록 하기 위해"From 새로운 전자 메일의 선두로서 전자 메일 본문의 행의 선두에 있는 문자열.시스템에 따라서는, 통상은 보다 큰 기호를 붙여 메세지를 「From-munge」[3]합니다.

제 입장에서 보면... 

mboxo 형식에서 이러한 행은 되돌릴 수 없는 [4]모호성을 가집니다.mboxo 형식에서는 이로 인해 메시지가 파손될 수 있습니다.행이 이미 포함되어 있는 경우>From (따옴표 등) 처음에 쓸 때 변경되지 않습니다.나중에 메일 소프트웨어로 읽으면 선두가>잘못 삭제되었습니다.mboxrd 포맷은 이 문제를 해결합니다.From 로.>From 변환하고 있다>From 로.>>From 변환은 항상 되돌릴 [5]수 있습니다.

예:

MAILER-DAEMON 2011년 7월 8일 () 12:08:34 부터 : 작성자 <author@example.com> 수신자 <recipient@example.com> 제목 : 샘플메시지 1 이것은 본문입니다.발신기지(회피할 필요가 있습니다).3줄로 되어 있어요.  MAILER-DAEMON 2011년 7월 8일 (금) 12:08:34 부터 : 작성자 <author@example.com> 수신자 <recipient@example.com> 제목 : 샘플메시지 2 이것은 두 번째 본문입니다. 

mboxclmboxcl2 형식은Content-Length:mboxclmboxrd와 마찬가지로 메시지 자체의 From 행을 인용하지만 mboxcl2는 인용하지 않습니다.

수정된 mbox

일부 전자 메일 클라이언트는 메일 폴더에 mbox 형식의 수정을 사용합니다.

  • Eudora 에서는, 송신자의 전자 메일 주소가 일정한 문자열 「?@???」로 대체되는 mboxo 의 종류를 사용하고 있습니다.대부분의 mbox 클라이언트는 수신 메시지를 수신한 상태로 저장합니다.Eudora는 메시지에 포함된 첨부 파일을 분리하여 하나의 [6]폴더에 개별 파일로 저장합니다.
  • Mozilla 계열의 이메일 클라이언트(Mozilla, Netscape, Thunderbird 등)는 보다 복잡한 From 행 인용 규칙을 가진 [7]mboxrd 변형을 사용합니다.

파일 잠금

여러 메시지가 하나의 파일에 저장되므로 여러 프로세스가 동시에 우편함을 수정하여 발생할 수 있는 손상을 방지하기 위해 파일 잠금이 필요합니다.이 문제는 네트워크 전자 메일 배달 프로그램이 새 메시지를 배달하는 동시에 메일 판독기가 기존 메시지를 삭제하는 경우 발생할 수 있습니다.

메시지 파일 잠금을 활성화하기 위해 서로 호환되지 않는 다양한 메커니즘이 다양한 mbox 형식에서 사용되었습니다.fcntl()그리고.lockf()네트워크 파일 시스템(NFS)과 같은 네트워크 마운트 파일 시스템에서는 이 기능이 제대로 작동하지 않습니다.이 때문에, 종래, Unix 에서는 「도트 록」파일이 추가되어 NFS 를 통해서도 아토믹하게 작성될 가능성이 있습니다.

Mbox 파일도 읽을 때 잠가야 합니다.그렇지 않으면 실제 파일 손상이 발생하지 않더라도 다른 프로세스가 동시에 mbox를 수정하는 경우, 독서자에게 손상된 메시지 내용이 표시될 수 있습니다.

패치 포맷으로

오픈 소스 개발에서는 일반적으로 diff 형식의 패치를 메일링 리스트에 전송하여 논의합니다.diff 형식을 사용하면 mbox 데이터와 같은 관련 없는 "헤더"를 [8][9]추가할 수 있습니다.git같은 버전 관리 시스템은 mbox 형식의 패치를 생성하고 이를 스레드 [10][11]내 이메일로 목록으로 전송할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b Hall, E., ed. (September 2005). "Request for Comments: 4155 – The application/mbox Media Type". Internet Engineering Task Force. Retrieved 17 May 2021.
  2. ^ Resnick, P., ed. (April 2001). "Request for Comments: 2822 – Internet Message Format". Internet Engineering Task Force. Retrieved 17 May 2021.
  3. ^ Gellens, R., ed. (February 2004). "Request for Comments: 3676 – The Text/Plain Format and DelSp Parameters – Section 4.4: Space-Stuffing". Internet Engineering Task Force. Retrieved 17 May 2021.
  4. ^ "유닉스에서의 Netscape 메일 설정: Jamie Zawinski 1997의 Content-Length 포맷이 나쁜 이유
  5. ^ de Boyne Pollard, Jonathan (2004). ""mbox" is a family of several mutually incompatible mailbox formats". Frequently Given Answers. Archived from the original on 2020-12-31.{{cite web}}: CS1 유지보수: 부적합한 URL(링크)
  6. ^ "Eudora 6.2.4 Mac User Guide" (PDF). p. 113. Archived from the original (PDF) on 2014-07-12. Retrieved 2015-10-29.
  7. ^ "메일 가져오기 및 내보내기"
  8. ^ "Submitting patches: the essential guide to getting your code into the kernel — The Linux Kernel documentation". www.kernel.org.
  9. ^ Randal, Allison; Sugalski, Dan; Tötsch, Leopold (2003). "Patch submission". Perl 6 Essentials. O'Reilly Media, Inc. p. 14. ISBN 978-0-596-00499-6.
  10. ^ "Git - git-format-patch Documentation". git-scm.com.
  11. ^ "Git - git-send-email Documentation". git-scm.com.

추가 정보