Class: Redimap::ImapConn
- Inherits:
-
Object
- Object
- Redimap::ImapConn
- Defined in:
- lib/redimap/imap_conn.rb
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize ⇒ ImapConn
constructor
A new instance of ImapConn.
- #read_mailbox(mailbox = "INBOX", last_seen_uid = 0) ⇒ Object
Constructor Details
#initialize ⇒ ImapConn
Returns a new instance of ImapConn.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/redimap/imap_conn.rb', line 7 def initialize begin @imap = Net::IMAP.new(Redimap.config.imap_host, { :port => Redimap.config.imap_port, :ssl => true }) @imap.login(Redimap.config.imap_username, Redimap.config.imap_password) rescue Net::IMAP::NoResponseError => e Redimap.logger.error { e.to_s } return end if block_given? yield self close end end |
Instance Method Details
#close ⇒ Object
28 29 30 31 32 |
# File 'lib/redimap/imap_conn.rb', line 28 def close @imap.logout @imap.disconnect end |
#read_mailbox(mailbox = "INBOX", last_seen_uid = 0) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/redimap/imap_conn.rb', line 34 def read_mailbox(mailbox = "INBOX", last_seen_uid = 0) @imap.select(mailbox) uids = @imap.uid_search("#{last_seen_uid + 1}:*") uids.find_all { |uid| uid > last_seen_uid } # IMAP search gets fun with edge cases. end |