Zend certified PHP/Magento developer

Identifying and decoding apparent proprietary email storage format (possibly AOL)

I have many email messages, one per file, which appear to be in some kind of proprietary format. I have reason to believe that it is some kind of AOL format, but I don’t have any copies of AOL to test with. In any case, since they are so numerous, I was hoping to decode (and then convert) them in an automated fashion.

Here is an example of an email message in this format.

00000000  00 00 03 20 00 04 00 00  00 11 31 31 2f 32 37 20  |... ......11/27 |
00000010  6e 6f 74 20 69 6e 20 68  6f 6d 65 00 05 00 00 00  |not in home.....|
00000020  10 52 45 44 41 43 54 45  44 40 61 6f 6c 2e 63 6f  |.REDACTED@aol.co|
00000030  6d 00 13 00 00 00 00 00  14 00 00 00 10 52 45 44  |m............RED|
00000040  41 43 54 45 44 40 61 6f  6c 2e 63 6f 6d 00 15 00  |ACTED@aol.com...|
00000050  00 00 10 52 45 44 41 43  54 45 44 40 61 6f 6c 2e  |...REDACTED@aol.|
00000060  63 6f 6d 00 06 00 00 00  04 ca d1 bd e8 00 07 00  |com.............|
00000070  00 00 04 01 dd c5 ed 00  12 00 00 00 05 46 72 6f  |.............Fro|
00000080  6d 3a 00 19 00 00 02 bd  52 65 74 75 72 6e 2d 50  |m:......Return-P|
00000090  61 74 68 3a 20 3c 52 45  44 41 43 54 45 44 40 61  |ath: .Received|
000000b0  3a 20 66 72 6f 6d 20 63  6f 72 65 2d 6d 66 65 30  |: from core-mfe0|
000000c0  30 31 62 2e 72 31 30 30  30 2e 6d 61 69 6c 2e 61  |01b.r1000.mail.a|
000000d0  6f 6c 2e 63 6f 6d 20 28  63 6f 72 65 2d 6d 66 65  |ol.com (core-mfe|
000000e0  30 30 31 2e 72 31 30 30  30 2e 6d 61 69 6c 2e 61  |001.r1000.mail.a|
000000f0  6f 6c 2e 63 6f 6d 20 5b  31 37 32 2e 32 39 2e 31  |ol.com [172.29.1|
00000100  32 30 2e 31 33 31 5d 29  0d 09 62 79 20 6d 74 61  |20.131])..by mta|
00000110  6f 6d 67 2d 64 61 30 35  2e 72 31 30 30 30 2e 6d  |omg-da05.r1000.m|
00000120  78 2e 61 6f 6c 2e 63 6f  6d 20 28 4f 4d 41 47 2f  |x.aol.com (OMAG/|
00000130  43 6f 72 65 20 49 6e 74  65 72 66 61 63 65 29 20  |Core Interface) |
00000140  77 69 74 68 20 45 53 4d  54 50 20 69 64 20 36 45  |with ESMTP id 6E|
00000150  34 38 46 45 30 30 30 30  38 39 0d 09 66 6f 72 20  |48FE000089..for |
00000160  3c 52 45 44 41 43 54 45  44 40 61 6f 6c 2e 63 6f  |; Sat, 29 Oct |
00000180  32 30 31 31 20 31 34 3a  32 37 3a 35 32 20 2d 30  |2011 14:27:52 -0|
00000190  34 30 30 20 28 45 44 54  29 0d 46 72 6f 6d 3a 20  |400 (EDT).From: |
000001a0  52 45 44 41 43 54 45 44  40 61 6f 6c 2e 63 6f 6d  |REDACTED@aol.com|
000001b0  0d 46 75 6c 6c 2d 6e 61  6d 65 3a 20 52 45 44 41  |.Full-name: REDA|
000001c0  43 54 45 44 0d 4d 65 73  73 61 67 65 2d 49 44 3a  |CTED.Message-ID:|
000001d0  20 3c 32 61 61 39 34 2e  32 37 33 32 62 66 36 30  | .Date: Sat, 29|
00000200  20 4f 63 74 20 32 30 31  31 20 31 34 3a 32 37 3a  | Oct 2011 14:27:|
00000210  35 32 20 2d 30 34 30 30  20 28 45 44 54 29 0d 53  |52 -0400 (EDT).S|
00000220  75 62 6a 65 63 74 3a 20  31 31 2f 32 37 20 6e 6f  |ubject: 11/27 no|
00000230  74 20 69 6e 20 68 6f 6d  65 0d 54 6f 3a 20 52 45  |t in home.To: RE|
00000240  44 41 43 54 45 44 40 61  6f 6c 2e 63 6f 6d 0d 4d  |DACTED@aol.com.M|
00000250  49 4d 45 2d 56 65 72 73  69 6f 6e 3a 20 31 2e 30  |IME-Version: 1.0|
00000260  0d 43 6f 6e 74 65 6e 74  2d 54 79 70 65 3a 20 6d  |.Content-Type: m|
00000270  75 6c 74 69 70 61 72 74  2f 61 6c 74 65 72 6e 61  |ultipart/alterna|
00000280  74 69 76 65 3b 20 62 6f  75 6e 64 61 72 79 3d 22  |tive; boundary="|
00000290  70 61 72 74 31 5f 32 61  61 39 34 2e 32 37 33 32  |part1_2aa94.2732|
000002a0  62 66 36 30 2e 33 62 64  64 39 66 61 38 5f 62 6f  |bf60.3bdd9fa8_bo|
000002b0  75 6e 64 61 72 79 22 0d  58 2d 4d 61 69 6c 65 72  |undary".X-Mailer|
000002c0  3a 20 54 68 75 6e 64 65  72 62 69 72 64 20 2d 20  |: Thunderbird - |
000002d0  4d 61 63 20 4f 53 20 58  20 73 75 62 20 32 30 37  |Mac OS X sub 207|
000002e0  0d 58 2d 4f 72 69 67 69  6e 61 74 69 6e 67 2d 49  |.X-Originating-I|
000002f0  50 3a 20 5b 32 30 37 2e  32 30 30 2e 31 32 32 2e  |P: [207.200.122.|
00000300  33 33 5d 0d 78 2d 61 6f  6c 2d 67 6c 6f 62 61 6c  |33].x-aol-global|
00000310  2d 64 69 73 70 6f 73 69  74 69 6f 6e 3a 20 47 0d  |-disposition: G.|
00000320  78 2d 61 6f 6c 2d 73 69  64 3a 20 33 30 33 39 61  |x-aol-sid: 3039a|
00000330  63 31 64 33 33 38 64 34  65 61 63 34 35 61 38 36  |c1d338d4eac45a86|
00000340  32 32 66 0d 0d 00 09 00  00 00 11 00 52 45 44 41  |22f.........REDA|
00000350  43 54 45 44 40 61 6f 6c  2e 63 6f 6d 00 17 00 00  |CTED@aol.com....|
00000360  00 bd 3c 48 54 4d 4c 3e  3c 46 4f 4e 54 20 46 41  |.. .|
00000420  0a 00 00 04 09 46 46 46  46 30 30 30 30 30 30 30  |.....FFFF0000000|
00000430  36 30 30 30 32 30 30 30  31 01 37 37 41 41 03 30  |600020001.77AA.0|
00000440  30 30 30 30 30 30 30 30  30 35 46 30 30 30 30 30  |0000000005F00000|
00000450  30 30 30 02 32 30 30 30  31 02 31 30 30 30 30 30  |000.20001.100000|
00000460  30 31 02 2d 37 46 46 46  36 45 42 36 02 30 c2 03  |01.-7FFF6EB6.0..|
00000470  02 34 38 30 30 34 38 02  30 02 32 02 31 32 01 30  |.480048.0.2.12.0|
00000480  c1 03 02 2d 31 82 02 30  c2 08 02 32 82 02 31 32  |...-1..0...2..12|
00000490  02 32 35 39 01 46 46 46  46 81 81 01 37 30 30 30  |.259.FFFF...7000|
000004a0  02 30 82 02 31 02 30 82  82 02 32 82 02 32 43 01  |.0..1.0...2..2C.|
000004b0  30 03 30 30 30 31 30 30  30 30 30 30 33 33 30 30  |0.00010000003300|
000004c0  30 30 30 30 30 31 02 30  02 32 43 01 34 30 38 34  |000001.0.2C.4084|
000004d0  02 30 81 82 81 82 02 32  82 02 31 32 02 32 35 39  |.0.....2..12.259|
000004e0  01 30 81 01 34 01 38 45  30 30 01 30 02 32 82 02  |.0..4.8E00.0.2..|
000004f0  31 32 02 31 30 44 02 30  03 30 30 30 32 30 30 30  |12.10D.0.0002000|
00000500  30 30 30 33 31 30 30 30  30 30 30 30 30 00 32 43  |0003100000000.2C|
00000510  2c 5b 54 68 69 73 20 76  65 72 73 69 6f 6e 20 6f  |,[This version o|
00000520  66 20 41 4f 4c 20 63 61  6e 6e 6f 74 20 76 69 65  |f AOL cannot vie|
00000530  77 20 48 54 4d 4c 20 6d  61 69 6c 2e 5d 03 30 30  |w HTML mail.].00|
00000540  30 34 30 30 30 30 30 30  30 39 30 30 30 30 30 30  |0400000009000000|
00000550  30 32 02 30 81 02 32 45  01 30 03 30 30 30 35 30  |02.0..2E.0.00050|
00000560  30 30 30 30 30 30 39 30  30 30 30 30 30 30 32 02  |000000900000002.|
00000570  30 81 02 32 45 01 30 03  30 30 30 36 30 30 30 30  |0..2E.0.00060000|
00000580  30 30 33 31 30 30 30 30  30 30 30 31 01 30 c1 03  |003100000001.0..|
00000590  01 43 01 33 01 31 01 30  82 82 c1 04 01 46 46 46  |.C.3.1.0.....FFF|
000005a0  46 81 81 01 30 82 02 43  30 30 30 30 02 30 c2 0a  |F...0..C0000.0..|
000005b0  02 32 02 30 c2 07 c1 20  82 82 c1 03 03 30 30 30  |.2.0... .....000|
000005c0  37 30 30 30 30 30 30 31  38 30 30 30 30 30 30 30  |7000000180000000|
000005d0  31 01 30 81 81 c2 0f 81  82 02 32 02 30 c2 07 81  |1.0.......2.0...|
000005e0  02 31 38 01 30 82 c1 03  03 30 30 30 38 30 30 30  |.18.0....0008000|
000005f0  30 30 30 39 37 30 30 30  30 30 30 30 31 00 34 30  |0009700000001.40|
00000600  2c 06 47 65 6e 65 76 61  00 00 00 00 00 00 00 00  |,.Geneva........|
00000610  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000640  00 00 34 30 2c 00 00 00  00 00 00 00 00 00 00 00  |..40,...........|
00000650  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000680  00 00 00 00 00 01 34 01  30 01 33 01 30 c2 0b 02  |......4.0.3.0...|
00000690  31 01 30 03 30 30 30 39  30 30 30 30 30 30 31 35  |1.0.000900000015|
000006a0  30 30 30 30 30 30 30 32  02 32 82 02 44 30 02 32  |00000002.2..D0.2|
000006b0  35 39 02 32 82 02 44 30  02 32 35 39 03 30 30 30  |59.2..D0.259.000|
000006c0  41 30 30 30 30 30 30 32  31 30 30 30 30 30 30 30  |A000000210000000|
000006d0  32 02 32 82 02 37 46 46  46 46 46 46 46 02 32 35  |2.2..7FFFFFFF.25|
000006e0  39 02 32 82 02 37 46 46  46 46 46 46 46 02 32 35  |9.2..7FFFFFFF.25|
000006f0  39 03 30 30 30 42 30 30  30 30 30 30 30 35 30 30  |9.000B0000000500|
00000700  30 30 30 30 30 32 02 30  c2 07 03 30 30 30 43 30  |000002.0...000C0|
00000710  30 30 30 30 30 30 44 30  30 30 30 30 30 30 31 02  |000000D00000001.|
00000720  32 43 02 30 c2 03 81 82  82 01 31 03 30 30 30 46  |2C.0......1.000F|
00000730  30 30 30 30 30 30 32 30  30 30 30 30 30 30 30 30  |0000002000000000|
00000740  02 35 01 30 c2 0b 01 31  02 30 c2 09 81 81 82 81  |.5.0...1.0......|
00000750  81 c2 05 c1 05 c2 03 c1  04 82 82 c1 03 c2 1e 03  |................|
00000760  30 30 31 33 30 30 30 30  30 30 37 45 30 30 30 30  |00130000007E0000|
00000770  30 30 30 30 01 44 01 41  01 39 01 31 46 01 38 01  |0000.D.A.9.1F.8.|
00000780  43 01 45 01 31 43 01 31  44 01 31 45 01 31 46 01  |C.E.1C.1D.1E.1F.|
00000790  37 46 01 31 42 01 30 00  34 34 2c 01 2d 00 00 01  |7F.1B.0.44,.-...|
000007a0  2e 00 00 01 a6 00 00 01  b9 00 00 01 13 00 00 01  |................|
000007b0  b0 00 00 01 ad 00 00 01  ad 00 00 01 2e 00 00 01  |................|
000007c0  27 00 00 01 22 00 00 01  d4 00 00 01 d5 00 00 01  |'..."...........|
000007d0  d2 00 00 01 d3 00 00 01  c9 00 00 01 c9 00 00 01  |................|
000007e0  46 46 46 46 81 81 01 30  01 46 46 46 46 81 81 01  |FFFF...0.FFFF...|
000007f0  30 03 30 31 32 38 30 30  30 30 30 30 30 41 30 30  |0.01280000000A00|
00000800  30 30 30 30 30 31 02 32  45 82 01 30 c1 03 82 03  |000001.2E..0....|
00000810  30 31 32 39 30 30 30 30  30 30 30 41 30 30 30 30  |01290000000A0000|
00000820  30 30 30 31 02 32 45 82  01 30 c1 03 82 03 0a     |0001.2E..0.....|
0000082f

It might be easy enough to parse the messages out of these files for the common case, but I also want to retrieve any attachments 100% intact. Many of the messages have attachments.

I selected the example above because it was small, but maybe it was too small because it may not even have a message body.

Any advice in identifying this format, and/or pointers to resources that describe its structure or provide software to decode it, would be much appreciated. Thanks