Forum: Ruby on Rails Getting email replies with Net::IMAP

Eb6042d3fdf039e9259b1a5f17db337c?d=identicon&s=25 The Ultimation (pimeamark)
on 2009-07-06 18:33
Hi, I recently made a program that retrieves emails from an inbox and
enters the body of those emails into a database using IMAP. I was just
wondering, is there any function in IMAP or other solution where I can
just get the body of the new email and exclude the quoted parts of the
previous emails? for example, currently I'm getting things like this in
my database:

Let's try this one out On Jun 30, 2009, at 11:19 AM, Mark wrote: >
Thanks for all your help bud.

^^ here i only want the "Let's try this one out" and not the text that
comes after it.


Different email providers handle quoting in different ways, so I don't
think it's as easy as looking for a certain string and deleting the text
after it. I wouldn't want to do that anyway. Is there an object in IMAP
that handles this? Just curious if anyone has similar experience.
Thanks!
Dd2d775dea75b381edb1bbf0600a0907?d=identicon&s=25 Marnen Laibow-Koser (marnen)
on 2009-07-06 19:31
Mark Mr wrote:
[...]

> Different email providers handle quoting in different ways, so I don't
> think it's as easy as looking for a certain string and deleting the text
> after it.

You just answered your own question.  There's no single standard for
quoting text, so how could there be anything in the IMAP protocol to
identify it?

> I wouldn't want to do that anyway. Is there an object in IMAP
> that handles this?

Oh, wait, you mean something in the Net::IMAP library rather than the
protocol command set?  In that case I'm not sure, but since it's easy
enough to write a couple of regexps to handle the common cases, I'm not
sure why you'd need it.

Best,
--
Marnen Laibow-Koser
http://www.marnen.org
marnen@marnen.org
Eb6042d3fdf039e9259b1a5f17db337c?d=identicon&s=25 The Ultimation (pimeamark)
on 2009-07-06 19:58
Marnen Laibow-Koser wrote:

> You just answered your own question.  There's no single standard for
> quoting text, so how could there be anything in the IMAP protocol to
> identify it?

> Oh, wait, you mean something in the Net::IMAP library rather than the
> protocol command set?  In that case I'm not sure, but since it's easy
> enough to write a couple of regexps to handle the common cases, I'm not
> sure why you'd need it.


I wasn't sure if there was some way of IMAP identifying quotes within an
email's body, but I know technology can do some crazy things so why not
:) Just curious if anyone had done something similar and what worked for
them. Thanks for the reply though. I'll resort to regexps if necessary.
5c6f99c6b4ce33184e9254cdebbf6648?d=identicon&s=25 Gabe S. (gabe_s)
on 2012-10-09 19:20
There's a Ruby gem to handle this, released by Github:

https://github.com/github/email_reply_parser

The Ultimation wrote in post #832834:
> Marnen Laibow-Koser wrote:
>
>> You just answered your own question.  There's no single standard for
>> quoting text, so how could there be anything in the IMAP protocol to
>> identify it?
>
>> Oh, wait, you mean something in the Net::IMAP library rather than the
>> protocol command set?  In that case I'm not sure, but since it's easy
>> enough to write a couple of regexps to handle the common cases, I'm not
>> sure why you'd need it.
>
>
> I wasn't sure if there was some way of IMAP identifying quotes within an
> email's body, but I know technology can do some crazy things so why not
> :) Just curious if anyone had done something similar and what worked for
> them. Thanks for the reply though. I'll resort to regexps if necessary.
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.