Class Mail::IMAP
In: lib/mail/network/retriever_methods/imap.rb
Parent: Retriever

The IMAP retriever allows to get the last, first or all emails from a IMAP server. Each email retrieved (RFC2822) is given as an instance of Message.

While being retrieved, emails can be yielded if a block is given.

Example of retrieving Emails from GMail:

  Mail.defaults do
    retriever_method :imap, { :address             => "imap.googlemail.com",
                              :port                => 993,
                              :user_name           => '<username>',
                              :password            => '<password>',
                              :enable_ssl          => true }
  end

  Mail.all    #=> Returns an array of all emails
  Mail.first  #=> Returns the first unread email
  Mail.last   #=> Returns the last unread email

You can also pass options into Mail.find to locate an email in your imap mailbox with the following options:

  mailbox: name of the mailbox used for email retrieval. The default is 'INBOX'.
  what:    last or first emails. The default is :first.
  order:   order of emails returned. Possible values are :asc or :desc. Default value is :asc.
  count:   number of emails to retrieve. The default value is 10. A value of 1 returns an
           instance of Message, not an array of Message instances.
  keys:    are passed as criteria to the SEARCH command.  They can either be a string holding the entire search string,
           or a single-dimension array of search keywords and arguments.  Refer to  [IMAP] section 6.4.4 for a full list
           The default is 'ALL'

  Mail.find(:what => :first, :count => 10, :order => :asc, :keys=>'ALL')
  #=> Returns the first 10 emails in ascending order

Methods

connection   delete_all   find   new  

Attributes

settings  [RW] 

Public Class methods

Public Instance methods

Returns the connection object of the retrievable (IMAP or POP3)

Delete all emails from a IMAP mailbox

Find emails in a IMAP mailbox. Without any options, the 10 last received emails are returned.

Possible options:

  mailbox: mailbox to search the email(s) in. The default is 'INBOX'.
  what:    last or first emails. The default is :first.
  order:   order of emails returned. Possible values are :asc or :desc. Default value is :asc.
  count:   number of emails to retrieve. The default value is 10. A value of 1 returns an
           instance of Message, not an array of Message instances.
  read_only: will ensure that no writes are made to the inbox during the session.  Specifically, if this is
             set to true, the code will use the EXAMINE command to retrieve the mail.  If set to false, which
             is the default, a SELECT command will be used to retrieve the mail
             This is helpful when you don't want your messages to be set to read automatically. Default is false.
  delete_after_find: flag for whether to delete each retreived email after find. Default
          is false. Use #find_and_delete if you would like this to default to true.
  keys:   are passed as criteria to the SEARCH command.  They can either be a string holding the entire search string,
          or a single-dimension array of search keywords and arguments.  Refer to  [IMAP] section 6.4.4 for a full list
          The default is 'ALL'

[Validate]