What is EMLX file Format?


EMLX file format is used for a text file that is implemented and developed by Apple. It is related to Apple Mail and is used in Apple Mac OS X. Normally, it is stored as a plain text file and can be opened using any text editor.

Brief History

Mac OS X operating system adopted the existing email program, NeXTMail, created by NeXT as a part of NeXTSTEP operating system. After acquiring NeXT, Apple uplifts its features and became the Apple Mail email application to be used as a default email client. Emails exported from Apple Mail are saved as EMLX files.

File Format Specifications

EMLX is a single email message file and can be opened easily with any Text editor like Notepad. EMLX file structure consists of three parts –

  • A byte count for the email message – length of the message itself, written in ASCII in decimal.
  • The message itself
  • Message metadata

This can be better known with the help of the sample email extracted from Apple Mail as EMLX and opening it in a text editor.

622       
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on ******.*********.***
X-Spam-Level:
X-Spam-Status: No, score#-3.2 required#4.2 tests#BAYES_00,RP_MATCHES_RCVD,
        SPF_PASS,TVD_SPACE_RATIO autolearn#ham version#3.3.2
Received: from [127.0.0.1] (******.*********.*** [***.**.**.**])
        by ******.*********.*** (8.14.5/8.14.5) with ESMTP id r2TN8m4U099571
        for <****@*********.***>; Fri, 29 Mar 2013 19:08:48 -0400 (EDT)
        (envelope-from ****@*********.***)
Subject: very simple
From:  <****@*********.***>
Content-Type: text/plain; charset#us-ascii
Message-Id: <4E83618E-BB56-404F-8595-87352648ADC7@*********.***>
Date: 14 Feb 2013 15:33:54 +0530
To: Reciever <****@*********.***>
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v1283)
X-Mailer: Apple Mail (2.1283)

message Foot
--
Sender
http://www.la-grange.net/karl/

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version#"1.0">
<dict>
        <key>date-sent</key>
        <real>1364598546</real>
        <key>flags</key>
        <integer>8590195713</integer>
        <key>original-mailbox</key>
        <string>imap://********@127.0.0.1:11143/mail/2013/03</string>
        <key>remote-id</key>
        <string>41147</string>
        <key>subject</key>
        <string>very simple</string>
</dict>
</plist>

In this example, 622 indicates the total length of the message. The message meta data is enclosed in tags and the tags are described as follows;

Field Description Value
0 read 1 « 0
1 deleted 1 « 1
2 answered 1 « 2
3 encrypted 1 « 3
4 flagged 1 « 4
5 recent 1 « 5
6 draft 1 « 6
7 initial (no longer used) 1 « 7
8 forwarded 1 « 8
9 redirected 1 « 9
10-15 attachment count 3F « 10 (6 bits)
16-22 priority level 7F « 16 (7 bits)
23 signed 1 « 23
24 is junk 1 « 24
25 is not junk 1 « 25
26-28 font size delta 7 « 26 (3 bits)
29 junk mail level recorded 1 « 29
30 highlight text in toc 1 « 30
31 (unused)