--- svn/src/wordEncoder.cpp (revision 603) +++ svn/src/wordEncoder.cpp (working copy) @@ -239,6 +239,13 @@ if (buffer.find_first_of("\n\r") != string::npos) return true; + // If the string contains a QP string, we need to encode this. + // Not a 100% check, but we'd only get more encoded strings. + std::string::size_type pos = buffer.find("=?"); + std::string::size_type end = buffer.find("?="); + if (pos != string::npos && end != string::npos && end > pos) + return true; + return false; }