Using NET::POP3 and ActionMailer successfully. . .?

Hi all,

I've tried all of the following to get email retrieval, parsing, and saving to the DB working properly in rails:

http://swik.net/Rails/Dave+Naffis+-+Rails,+Ruby,+Randomness/Receiving+Emails+and+Attachments+with+Rails/kqnw

http://www.nabble.com/Follow-Up:-Receiving-Inbound-Email-and-Creating-Data-in-Rails-App-t3538384.html

http://wiki.rubyonrails.org/rails/pages/HowToReceiveEmailsWithActionMailer

http://www.zakainsworth.com/articles/2006/08/09/receiving-email-in-rails

. . .none of them worked 100%. For the most part, I've been able to retrieve the files and save them in their entirety locally to disk. However, if I even think of using ActionMailer to then parse and handle the file, things go haywire. I receive "end of file" errors and all kinds of other things depending on different 'tweaks'.

In my mind it should be as simple as the semi-demi-sorta-pseudo-code that follows:

class myclass << InheritsFrom   mail = popchecker(user,pass,server)   foreach mail do |m|     #process email and attachments for DB     #save a copy locally   end end

So, my question is, has anyone here successfully incorporated POP3 email support into their Rails apps, and if so how?

FYI, I'd rather handle all mail internally; not use something like 'getmail' to pass it from outside.

Thanks in advance!

Hi there,

I have incoming email processing as part of my app and though I use IMAP for the interface to fetching email I have successfully used POP as well. I use backgroundrb for fetching and processing incoming emails. I chose IMAP because it allows me to look at the header and decide
whether or not I'd like to fetch the entire message. With POP you have no choice but to just download everything serially.

I never thought that trying to hook rails up directly to postfix or
whatever and having it spin up rails on every single incoming email would work very well
at all so I chose the "pull" method instead where I check mail on an interval with
backgroundrb.

-Michael http://javathehutt.blogspot.com