Patch by Zarafa <http://www.zarafa.com/> - broken emails without a final boundary will still be able to deliver with all attachments. The final part without the boundary will be treated as an attachment. --- libvmime-0.7.1/src/body.cpp 2005-03-18 22:26:46.000000000 +0100 +++ libvmime-0.7.1/src/body.cpp.missing-boundary 2006-01-12 15:45:48.443911888 +0100 @@ -200,6 +200,27 @@ if (partStart < end) m_epilogText = string(buffer.begin() + partStart, buffer.begin() + end); + + // lastPart was not found, so the last boundary was missing + // m_epilogText will become a bodyPart + if (!lastPart && pos == string::npos) { + bodyPart* part = new bodyPart; + + try + { + part->parse(m_epilogText); + } + catch (std::exception&) + { + delete (part); + throw; + } + + part->m_parent = m_part; + + m_parts.push_back(part); + } + } // Treat the contents as 'simple' data else