Проверьте соответствующие RFC для точного определения заголовков.В сущности, IIRC необходимо учитывать, что все, что имеет разрыв строки и один или несколько пробельных символов (например, пробел, неразрывный пробел, символ табуляции), должно быть частью одной строки заголовка.Я также считаю, что вы должны свернуть разрыв строки и пробелы в один элемент пробела (примечание: там могут быть более сложные правила, поэтому проверьте RFC).
Только если новая строка начинается непосредственно снепробельный символ - это следующий заголовок, и если сразу за ним следует другой разрыв строки, он заканчивает раздел заголовка и начинает раздел тела.
Кстати: почему бы просто не использовать JavaMail вместо изобретения колеса?1005 *