<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="../plugin.xsl" type="text/xsl"?>
<plugin name="ImapInjector">
  <object class="org.objectweb.isac.plugin.imapinjector.SessionObject">
    <params>
      <param name="hostname" type="String" />
      <param name="port" type="String" />
    </params>
    <help>This plugin is used for testing an IMAP mail server. It provides methods to connect, login, select mailboxes(folders), search messages, retrieve messages, copy messages from one mailbox(folder) to another, and logout.</help>
  </object>
  <sample name="Connect" number="0">
    <params>
      <param name="username" type="String" />
      <param name="password" type="String" />
      <param name="hostname" type="String" />
      <param name="port" type="String" />
    </params>
    <help>This connects to the hostname and port configured</help>
  </sample>
  <sample name="logoff" number="1">
    <params />
    <help>This logs the current user off, and terminates the connection.</help>
  </sample>
  <sample name="select" number="2">
    <params>
      <param name="name" type="String" />
    </params>
    <help>This selects a given mailbox/folder.

When selecting a sub-folder, the full path must be specified. Example: INBOX\junk</help>
  </sample>
  <sample name="search" number="3">
    <params>
      <param name="criteria" type="String" />
    </params>
    <help>This executes a search on the server.

Search Criteria can be a complex logical string. Please refer to the IMAP RFC (#3501) for details on valid keywords and operators.</help>
  </sample>
  <sample name="fetch" number="4">
    <params>
      <param name="messageID" type="String" />
    </params>
    <help>This retrieves a specified message. A mailbox must be selected before making this request.

Message ID can be an individual message number, or a range, in the form x:y. The range is inclusive.</help>
  </sample>
  <sample name="move" number="5">
    <params>
      <param name="messageID" type="String" />
      <param name="mailbox" type="String" />
    </params>
    <help>This movies the designated message(s) to a new location/mailbox. The message(s) will be deleted from the source location.

Message ID can be an individual message number, or a range, in the form x:y. The range is inclusive.

Mailbox/Folder Name specifies where to copy the message(s) to. If the destination is a sub-folder, the full path must be specified. Example: INBOX\junk</help>
  </sample>
</plugin>

