Sha256: 66869bcc8c143b19b4fb4a443f94ea897f9981b46992a2120e46c6c327a652cb

Contents?: true

Size: 811 Bytes

Versions: 3

Compression:

Stored size: 811 Bytes

Contents

# Adding methods to imap for easier access to things we do commonly
require 'mail'

module Mail

  class IMAP

    # add a delete message
    # so that we can delete without calling find again

    def delete_messages(mailbox, messages)
      mailbox = Net::IMAP.encode_utf7(mailbox)
      messages.each do |message_hash|
        imap = message_hash[:connection]
        message_id = message_hash[:message_id]
        message = message_hash[:message]
        imap.uid_store(message_id, "+FLAGS", [Net::IMAP::DELETED]) if message.is_marked_for_delete?
      end
      start do |imap|
        begin
          imap.select(mailbox)
          imap.expunge
        rescue => e
          puts e.message
          puts e.backtrace.join("\n")
          raise e
        end
      end
      
    end

        

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
kns_email_endpoint-0.1.2 lib/kns_email_endpoint/core_extensions/imap.rb
kns_email_endpoint-0.1.1 lib/kns_email_endpoint/core_extensions/imap.rb
kns_email_endpoint-0.1.0 lib/kns_email_endpoint/core_extensions/imap.rb