class ImapClear::App
Attributes
host[RW]
imap[R]
inbox[RW]
pass[RW]
port[RW]
trashbox[RW]
user[RW]
Public Class Methods
new()
click to toggle source
# File lib/imap_clear/app.rb, line 25 def initialize @inbox = "INBOX" @trashbox = "INBOX.Trash" end
Public Instance Methods
connect()
click to toggle source
# File lib/imap_clear/app.rb, line 30 def connect @imap = Net::IMAP.new(host, port, true, nil, false) end
delete_uids(uids)
click to toggle source
# File lib/imap_clear/app.rb, line 72 def delete_uids uids $stdout.print "Deleting #{uids.count} emails\n" $stdout.flush uids.each do |uid| imap.uid_copy(uid, trashbox) imap.uid_store(uid, "+FLAGS", [:Deleted]) $stdout.print "." $stdout.flush end end
disconnect()
click to toggle source
# File lib/imap_clear/app.rb, line 91 def disconnect imap.disconnect unless imap.disconnected? end
expunge()
click to toggle source
# File lib/imap_clear/app.rb, line 87 def expunge imap.expunge end
fetch(seqno)
click to toggle source
# File lib/imap_clear/app.rb, line 56 def fetch seqno imap.fetch(seqno, ["UID","ENVELOPE"]) end
get_uids_where_body_contains(value)
click to toggle source
# File lib/imap_clear/app.rb, line 51 def get_uids_where_body_contains value select_mailbox(inbox) uids = imap.uid_search(["BODY", value]) end
get_uids_where_from(email_address)
click to toggle source
# File lib/imap_clear/app.rb, line 46 def get_uids_where_from email_address select_mailbox(inbox) uids = imap.uid_search(["FROM", email_address]) end
list_mailboxes()
click to toggle source
# File lib/imap_clear/app.rb, line 38 def list_mailboxes imap.list("", "*") end
login()
click to toggle source
# File lib/imap_clear/app.rb, line 34 def login @imap.login(user, pass) end
select_mailbox(mailbox)
click to toggle source
# File lib/imap_clear/app.rb, line 42 def select_mailbox mailbox imap.select(mailbox) end
show_envelope_for_uid(uid)
click to toggle source
# File lib/imap_clear/app.rb, line 83 def show_envelope_for_uid uid imap.uid_fetch(uid, "ENVELOPE") end
subject_line(seqno)
click to toggle source
# File lib/imap_clear/app.rb, line 64 def subject_line seqno imap.fetch(seqno, "BODY[HEADER.FIELDS (SUBJECT)]") end
uid_fetch(uid)
click to toggle source
# File lib/imap_clear/app.rb, line 60 def uid_fetch uid imap.uid_fetch(uid, "ENVELOPE") end
uid_subject_line(uid)
click to toggle source
# File lib/imap_clear/app.rb, line 68 def uid_subject_line uid imap.uid_fetch(uid, "BODY[HEADER.FIELDS (SUBJECT)]") end