incoming email question

I’m writing a model for receiving incoming email from a remote imap server. The problem is, our server isn’t going to be running all of the time, and so I’m just going to set it up to check the inbox on each request (there won’t be many requests, it’s not a public site). Our rails server is running Windows. This is what I have so far, pretty much copied from

def recieve(email)
emailer = Emailer.find_by_address(email.sender)
:incoming => true,
:subject => email.subject,
:body => email.body,
:time => email


def send

not done yet


def self.check_mail
imap =’
imap.authenticate(‘LOGIN’,‘username’,‘password’)‘INBOX’)[‘ALL’]).each do |message_id|

msg = imap.fetch(message_id,'RFC822')[0].attr['RFC822']
MailReader.receive(msg), “+FLAGS”, [:Deleted])


The problem is that because our server isn’t running all the time, I want to get the time the email was sent from the headers. This is very important as we have strict deadlines relating to replying to emails.

Any help would be much appreciated,

oops, the line that say :time => email is in there because I presume it’s email.something, but I don’t know.