Being new to ruby, I'm having a little trouble getting my mind around the documentation for net/imap, located here: http://www.ruby-doc.org/stdlib/libdoc/net/imap/rdoc/index.html I understand that if I do: messagestruct = imap.uid_fetch(10,["BODYSTRUCTURE"])[0] I will get a FetchData object and further processing, like: message = messagestruct.attr["BODYSTRUCTURE"].parts[0].subtype would provide me the type of message (Plain, Html, etc) part 0 is. But I don't get what I'm 'doing'. What words would describe the above commands? I know that message will be an array of FetchData objects. Just looking for some help on how to read the documentation. The current question I'm trying to answer is: In order to get the plain text portion of a multipart message, am I really going to have to call uid_fetch (or fetch), twice? Once to get the BODYSTRUCTURE, then again to actually get at the text? Thanks for any direction you may provide. Mike B.