On 18 Aug 2014, at 14:19, Lulie Tanett wrote:
Hi all,
I'm migrating from Mail.app to MailMate and have some offline messages
which I'm putting on Fastmail. A few messages fail to upload and it
gives me this error message:
"The IMAP command “APPEND” (to INBOX.ARR Archives) failed with
server
error: Message contains NUL characters."
It also fails (with the same error) if I try to drag the .emlx file
from
the Finder directly into MailMate.
That's not good. It's a strong indication that the message files are
corrupted. It is theoretically possible that they are unusual cases of
raw binary encoding in email, but it is far more likely that at some
point they have been damaged by something.
These messages are from 1994-1997 (only a few from these folders
failed
though; most of them transferred through fine).
So, these are messages that predate the existence of Mail.app and
presumably were imported into it from something else. That's actually a
hopeful sign, since it is not hard to get an errant NUL into text data
by way of an "off by one" error copying one extra byte in many
programming languages. If a buggy importing process tacked an extra NUL
onto the end of each message body in the .emlx files, Mail.app would
likely never have a problem with it.
Is there anything I can do to fix them?
Maybe.
A Mail .emlx file is essentially a text file with 3 parts: a line with
the bytesize of the message data, the message data itself, and a short
XML property list with Mail's metadata for the message. If there's a NUL
tacked onto the end of the message data, Mail would probably show no
sign of it and MailMate might not notice it, but it would be lethal when
sending the message to an IMAP server using the standard mechanism which
forbids raw NUL characters.
The way I'd attack the emlx files would start with confirming that they
are not entirely garbage and look like something close to a proper emlx.
I'm a Unix geek so I'd use 'head' and 'tail', but any text editor should
work. If the first line is a number and the next dozen or so are email
headers and the last 16 are a plist (see a valid emlx for what that
looks like) then you can probably salvage them by pulling the message
data out, cleaning it of NULs and any other control characters, and
saving it as a .eml file.
_______________________________________________
mailmate mailing list
mailmate@lists.freron.com
http://lists.freron.com/listinfo/mailmate