--- !ruby/object:RI::ClassDescription 
attributes: 
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: The thread to receive exceptions.
  name: client_thread
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Returns an initial greeting response from the server.
  name: greeting
  rw: R
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Returns all response handlers.
  name: response_handlers
  rw: R
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "Returns recorded untagged responses. For example:"
  - !ruby/struct:SM::Flow::VERB 
    body: "  imap.select(&quot;inbox&quot;)\n  p imap.responses[&quot;EXISTS&quot;][-1]\n  #=&gt; 2\n  p imap.responses[&quot;UIDVALIDITY&quot;][-1]\n  #=&gt; 968263756\n"
  name: responses
  rw: R
class_methods: 
- !ruby/object:RI::MethodSummary 
  name: add_authenticator
- !ruby/object:RI::MethodSummary 
  name: debug
- !ruby/object:RI::MethodSummary 
  name: debug=
- !ruby/object:RI::MethodSummary 
  name: decode_utf7
- !ruby/object:RI::MethodSummary 
  name: encode_utf7
- !ruby/object:RI::MethodSummary 
  name: new
- !ruby/object:RI::MethodSummary 
  name: u16tou8
- !ruby/object:RI::MethodSummary 
  name: u8tou16
comment: 
- !ruby/struct:SM::Flow::P 
  body: Net::IMAP implements Internet Message Access Protocol (IMAP) client functionality. The protocol is described in [IMAP].
- !ruby/struct:SM::Flow::H 
  level: 2
  text: IMAP Overview
- !ruby/struct:SM::Flow::P 
  body: "An IMAP client connects to a server, and then authenticates itself using either #authenticate() or #login(). Having authenticated itself, there is a range of commands available to it. Most work with mailboxes, which may be arranged in an hierarchical namespace, and each of which contains zero or more messages. How this is implemented on the server is implementation-dependent; on a UNIX server, it will frequently be implemented as a files in mailbox format within a hierarchy of directories."
- !ruby/struct:SM::Flow::P 
  body: "To work on the messages within a mailbox, the client must first select that mailbox, using either #select() or (for read-only access) #examine(). Once the client has successfully selected a mailbox, they enter <em>selected</em> state, and that mailbox becomes the <em>current</em> mailbox, on which mail-item related commands implicitly operate."
- !ruby/struct:SM::Flow::P 
  body: "Messages have two sorts of identifiers: message sequence numbers, and UIDs."
- !ruby/struct:SM::Flow::P 
  body: Message sequence numbers number messages within a mail box from 1 up to the number of items in the mail box. If new message arrives during a session, it receives a sequence number equal to the new size of the mail box. If messages are expunged from the mailbox, remaining messages have their sequence numbers &quot;shuffled down&quot; to fill the gaps.
- !ruby/struct:SM::Flow::P 
  body: UIDs, on the other hand, are permanently guaranteed not to identify another message within the same mailbox, even if the existing message is deleted. UIDs are required to be assigned in ascending (but not necessarily sequential) order within a mailbox; this means that if a non-IMAP client rearranges the order of mailitems within a mailbox, the UIDs have to be reassigned. An IMAP client cannot thus rearrange message orders.
- !ruby/struct:SM::Flow::H 
  level: 2
  text: Examples of Usage
- !ruby/struct:SM::Flow::H 
  level: 3
  text: List sender and subject of all recent messages in the default mailbox
- !ruby/struct:SM::Flow::VERB 
  body: "  imap = Net::IMAP.new('mail.example.com')\n  imap.authenticate('LOGIN', 'joe_user', 'joes_password')\n  imap.examine('INBOX')\n  imap.search([&quot;RECENT&quot;]).each do |message_id|\n    envelope = imap.fetch(message_id, &quot;ENVELOPE&quot;)[0].attr[&quot;ENVELOPE&quot;]\n    puts &quot;#{envelope.from[0].name}: \\t#{envelope.subject}&quot;\n  end\n"
- !ruby/struct:SM::Flow::H 
  level: 3
  text: Move all messages from April 2003 from &quot;Mail/sent-mail&quot; to &quot;Mail/sent-apr03&quot;
- !ruby/struct:SM::Flow::VERB 
  body: "  imap = Net::IMAP.new('mail.example.com')\n  imap.authenticate('LOGIN', 'joe_user', 'joes_password')\n  imap.select('Mail/sent-mail')\n  if not imap.list('Mail/', 'sent-apr03')\n    imap.create('Mail/sent-apr03')\n  end\n  imap.search([&quot;BEFORE&quot;, &quot;30-Apr-2003&quot;, &quot;SINCE&quot;, &quot;1-Apr-2003&quot;]).each do |message_id|\n    imap.copy(message_id, &quot;Mail/sent-apr03&quot;)\n    imap.store(message_id, &quot;+FLAGS&quot;, [:Deleted])\n  end\n  imap.expunge\n"
- !ruby/struct:SM::Flow::H 
  level: 2
  text: Thread Safety
- !ruby/struct:SM::Flow::P 
  body: Net::IMAP supports concurrent threads. For example,
- !ruby/struct:SM::Flow::VERB 
  body: "  imap = Net::IMAP.new(&quot;imap.foo.net&quot;, &quot;imap2&quot;)\n  imap.authenticate(&quot;cram-md5&quot;, &quot;bar&quot;, &quot;password&quot;)\n  imap.select(&quot;inbox&quot;)\n  fetch_thread = Thread.start { imap.fetch(1..-1, &quot;UID&quot;) }\n  search_result = imap.search([&quot;BODY&quot;, &quot;hello&quot;])\n  fetch_result = fetch_thread.value\n  imap.disconnect\n"
- !ruby/struct:SM::Flow::P 
  body: This script invokes the FETCH command and the SEARCH command concurrently.
- !ruby/struct:SM::Flow::H 
  level: 2
  text: Errors
- !ruby/struct:SM::Flow::P 
  body: "An IMAP server can send three different types of responses to indicate failure:"
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: "NO:"
    body: the attempted command could not be successfully completed. For instance, the username/password used for logging in are incorrect; the selected mailbox does not exists; etc.
  - !ruby/struct:SM::Flow::LI 
    label: "BAD:"
    body: the request from the client does not follow the server's understanding of the IMAP protocol. This includes attempting commands from the wrong client state; for instance, attempting to perform a SEARCH command without having SELECTed a current mailbox. It can also signal an internal server failure (such as a disk crash) has occurred.
  - !ruby/struct:SM::Flow::LI 
    label: "BYE:"
    body: the server is saying goodbye. This can be part of a normal logout sequence, and can be used as part of a login sequence to indicate that the server is (for some reason) unwilling to accept our connection. As a response to any other command, it indicates either that the server is shutting down, or that the server is timing out the client connection due to inactivity.
  type: :NOTE
- !ruby/struct:SM::Flow::P 
  body: These three error response are represented by the errors Net::IMAP::NoResponseError, Net::IMAP::BadResponseError, and Net::IMAP::ByeResponseError, all of which are subclasses of Net::IMAP::ResponseError. Essentially, all methods that involve sending a request to the server can generate one of these errors. Only the most pertinent instances have been documented below.
- !ruby/struct:SM::Flow::P 
  body: Because the IMAP class uses Sockets for communication, its methods are also susceptible to the various errors that can occur when working with sockets. These are generally represented as Errno errors. For instance, any method that involves sending a request to the server and/or receiving a response from it could raise an Errno::EPIPE error if the network connection unexpectedly goes down. See the socket(7), ip(7), tcp(7), socket(2), connect(2), and associated man pages.
- !ruby/struct:SM::Flow::P 
  body: Finally, a Net::IMAP::DataFormatError is thrown if low-level data is found to be in an incorrect format (for instance, when converting between UTF-8 and UTF-16), and Net::IMAP::ResponseParseError is thrown if a server response is non-parseable.
- !ruby/struct:SM::Flow::H 
  level: 2
  text: References
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: "[IMAP]"
    body: "M. Crispin, &quot;INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1&quot;, RFC 2060, December 1996. (Note: since obsoleted by RFC 3501)"
  - !ruby/struct:SM::Flow::LI 
    label: "[LANGUAGE-TAGS]"
    body: Alvestrand, H., &quot;Tags for the Identification of Languages&quot;, RFC 1766, March 1995.
  - !ruby/struct:SM::Flow::LI 
    label: "[MD5]"
    body: Myers, J., and M. Rose, &quot;The Content-MD5 Header Field&quot;, RFC 1864, October 1995.
  - !ruby/struct:SM::Flow::LI 
    label: "[MIME-IMB]"
    body: "Freed, N., and N. Borenstein, &quot;MIME (Multipurpose Internet Mail Extensions) Part One: Format of Internet Message Bodies&quot;, RFC 2045, November 1996."
  - !ruby/struct:SM::Flow::LI 
    label: "[RFC-822]"
    body: Crocker, D., &quot;Standard for the Format of ARPA Internet Text Messages&quot;, STD 11, RFC 822, University of Delaware, August 1982.
  - !ruby/struct:SM::Flow::LI 
    label: "[RFC-2087]"
    body: Myers, J., &quot;IMAP4 QUOTA extension&quot;, RFC 2087, January 1997.
  - !ruby/struct:SM::Flow::LI 
    label: "[RFC-2086]"
    body: Myers, J., &quot;IMAP4 ACL extension&quot;, RFC 2086, January 1997.
  - !ruby/struct:SM::Flow::LI 
    label: "[RFC-2195]"
    body: Klensin, J., Catoe, R., and Krumviede, P., &quot;IMAP/POP AUTHorize Extension for Simple Challenge/Response&quot;, RFC 2195, September 1997.
  - !ruby/struct:SM::Flow::LI 
    label: "[SORT-THREAD-EXT]"
    body: Crispin, M., &quot;INTERNET MESSAGE ACCESS PROTOCOL - SORT and THREAD Extensions&quot;, draft-ietf-imapext-sort, May 2003.
  - !ruby/struct:SM::Flow::LI 
    label: "[OSSL]"
    body: http://www.openssl.org
  - !ruby/struct:SM::Flow::LI 
    label: "[RSSL]"
    body: http://savannah.gnu.org/projects/rubypki
  - !ruby/struct:SM::Flow::LI 
    label: "[UTF7]"
    body: "Goldsmith, D. and Davis, M., &quot;UTF-7: A Mail-Safe Transformation Format of Unicode&quot;, RFC 2152, May 1997."
  type: :LABELED
constants: 
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Flag indicating a message has been seen
  name: SEEN
  value: ":Seen"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Flag indicating a message has been answered
  name: ANSWERED
  value: ":Answered"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Flag indicating a message has been flagged for special or urgent attention
  name: FLAGGED
  value: ":Flagged"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Flag indicating a message has been marked for deletion. This will occur when the mailbox is closed or expunged.
  name: DELETED
  value: ":Deleted"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Flag indicating a message is only a draft or work-in-progress version.
  name: DRAFT
  value: ":Draft"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Flag indicating that the message is &quot;recent&quot;, meaning that this session is the first session in which the client has been notified of this message.
  name: RECENT
  value: ":Recent"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Flag indicating that a mailbox context name cannot contain children.
  name: NOINFERIORS
  value: ":Noinferiors"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Flag indicating that a mailbox is not selected.
  name: NOSELECT
  value: ":Noselect"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Flag indicating that a mailbox has been marked &quot;interesting&quot; by the server; this commonly indicates that the mailbox contains new messages.
  name: MARKED
  value: ":Marked"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Flag indicating that the mailbox does not contains new messages.
  name: UNMARKED
  value: ":Unmarked"
- !ruby/object:RI::Constant 
  comment: 
  name: DATE_MONTH
  value: "%w(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Net::IMAP::ContinuationRequest represents command continuation requests.
  - !ruby/struct:SM::Flow::P 
    body: The command continuation request response is indicated by a &quot;+&quot; token instead of a tag. This form of response indicates that the server is ready to accept the continuation of a command from the client. The remainder of this response is a line of text.
  - !ruby/struct:SM::Flow::VERB 
    body: "  continue_req    ::= &quot;+&quot; SPACE (resp_text / base64)\n"
  - !ruby/struct:SM::Flow::H 
    level: 4
    text: "Fields:"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "data:"
      body: Returns the data (Net::IMAP::ResponseText).
    - !ruby/struct:SM::Flow::LI 
      label: "raw_data:"
      body: Returns the raw data string.
    type: :NOTE
  name: ContinuationRequest
  value: Struct.new(:data, :raw_data)
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Net::IMAP::UntaggedResponse represents untagged responses.
  - !ruby/struct:SM::Flow::P 
    body: Data transmitted by the server to the client and status responses that do not indicate command completion are prefixed with the token &quot;*&quot;, and are called untagged responses.
  - !ruby/struct:SM::Flow::VERB 
    body: "  response_data   ::= &quot;*&quot; SPACE (resp_cond_state / resp_cond_bye /\n                      mailbox_data / message_data / capability_data)\n"
  - !ruby/struct:SM::Flow::H 
    level: 4
    text: "Fields:"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "name:"
      body: Returns the name such as &quot;FLAGS&quot;, &quot;LIST&quot;, &quot;FETCH&quot;....
    - !ruby/struct:SM::Flow::LI 
      label: "data:"
      body: Returns the data such as an array of flag symbols,
    - !ruby/struct:SM::Flow::VERB 
      body: " a ((&lt;Net::IMAP::MailboxList&gt;)) object....\n"
    - !ruby/struct:SM::Flow::LI 
      label: "raw_data:"
      body: Returns the raw data string.
    type: :NOTE
  name: UntaggedResponse
  value: Struct.new(:name, :data, :raw_data)
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Net::IMAP::TaggedResponse represents tagged responses.
  - !ruby/struct:SM::Flow::P 
    body: The server completion result response indicates the success or failure of the operation. It is tagged with the same tag as the client command which began the operation.
  - !ruby/struct:SM::Flow::VERB 
    body: "  response_tagged ::= tag SPACE resp_cond_state CRLF\n\n  tag             ::= 1*&lt;any ATOM_CHAR except &quot;+&quot;&gt;\n\n  resp_cond_state ::= (&quot;OK&quot; / &quot;NO&quot; / &quot;BAD&quot;) SPACE resp_text\n"
  - !ruby/struct:SM::Flow::H 
    level: 4
    text: "Fields:"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "tag:"
      body: Returns the tag.
    - !ruby/struct:SM::Flow::LI 
      label: "name:"
      body: Returns the name. the name is one of &quot;OK&quot;, &quot;NO&quot;, &quot;BAD&quot;.
    - !ruby/struct:SM::Flow::LI 
      label: "data:"
      body: Returns the data. See ((&lt;Net::IMAP::ResponseText&gt;)).
    - !ruby/struct:SM::Flow::LI 
      label: "raw_data:"
      body: Returns the raw data string.
    type: :NOTE
  name: TaggedResponse
  value: Struct.new(:tag, :name, :data, :raw_data)
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Net::IMAP::ResponseText represents texts of responses. The text may be prefixed by the response code.
  - !ruby/struct:SM::Flow::VERB 
    body: "  resp_text       ::= [&quot;[&quot; resp_text_code &quot;]&quot; SPACE] (text_mime2 / text)\n                      ;; text SHOULD NOT begin with &quot;[&quot; or &quot;=&quot;\n"
  - !ruby/struct:SM::Flow::H 
    level: 4
    text: "Fields:"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "code:"
      body: Returns the response code. See ((&lt;Net::IMAP::ResponseCode&gt;)).
    - !ruby/struct:SM::Flow::LI 
      label: "text:"
      body: Returns the text.
    type: :NOTE
  name: ResponseText
  value: Struct.new(:code, :text)
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Net::IMAP::ResponseCode represents response codes.
  - !ruby/struct:SM::Flow::VERB 
    body: "  resp_text_code  ::= &quot;ALERT&quot; / &quot;PARSE&quot; /\n                      &quot;PERMANENTFLAGS&quot; SPACE &quot;(&quot; #(flag / &quot;*&quot;) &quot;)&quot; /\n                      &quot;READ-ONLY&quot; / &quot;READ-WRITE&quot; / &quot;TRYCREATE&quot; /\n                      &quot;UIDVALIDITY&quot; SPACE nz_number /\n                      &quot;UNSEEN&quot; SPACE nz_number /\n                      atom [SPACE 1*&lt;any TEXT_CHAR except &quot;]&quot;&gt;]\n"
  - !ruby/struct:SM::Flow::H 
    level: 4
    text: "Fields:"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "name:"
      body: Returns the name such as &quot;ALERT&quot;, &quot;PERMANENTFLAGS&quot;, &quot;UIDVALIDITY&quot;....
    - !ruby/struct:SM::Flow::LI 
      label: "data:"
      body: Returns the data if it exists.
    type: :NOTE
  name: ResponseCode
  value: Struct.new(:name, :data)
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Net::IMAP::MailboxList represents contents of the LIST response.
  - !ruby/struct:SM::Flow::VERB 
    body: "  mailbox_list    ::= &quot;(&quot; #(&quot;\\Marked&quot; / &quot;\\Noinferiors&quot; /\n                      &quot;\\Noselect&quot; / &quot;\\Unmarked&quot; / flag_extension) &quot;)&quot;\n                      SPACE (&lt;&quot;&gt; QUOTED_CHAR &lt;&quot;&gt; / nil) SPACE mailbox\n"
  - !ruby/struct:SM::Flow::H 
    level: 4
    text: "Fields:"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "attr:"
      body: Returns the name attributes. Each name attribute is a symbol capitalized by String#capitalize, such as :Noselect (not :NoSelect).
    - !ruby/struct:SM::Flow::LI 
      label: "delim:"
      body: Returns the hierarchy delimiter
    - !ruby/struct:SM::Flow::LI 
      label: "name:"
      body: Returns the mailbox name.
    type: :NOTE
  name: MailboxList
  value: Struct.new(:attr, :delim, :name)
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Net::IMAP::MailboxQuota represents contents of GETQUOTA response. This object can also be a response to GETQUOTAROOT. In the syntax specification below, the delimiter used with the &quot;#&quot; construct is a single space (SPACE).
  - !ruby/struct:SM::Flow::VERB 
    body: "   quota_list      ::= &quot;(&quot; #quota_resource &quot;)&quot;\n\n   quota_resource  ::= atom SPACE number SPACE number\n\n   quota_response  ::= &quot;QUOTA&quot; SPACE astring SPACE quota_list\n"
  - !ruby/struct:SM::Flow::H 
    level: 4
    text: "Fields:"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "mailbox:"
      body: The mailbox with the associated quota.
    - !ruby/struct:SM::Flow::LI 
      label: "usage:"
      body: Current storage usage of mailbox.
    - !ruby/struct:SM::Flow::LI 
      label: "quota:"
      body: Quota limit imposed on mailbox.
    type: :NOTE
  name: MailboxQuota
  value: Struct.new(:mailbox, :usage, :quota)
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Net::IMAP::MailboxQuotaRoot represents part of the GETQUOTAROOT response. (GETQUOTAROOT can also return Net::IMAP::MailboxQuota.)
  - !ruby/struct:SM::Flow::VERB 
    body: "   quotaroot_response ::= &quot;QUOTAROOT&quot; SPACE astring *(SPACE astring)\n"
  - !ruby/struct:SM::Flow::H 
    level: 4
    text: "Fields:"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "mailbox:"
      body: The mailbox with the associated quota.
    - !ruby/struct:SM::Flow::LI 
      label: "quotaroots:"
      body: Zero or more quotaroots that effect the quota on the specified mailbox.
    type: :NOTE
  name: MailboxQuotaRoot
  value: Struct.new(:mailbox, :quotaroots)
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Net::IMAP::MailboxACLItem represents response from GETACL.
  - !ruby/struct:SM::Flow::VERB 
    body: "   acl_data        ::= &quot;ACL&quot; SPACE mailbox *(SPACE identifier SPACE rights)\n\n   identifier      ::= astring\n\n   rights          ::= astring\n"
  - !ruby/struct:SM::Flow::H 
    level: 4
    text: "Fields:"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "user:"
      body: Login name that has certain rights to the mailbox that was specified with the getacl command.
    - !ruby/struct:SM::Flow::LI 
      label: "rights:"
      body: The access rights the indicated user has to the mailbox.
    type: :NOTE
  name: MailboxACLItem
  value: Struct.new(:user, :rights)
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Net::IMAP::StatusData represents contents of the STATUS response.
  - !ruby/struct:SM::Flow::H 
    level: 4
    text: "Fields:"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "mailbox:"
      body: Returns the mailbox name.
    - !ruby/struct:SM::Flow::LI 
      label: "attr:"
      body: Returns a hash. Each key is one of &quot;MESSAGES&quot;, &quot;RECENT&quot;, &quot;UIDNEXT&quot;, &quot;UIDVALIDITY&quot;, &quot;UNSEEN&quot;. Each value is a number.
    type: :NOTE
  name: StatusData
  value: Struct.new(:mailbox, :attr)
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Net::IMAP::FetchData represents contents of the FETCH response.
  - !ruby/struct:SM::Flow::H 
    level: 4
    text: "Fields:"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "seqno:"
      body: "Returns the message sequence number. (Note: not the unique identifier, even for the UID command response.)"
    - !ruby/struct:SM::Flow::LI 
      label: "attr:"
      body: Returns a hash. Each key is a data item name, and each value is its value.
    - !ruby/struct:SM::Flow::P 
      body: "The current data items are:"
    - !ruby/object:SM::Flow::LIST 
      contents: 
      - !ruby/struct:SM::Flow::LI 
        label: BODY
        body: A form of BODYSTRUCTURE without extension data.
      - !ruby/struct:SM::Flow::LI 
        label: BODY[<section>]<<origin_octet>>
        body: A string expressing the body contents of the specified section.
      - !ruby/struct:SM::Flow::LI 
        label: BODYSTRUCTURE
        body: An object that describes the [MIME-IMB] body structure of a message. See Net::IMAP::BodyTypeBasic, Net::IMAP::BodyTypeText, Net::IMAP::BodyTypeMessage, Net::IMAP::BodyTypeMultipart.
      - !ruby/struct:SM::Flow::LI 
        label: ENVELOPE
        body: A Net::IMAP::Envelope object that describes the envelope structure of a message.
      - !ruby/struct:SM::Flow::LI 
        label: FLAGS
        body: A array of flag symbols that are set for this message. flag symbols are capitalized by String#capitalize.
      - !ruby/struct:SM::Flow::LI 
        label: INTERNALDATE
        body: A string representing the internal date of the message.
      - !ruby/struct:SM::Flow::LI 
        label: RFC822
        body: Equivalent to BODY[].
      - !ruby/struct:SM::Flow::LI 
        label: RFC822.HEADER
        body: Equivalent to BODY.PEEK[HEADER].
      - !ruby/struct:SM::Flow::LI 
        label: RFC822.SIZE
        body: A number expressing the [RFC-822] size of the message.
      - !ruby/struct:SM::Flow::LI 
        label: RFC822.TEXT
        body: Equivalent to BODY[TEXT].
      - !ruby/struct:SM::Flow::LI 
        label: UID
        body: A number expressing the unique identifier of the message.
      type: :LABELED
    type: :NOTE
  name: FetchData
  value: Struct.new(:seqno, :attr)
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Net::IMAP::Envelope represents envelope structures of messages.
  - !ruby/struct:SM::Flow::H 
    level: 4
    text: "Fields:"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "date:"
      body: Returns a string that represents the date.
    - !ruby/struct:SM::Flow::LI 
      label: "subject:"
      body: Returns a string that represents the subject.
    - !ruby/struct:SM::Flow::LI 
      label: "from:"
      body: Returns an array of Net::IMAP::Address that represents the from.
    - !ruby/struct:SM::Flow::LI 
      label: "sender:"
      body: Returns an array of Net::IMAP::Address that represents the sender.
    - !ruby/struct:SM::Flow::LI 
      label: "reply_to:"
      body: Returns an array of Net::IMAP::Address that represents the reply-to.
    - !ruby/struct:SM::Flow::LI 
      label: "to:"
      body: Returns an array of Net::IMAP::Address that represents the to.
    - !ruby/struct:SM::Flow::LI 
      label: "cc:"
      body: Returns an array of Net::IMAP::Address that represents the cc.
    - !ruby/struct:SM::Flow::LI 
      label: "bcc:"
      body: Returns an array of Net::IMAP::Address that represents the bcc.
    - !ruby/struct:SM::Flow::LI 
      label: "in_reply_to:"
      body: Returns a string that represents the in-reply-to.
    - !ruby/struct:SM::Flow::LI 
      label: "message_id:"
      body: Returns a string that represents the message-id.
    type: :NOTE
  name: Envelope
  value: Struct.new(:date, :subject, :from, :sender, :reply_to,                           :to, :cc, :bcc, :in_reply_to, :message_id)
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Net::IMAP::Address represents electronic mail addresses.
  - !ruby/struct:SM::Flow::H 
    level: 4
    text: "Fields:"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "name:"
      body: Returns the phrase from [RFC-822] mailbox.
    - !ruby/struct:SM::Flow::LI 
      label: "route:"
      body: Returns the route from [RFC-822] route-addr.
    - !ruby/struct:SM::Flow::LI 
      label: "mailbox:"
      body: nil indicates end of [RFC-822] group. If non-nil and host is nil, returns [RFC-822] group name. Otherwise, returns [RFC-822] local-part
    - !ruby/struct:SM::Flow::LI 
      label: "host:"
      body: nil indicates [RFC-822] group syntax. Otherwise, returns [RFC-822] domain name.
    type: :NOTE
  name: Address
  value: Struct.new(:name, :route, :mailbox, :host)
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Net::IMAP::ContentDisposition represents Content-Disposition fields.
  - !ruby/struct:SM::Flow::H 
    level: 4
    text: "Fields:"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "dsp_type:"
      body: Returns the disposition type.
    - !ruby/struct:SM::Flow::LI 
      label: "param:"
      body: Returns a hash that represents parameters of the Content-Disposition field.
    type: :NOTE
  name: ContentDisposition
  value: Struct.new(:dsp_type, :param)
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Net::IMAP::ThreadMember represents a thread-node returned by Net::IMAP#thread
  - !ruby/struct:SM::Flow::H 
    level: 4
    text: "Fields:"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "seqno:"
      body: The sequence number of this message.
    - !ruby/struct:SM::Flow::LI 
      label: "children:"
      body: an array of Net::IMAP::ThreadMember objects for mail
    type: :NOTE
  - !ruby/struct:SM::Flow::P 
    body: items that are children of this in the thread.
  name: ThreadMember
  value: Struct.new(:seqno, :children)
full_name: Net::IMAP
includes: 
- !ruby/object:RI::IncludedModule 
  name: MonitorMixin
- !ruby/object:RI::IncludedModule 
  name: OpenSSL
- !ruby/object:RI::IncludedModule 
  name: SSL
instance_methods: 
- !ruby/object:RI::MethodSummary 
  name: add_response_handler
- !ruby/object:RI::MethodSummary 
  name: append
- !ruby/object:RI::MethodSummary 
  name: authenticate
- !ruby/object:RI::MethodSummary 
  name: capability
- !ruby/object:RI::MethodSummary 
  name: check
- !ruby/object:RI::MethodSummary 
  name: close
- !ruby/object:RI::MethodSummary 
  name: copy
- !ruby/object:RI::MethodSummary 
  name: copy_internal
- !ruby/object:RI::MethodSummary 
  name: create
- !ruby/object:RI::MethodSummary 
  name: delete
- !ruby/object:RI::MethodSummary 
  name: disconnect
- !ruby/object:RI::MethodSummary 
  name: disconnected?
- !ruby/object:RI::MethodSummary 
  name: examine
- !ruby/object:RI::MethodSummary 
  name: expunge
- !ruby/object:RI::MethodSummary 
  name: fetch
- !ruby/object:RI::MethodSummary 
  name: fetch_internal
- !ruby/object:RI::MethodSummary 
  name: generate_tag
- !ruby/object:RI::MethodSummary 
  name: get_response
- !ruby/object:RI::MethodSummary 
  name: get_tagged_response
- !ruby/object:RI::MethodSummary 
  name: getacl
- !ruby/object:RI::MethodSummary 
  name: getquota
- !ruby/object:RI::MethodSummary 
  name: getquotaroot
- !ruby/object:RI::MethodSummary 
  name: list
- !ruby/object:RI::MethodSummary 
  name: login
- !ruby/object:RI::MethodSummary 
  name: logout
- !ruby/object:RI::MethodSummary 
  name: lsub
- !ruby/object:RI::MethodSummary 
  name: noop
- !ruby/object:RI::MethodSummary 
  name: normalize_searching_criteria
- !ruby/object:RI::MethodSummary 
  name: pick_up_tagged_response
- !ruby/object:RI::MethodSummary 
  name: put_string
- !ruby/object:RI::MethodSummary 
  name: receive_responses
- !ruby/object:RI::MethodSummary 
  name: record_response
- !ruby/object:RI::MethodSummary 
  name: remove_response_handler
- !ruby/object:RI::MethodSummary 
  name: rename
- !ruby/object:RI::MethodSummary 
  name: search
- !ruby/object:RI::MethodSummary 
  name: search_internal
- !ruby/object:RI::MethodSummary 
  name: select
- !ruby/object:RI::MethodSummary 
  name: send_command
- !ruby/object:RI::MethodSummary 
  name: send_data
- !ruby/object:RI::MethodSummary 
  name: send_list_data
- !ruby/object:RI::MethodSummary 
  name: send_literal
- !ruby/object:RI::MethodSummary 
  name: send_number_data
- !ruby/object:RI::MethodSummary 
  name: send_quoted_string
- !ruby/object:RI::MethodSummary 
  name: send_string_data
- !ruby/object:RI::MethodSummary 
  name: send_symbol_data
- !ruby/object:RI::MethodSummary 
  name: send_time_data
- !ruby/object:RI::MethodSummary 
  name: setacl
- !ruby/object:RI::MethodSummary 
  name: setquota
- !ruby/object:RI::MethodSummary 
  name: sort
- !ruby/object:RI::MethodSummary 
  name: sort_internal
- !ruby/object:RI::MethodSummary 
  name: status
- !ruby/object:RI::MethodSummary 
  name: store
- !ruby/object:RI::MethodSummary 
  name: store_internal
- !ruby/object:RI::MethodSummary 
  name: subscribe
- !ruby/object:RI::MethodSummary 
  name: thread
- !ruby/object:RI::MethodSummary 
  name: thread_internal
- !ruby/object:RI::MethodSummary 
  name: uid_copy
- !ruby/object:RI::MethodSummary 
  name: uid_fetch
- !ruby/object:RI::MethodSummary 
  name: uid_search
- !ruby/object:RI::MethodSummary 
  name: uid_sort
- !ruby/object:RI::MethodSummary 
  name: uid_store
- !ruby/object:RI::MethodSummary 
  name: uid_thread
- !ruby/object:RI::MethodSummary 
  name: unsubscribe
name: IMAP
superclass: Object
