Hi Lee, we have done quite a bit of work on this at CustomersSure, unfortunately it’s baked into our app at the minute. We hope to extract it in the future, but in the mean time we could meet and compare code, techniques etc? Thoughtbot have released a gem
http://robots.thoughtbot.com/post/42286882447/handle-incoming-email-with-griddler which they extracted from their app. Although it has some nice patterns (that I might borrow/steal for a refactor), it doesn't do much of what we need, namely extracting the original sender of a forwarded email, the message content from forwards, reply sections, inline replies etc.
The business logic is the easy part, but slicing out what you need first is quite a challenge, we are honing in on a decent solution which is working most of the time.