views:

32

answers:

1

I'm trying to read an email using ruby mail gem. But mail.body.decoded returns me not just the body message. How can I clean up this body message and remove unwanted text like "--20cf30433c9a437cc304939017ef\nContent-Type: text/plain; charset=ISO-8859-1\nContent-" ?

message = $stdin.read
mail = Mail.read_from_string(message)
puts mail.body.decoded

--20cf30433c9a437cc304939017ef\nContent-Type: text/plain; charset=ISO-8859-1\nContent-Transfer-Encoding: quoted-printable\n\n REAL BODY TEXT \n\n--20cf30433c9a437cc304939017ef\nContent-Type: text/html; charset=ISO-8859-1\nContent-Transfer-Encoding: quoted-printable\n\n--20cf30433c9a437cc304939017ef--

How can I clean up this email body mail message extracting only the REAL BODY TEXT , without ANY header ?

I'm creating a simple Ticket System based in Ruby on Rails, and a ticket is created when an email is received by [email protected]. But when the message is in HTML format the BODY TEXT is surrounded by HEADERs text.

+1  A: 

looks like you've got a multipart email, so you can use mail.parts[0].body.decoded These will probably come in handy too: mail.multipart?
mail.parts.length

The gem documentation at github is pretty decent

Anna
Thats exactly what I was looking for! Thank you very much.
NewtonX