Well, it posted, but evidently still has a few bugs. As you can see, the newlines got butchered with the real data and some headers didn't come out right.
Newlines have been the hardest thing in all of this. They sometimes matter in plain text, but sometimes are just an artifact of wrapping. They sometimes matter in bbcode, but sometimes should be collapsed into the surrounding area. And, of course, the matter to the NNTP network talk. But, it looks like my code is just collapsing them a little too often. Other than that, it seems to have worked well, and the reading code for UTF-8 and quoted-printable did good work. One more weekend and we should be set with all the fundamentals. Then, wrap up the gravy and style and I'll call it done.