in reply to Random email parsing
If the titles always appear at first in their own block then it would be useful to extract these first and store them away somewhere. Then as you process each "message" block you could mark each title to show that you have found and processed the corresponding message. This would give you a useful check at the end that you haven't missed something.
A different way of looking at things would be to provide a form based way for the users to input the article. Then you could have fields for title, source, date, text, etc. And of course you have more control and can do validation and reformatting at the data entry point.