On Jan 18, 2007, at 12:52, Phil Cooperking wrote: > I've been trying to find a good source of imap or pop information with > ruby and cant. maybe I'm missing somthing. > > as I understand with imap you can select parts of the BODY like [TEXT] > [1]. I understand what text does but I was underthe impression that > [1] > would select just the plain text. with that does'nt always seem to be > the case with my test program. most of the results will come in plain > text then some will contain a both multiparts. So does [1] actually > do(mean). > > What I'm trying to do is strip everything from the mail apart from the > Enevelope and the plain text. can somebody point me in the right > direction? this is the line of code that I've been using to pull the > email with > > mail.message = imap.fetch(message_id, 'BODY[1]')[0].attr['BODY[1]'] I think that BODY[1] means grab the first section of the message body. You'll need to figure out which section is text/plain first, then grab that section. I think something like: header = imap.fetch 397, 'RFC822.HEADER' header.first.attr['RFC822.HEADER'] =~ /^Content-Type: .*$/ $& # => "Content-Type: multipart/alternative; \r" Since this is a multipart message, then figure out which chunk is what: imap.fetch 397, 'BODY[1.MIME]' # => [#<struct Net::IMAP::FetchData seqno=397, attr={"BODY [1.MIME]"=>"Content-Type: text/plain; charset=ISO-8859-1; format=flowed\r\nContent-Transfer-Encoding: 7bit\r\nContent- Disposition: inline\r\n\r\n"}>] imap.fetch 397, 'BODY[2.MIME]' # => [#<struct Net::IMAP::FetchData seqno=397, attr={"BODY [2.MIME]"=>"Content-Type: text/html; charset=ISO-8859-1\r\nContent- Transfer-Encoding: 7bit\r\nContent-Disposition: inline\r\n\r\n"}>] imap.fetch 397, 'BODY[3.MIME]' # => [#<struct Net::IMAP::FetchData seqno=397, attr={}>] So the first chunk is text/plain, grab it: imap.fetch 397, 'BODY[1]' => [#<struct Net::IMAP::FetchData seqno=397, attr={"BODY[1]"=>"..."}>] See also RFC 3501 section 6.4.5. http://www.rfc-editor.org/rfc/rfc3501.txt -- Eric Hodel - drbrain / segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE!