> In some cases the emails don’t seem to have a > content-transfer-encoding header, This is not a problem. RFC2045 specifies that "Content-Transfer-Encoding: 7BIT" should be assumed if the Content-Transfer-Encoding header is not present. guile-email implements this recommendation. > * I sometimes need to discard the first two lines of the raw email to > get the headers to be fully parsed Your attachment is an mbox, not a raw email. Perhaps you are treating it as a raw email and that's why you have to chop off the first line? And, I'm guessing your other problems are also related to this. The following snippet works for me. Could you confirm? --8<---------------cut here---------------start------------->8--- (parse-email (first (call-with-input-file "/path/to/your/attachment" mbox->emails))) --8<---------------cut here---------------end--------------->8---