Module: Asposeemailjava::SearchMessagesAndFoldersInPST

Defined in:
lib/asposeemailjava/Outlook/searchmessagesandfoldersinpst.rb

Instance Method Summary collapse

Instance Method Details

#initializeObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/asposeemailjava/Outlook/searchmessagesandfoldersinpst.rb', line 3

def initialize()
    data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'

    # Load the Outlook PST file

    pst = Rjb::import('com.aspose.email.PersonalStorage').fromFile(data_dir + "sample.pst")

    folder = pst.getRootFolder().getSubFolder("myInbox")
    builder = Rjb::import('com.aspose.email.PersonalStorageQueryBuilder').new

    # High importance messages

    builder.getImportance().equals(Rjb::import('com.aspose.email.MapiImportance').High)
    messages = folder.getContents(builder.getQuery())
    puts "Messages with High Imp:" + messages.size().to_s

    #builder = new PersonalStorageQueryBuilder();

    builder.getMessageClass().equals("IPM.Note")
    messages = folder.getContents(builder.getQuery())
    puts "Messages with IPM.Note:" + messages.size().to_s

    # Messages with attachments AND high importance

    builder.getImportance().equals(Rjb::import('com.aspose.email.MapiImportance').High)
    builder.hasFlags(Rjb::import('com.aspose.email.MapiMessageFlags').MSGFLAG_HASATTACH)
    messages = folder.getContents(builder.getQuery())
    puts "Messages with atts: " + messages.size().to_s

    # Messages with size > 15 KB

    builder.getMessageSize().greater(15000)
    messages = folder.getContents(builder.getQuery())
    puts "messags size > 15Kb:" + messages.size().to_s

    # Unread messages

    builder.hasNoFlags(Rjb::import('com.aspose.email.MapiMessageFlags').MSGFLAG_READ)
    messages = folder.getContents(builder.getQuery())
    puts "Unread:" + messages.size().to_s

    # Unread messages with attachments

    builder.hasNoFlags(Rjb::import('com.aspose.email.MapiMessageFlags').MSGFLAG_READ)
    builder.hasFlags(Rjb::import('com.aspose.email.MapiMessageFlags').MSGFLAG_HASATTACH)
    messages = folder.getContents(builder.getQuery())
    puts "Unread msgs with atts: " + messages.size().to_s
end