7179 lines
386 KiB
XML
7179 lines
386 KiB
XML
<?xml version="1.0"?>
|
|
<doc>
|
|
<assembly>
|
|
<name>S22.Imap</name>
|
|
</assembly>
|
|
<members>
|
|
<member name="T:S22.Imap.AuthMethod">
|
|
<summary>
|
|
Defines supported means of authenticating with an IMAP server.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.AuthMethod.Auto">
|
|
<summary>
|
|
Automatically selects the most-secure authentication mechanism supported by the server.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.AuthMethod.Login">
|
|
<summary>
|
|
Login using plaintext password authentication; This is supported by most servers.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.AuthMethod.Plain">
|
|
<summary>
|
|
Login using the SASL PLAIN authentication mechanism.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.AuthMethod.CramMd5">
|
|
<summary>
|
|
Login using the CRAM-MD5 authentication mechanism.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.AuthMethod.DigestMd5">
|
|
<summary>
|
|
Login using the DIGEST-MD5 authentication mechanism.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.AuthMethod.OAuth">
|
|
<summary>
|
|
Login using OAuth via the SASL XOAuth mechanism.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.AuthMethod.OAuth2">
|
|
<summary>
|
|
Login using OAuth 2.0 via the SASL XOAUTH2 mechanism.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.AuthMethod.Ntlm">
|
|
<summary>
|
|
Login using the NTLM authentication mechanism.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.AuthMethod.Ntlmv2">
|
|
<summary>
|
|
Login using the NTLMv2 authentication mechanism.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.AuthMethod.NtlmOverSspi">
|
|
<summary>
|
|
Login using the NTLM/NTLMv2 authentication mechanism via Microsoft's Security Support
|
|
Provider Interface (SSPI).
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.AuthMethod.Gssapi">
|
|
<summary>
|
|
Login using Kerberos authentication via the SASL GSSAPI mechanism.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.AuthMethod.ScramSha1">
|
|
<summary>
|
|
Login using the SCRAM-SHA-1 authentication mechanism.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.AuthMethod.Srp">
|
|
<summary>
|
|
Login using the Secure Remote Password (SRP) authentication mechanism.
|
|
</summary>
|
|
<remarks>The SRP mechanism is only available when targeting .NET 4.0 or newer.</remarks>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.ByteBuilder">
|
|
<summary>
|
|
A utility class modeled after the BCL StringBuilder to simplify
|
|
building binary-data messages.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.ByteBuilder.buffer">
|
|
<summary>
|
|
The actual byte buffer.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.ByteBuilder.position">
|
|
<summary>
|
|
The current position in the buffer.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.ByteBuilder.Resize(System.Int32)">
|
|
<summary>
|
|
Resizes the internal byte buffer.
|
|
</summary>
|
|
<param name="amount">Amount in bytes by which to increase the
|
|
size of the buffer.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.ByteBuilder.Append(System.Byte[])">
|
|
<summary>
|
|
Appends one or several byte values to this instance.
|
|
</summary>
|
|
<param name="values">Byte values to append.</param>
|
|
<returns>A reference to the calling instance.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.ByteBuilder.Append(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Appends the specified number of bytes from the specified buffer
|
|
starting at the specified offset to this instance.
|
|
</summary>
|
|
<param name="buffer">The buffer to append bytes from.</param>
|
|
<param name="offset">The offset into the buffert at which to start
|
|
reading bytes from.</param>
|
|
<param name="count">The number of bytes to read from the buffer.</param>
|
|
<returns>A reference to the calling instance.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.ByteBuilder.Append(System.Int32,System.Boolean)">
|
|
<summary>
|
|
Appends the specified 32-bit integer value to this instance.
|
|
</summary>
|
|
<param name="value">A 32-bit integer value to append.</param>
|
|
<param name="bigEndian">Set this to true, to append the value as
|
|
big-endian.</param>
|
|
<returns>A reference to the calling instance.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.ByteBuilder.Append(System.Int16,System.Boolean)">
|
|
<summary>
|
|
Appends the specified 16-bit short value to this instance.
|
|
</summary>
|
|
<param name="value">A 16-bit short value to append.</param>
|
|
<param name="bigEndian">Set this to true, to append the value as
|
|
big-endian.</param>
|
|
<returns>A reference to the calling instance.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.ByteBuilder.Append(System.UInt16,System.Boolean)">
|
|
<summary>
|
|
Appends the specified 16-bit unsigend short value to this instance.
|
|
</summary>
|
|
<param name="value">A 16-bit unsigend short value to append.</param>
|
|
<param name="bigEndian">Set this to true, to append the value as
|
|
big-endian.</param>
|
|
<returns>A reference to the calling instance.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.ByteBuilder.Append(System.UInt32,System.Boolean)">
|
|
<summary>
|
|
Appends the specified 32-bit unsigned integer value to this instance.
|
|
</summary>
|
|
<param name="value">A 32-bit unsigned integer value to append.</param>
|
|
<param name="bigEndian">Set this to true, to append the value as
|
|
big-endian.</param>
|
|
<returns>A reference to the calling instance.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.ByteBuilder.Append(System.Int64,System.Boolean)">
|
|
<summary>
|
|
Appends the specified 64-bit integer value to this instance.
|
|
</summary>
|
|
<param name="value">A 64-bit integer value to append.</param>
|
|
<param name="bigEndian">Set this to true, to append the value as
|
|
big-endian.</param>
|
|
<returns>A reference to the calling instance.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.ByteBuilder.Append(System.String,System.Text.Encoding)">
|
|
<summary>
|
|
Appends the specified string using the specified encoding to this
|
|
instance.
|
|
</summary>
|
|
<param name="value">The string vale to append.</param>
|
|
<param name="encoding">The encoding to use for decoding the string value
|
|
into a sequence of bytes. If this is null, ASCII encoding is used as a
|
|
default.</param>
|
|
<returns>A reference to the calling instance.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.ByteBuilder.ToArray">
|
|
<summary>
|
|
Returns the ByteBuilder's content as an array of bytes.
|
|
</summary>
|
|
<returns>An array of bytes.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.ByteBuilder.Clear">
|
|
<summary>
|
|
Removes all bytes from the current ByteBuilder instance.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.ByteBuilder.Length">
|
|
<summary>
|
|
The length of the underlying data buffer.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.FilterStream">
|
|
<summary>
|
|
A filter stream sitting between Negotiate- and NetworkStream to
|
|
enable managed NTLM/GSSAPI authentication.
|
|
</summary>
|
|
<remarks>
|
|
We use a filter for hooking into the NegotiateStream protocol rather
|
|
than p/invoking SSPI directly as that would require unmanaged
|
|
code privileges (internally NegotiateStream uses an SSPI wrapper).
|
|
|
|
NegotiateStream - FilterStream - NetworkStream.
|
|
</remarks>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.FilterStream.handshakeData">
|
|
<summary>
|
|
A buffer for accumulating handshake data until an entire handshake
|
|
has been read.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.FilterStream.payloadData">
|
|
<summary>
|
|
A buffer for accumulating the payload data following the handshake
|
|
data.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.FilterStream.handshake">
|
|
<summary>
|
|
The latest handshake header sent by the client.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.FilterStream.receivedData">
|
|
<summary>
|
|
The buffer from which client reads will be satisfied.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.FilterStream.receivedConsumed">
|
|
<summary>
|
|
The number of bytes the client has already consumed/read
|
|
from the receivedData buffer.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.FilterStream.state">
|
|
<summary>
|
|
The current state of the filter stream.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.FilterStream.leaveOpen">
|
|
<summary>
|
|
Determines whether this instance should close the inner stream
|
|
when disposed.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.FilterStream.errorCode">
|
|
<summary>
|
|
An error code as specified by the NegotiateStream protocol which is
|
|
handed to the NegotiateStream instance in case authentication
|
|
unexpectedly fails.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.FilterStream.innerStream">
|
|
<summary>
|
|
Gets the stream used by this FilterStream for sending and
|
|
receiving data.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.FilterStream.#ctor(System.IO.Stream,System.Boolean)">
|
|
<summary>
|
|
Initializes a new instance of the FilterStream class using the
|
|
specified Stream.
|
|
</summary>
|
|
<param name="s">A Stream object used by the FilterStream for sending
|
|
and receiving data.</param>
|
|
<param name="leaveOpen">Set to true to indicate that closing this
|
|
FilterStream has no effect on innerstream, or set to false to
|
|
indicate that closing this FilterStream also closes innerStream.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.FilterStream.Read(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Reads data from this stream and stores it in the specified array.
|
|
</summary>
|
|
<param name="buffer">A byte array that receives the bytes read from
|
|
the stream.</param>
|
|
<param name="offset">The zero-based index into the buffer at which to
|
|
begin storing the data read from this stream.</param>
|
|
<param name="count">The the maximum number of bytes to read from the
|
|
stream.</param>
|
|
<returns>The the number of bytes read from the underlying stream. When
|
|
there is no more data to be read, returns 0.</returns>
|
|
<exception cref="T:System.IO.IOException">The read operation failed.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.FilterStream.ReadServerResponse">
|
|
<summary>
|
|
Reads the server response from the underlying inner stream.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.FilterStream.Write(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Write the specified number of bytes to the underlying stream using the
|
|
specified buffer and offset.
|
|
</summary>
|
|
<param name="buffer">A byte array that supplies the bytes written to
|
|
the stream.</param>
|
|
<param name="offset">The zero-based index in the buffer at which to
|
|
begin reading bytes to be written to the stream.</param>
|
|
<param name="count">The number of bytes to read from buffer.</param>
|
|
<exception cref="T:System.IO.IOException">The write operation failed.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.FilterStream.ReadHandshake(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Reads the client's handshake from the specified buffer.
|
|
</summary>
|
|
<param name="buffer">A byte array from which the handshake data
|
|
will be read.</param>
|
|
<param name="offset">The zero-based index in the buffer at which to
|
|
begin reading bytes.</param>
|
|
<param name="count">The number of bytes to read from buffer.</param>
|
|
<returns>True if the handshake has been read completely, otherwise
|
|
false.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.FilterStream.ReadPayload(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Reads the payload from the specified buffer.
|
|
</summary>
|
|
<param name="buffer">A byte array from which the payload data
|
|
will be read.</param>
|
|
<param name="offset">The zero-based index in the buffer at which to
|
|
begin reading bytes.</param>
|
|
<param name="count">The number of bytes to read from buffer.</param>
|
|
<returns>True if all of the payload data has been read, otherwise
|
|
false.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.FilterStream.SendPayload">
|
|
<summary>
|
|
Sends the accumulated payload data to the server.
|
|
</summary>
|
|
<returns>true if the client is done sending data, otherwise
|
|
false.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.FilterStream.ReadLine(System.IO.Stream,System.Boolean)">
|
|
<summary>
|
|
Reads a line of ASCII-encoded text terminated by a CRLF from the
|
|
specified stream.
|
|
</summary>
|
|
<param name="stream">The stream to read the line of text from.</param>
|
|
<param name="resolveLiterals">Set this to true, to resolve automatically
|
|
resolve possible literals.</param>
|
|
<returns>A line of ASII-encoded text read from the specified
|
|
stream.</returns>
|
|
<remarks>"Literals" are a special feature of IMAP, employed by some
|
|
server implementations. Please refer to RFC 3501 Section 4.3 for
|
|
details.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.FilterStream.ReadLiteral(System.IO.Stream,System.Int32)">
|
|
<summary>
|
|
Reads the specified number of bytes from the specified stream and
|
|
returns them as an ASCII-encoded string.
|
|
</summary>
|
|
<param name="stream">The stream to read from.</param>
|
|
<param name="byteCount">The number of bytes to read.</param>
|
|
<returns>The read bytes encoded as an ASCII string.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.FilterStream.Flush">
|
|
<summary>
|
|
Causes any buffered data to be written to the underlying device.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.FilterStream.Seek(System.Int64,System.IO.SeekOrigin)">
|
|
<summary>
|
|
Throws NotSupportedException.
|
|
</summary>
|
|
<param name="offset">This value is ignored.</param>
|
|
<param name="origin">This value is ignored.</param>
|
|
<returns>Always throws a NotSupportedException.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.FilterStream.SetLength(System.Int64)">
|
|
<summary>
|
|
Sets the length of the underlying stream.
|
|
</summary>
|
|
<param name="value">A value that specifies the length of the
|
|
stream.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.FilterStream.Dispose(System.Boolean)">
|
|
<summary>
|
|
Releases all resources used by the stream.
|
|
</summary>
|
|
<param name="disposing">True to release both managed and unmanaged
|
|
resources, false to release only unmanaged resources.</param>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.FilterStream.CanRead">
|
|
<summary>
|
|
Gets a boolean value that indicates whether the underlying stream is
|
|
readable.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.FilterStream.CanSeek">
|
|
<summary>
|
|
Gets a boolean value that indicates whether the underlying stream is
|
|
seekable.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.FilterStream.CanTimeout">
|
|
<summary>
|
|
Gets a boolean value that indicates whether the underlying stream
|
|
supports time-outs.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.FilterStream.CanWrite">
|
|
<summary>
|
|
Gets a boolean value that indicates whether the underlying stream is
|
|
writable.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.FilterStream.Length">
|
|
<summary>
|
|
Gets the length of the underlying stream.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.FilterStream.Position">
|
|
<summary>
|
|
Gets or sets the current position in the underlying stream.
|
|
</summary>
|
|
<exception cref="T:System.NotSupportedException">Setting this property
|
|
is not supported.</exception>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.FilterStreamState">
|
|
<summary>
|
|
The different states the FilterStream can be in.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.FilterStreamState.ReadingHandshake">
|
|
<summary>
|
|
The stream is reading the client's handshake message.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.FilterStreamState.ReadingPayload">
|
|
<summary>
|
|
The stream is reading the client's payload data.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.FilterStreamState.WaitingForServerResponse">
|
|
<summary>
|
|
The stream is waiting for the server's response.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.FilterStreamState.SatisfyRead">
|
|
<summary>
|
|
The stream has buffered the server's response and is satisfying
|
|
client reads from its buffer.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Handshake">
|
|
<summary>
|
|
Represents a NegotiateStream handshake message.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Handshake.majorVersion">
|
|
<summary>
|
|
This is the only permissible value according to specification.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Handshake.minorVersion">
|
|
<summary>
|
|
This is the only permissible value according to specification.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Handshake.#ctor(S22.Imap.Auth.HandshakeType,System.UInt16)">
|
|
<summary>
|
|
Creates a new instance of the Handshake class using the specified type
|
|
and payload size.
|
|
</summary>
|
|
<param name="type">The type of handshake.</param>
|
|
<param name="payloadSize">The size, in bytes, of the payload following
|
|
the handshake header.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Handshake.#ctor">
|
|
<summary>
|
|
Private default constructor for deserializing.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Handshake.Deserialize(System.Byte[])">
|
|
<summary>
|
|
Deserializes a handshake instance from the specified byte array.
|
|
</summary>
|
|
<param name="data">An array of bytes containing handshake data.</param>
|
|
<returns>An initialized instance of the Handshake class deserialized
|
|
from the specified byte array.</returns>
|
|
<exception cref="T:System.Runtime.Serialization.SerializationException">Thrown if the specified byte
|
|
array does not contain valid handshake data.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Handshake.Serialize">
|
|
<summary>
|
|
Serializes an instance of the Handshake class to a sequence of bytes.
|
|
</summary>
|
|
<returns>A sequence of bytes representing this Handshake instance.</returns>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Handshake.MessageId">
|
|
<summary>
|
|
The type of the handshake message.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Handshake.MajorVersion">
|
|
<summary>
|
|
Specifies the major version of the NegotiateStream protocol
|
|
being used.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Handshake.MinorVersion">
|
|
<summary>
|
|
Specifies the minor version of the NegotiateStream protocol
|
|
being used.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Handshake.PayloadSize">
|
|
<summary>
|
|
Defines the size, in bytes, of the AuthPayload field, which immediately
|
|
follows the handshake.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.HandshakeType">
|
|
<summary>
|
|
Describes the different types of handshake messages.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.HandshakeType.HandshakeDone">
|
|
<summary>
|
|
The handshake has completed successfully.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.HandshakeType.HandshakeError">
|
|
<summary>
|
|
An error occurred during the handshake. The AuthPayload field contains
|
|
an HRESULT.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.HandshakeType.HandshakeInProgress">
|
|
<summary>
|
|
The message is part of the handshake phase and is not the final message
|
|
from the host. The final Handshake message from a host is always
|
|
transferred in a HandshakeDone message.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1">
|
|
<summary>
|
|
Implements the Sasl SCRAM-SHA-1 authentication method as described in
|
|
RFC 5802.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.SaslMechanism">
|
|
<summary>
|
|
The abstract base class from which all classes implementing a Sasl
|
|
authentication mechanism must derive.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.SaslMechanism.ComputeResponse(System.Byte[])">
|
|
<summary>
|
|
Computes the client response to a challenge sent by the server.
|
|
</summary>
|
|
<param name="challenge"></param>
|
|
<returns>The client response to the specified challenge.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.SaslMechanism.#ctor">
|
|
<summary>
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.SaslMechanism.GetResponse(System.String)">
|
|
<summary>
|
|
Retrieves the base64-encoded client response for the specified
|
|
base64-encoded challenge sent by the server.
|
|
</summary>
|
|
<param name="challenge">A base64-encoded string representing a challenge
|
|
sent by the server.</param>
|
|
<returns>A base64-encoded string representing the client response to the
|
|
server challenge.</returns>
|
|
<remarks>The IMAP, POP3 and SMTP authentication commands expect challenges
|
|
and responses to be base64-encoded. This method automatically decodes the
|
|
server challenge before passing it to the Sasl implementation and
|
|
encodes the client response to a base64-string before returning it to the
|
|
caller.</remarks>
|
|
<exception cref="T:S22.Imap.Auth.Sasl.SaslException">Thrown if the client response could
|
|
not be retrieved. Refer to the inner exception for error details.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.SaslMechanism.GetResponse(System.Byte[])">
|
|
<summary>
|
|
Retrieves the client response for the specified server challenge.
|
|
</summary>
|
|
<param name="challenge">A byte array containing the challenge sent by
|
|
the server.</param>
|
|
<returns>An array of bytes representing the client response to the
|
|
server challenge.</returns>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.SaslMechanism.Name">
|
|
<summary>
|
|
IANA name of the authentication mechanism.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.SaslMechanism.IsCompleted">
|
|
<summary>
|
|
True if the authentication exchange between client and server
|
|
has been completed.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.SaslMechanism.Properties">
|
|
<summary>
|
|
A map of mechanism-specific properties which are needed by the
|
|
authentication mechanism to compute it's challenge-responses.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.Cnonce">
|
|
<summary>
|
|
The client nonce value used during authentication.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.Step">
|
|
<summary>
|
|
Scram-Sha-1 involves several steps.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.SaltedPassword">
|
|
<summary>
|
|
The salted password. This is needed for client authentication and later
|
|
on again for verifying the server signature.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.AuthMessage">
|
|
<summary>
|
|
The auth message is part of the authentication exchange and is needed for
|
|
authentication as well as for verifying the server signature.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.#ctor">
|
|
<summary>
|
|
Private constructor for use with Sasl.SaslFactory.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.#ctor(System.String,System.String,System.String)">
|
|
<summary>
|
|
Internal constructor used for unit testing.
|
|
</summary>
|
|
<param name="username">The username to authenticate with.</param>
|
|
<param name="password">The plaintext password to authenticate
|
|
with.</param>
|
|
<param name="cnonce">The client nonce value to use.</param>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the username
|
|
or the password parameter is null.</exception>
|
|
<exception cref="T:System.ArgumentException">Thrown if the username
|
|
parameter is empty.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Creates and initializes a new instance of the SaslScramSha1
|
|
class using the specified username and password.
|
|
</summary>
|
|
<param name="username">The username to authenticate with.</param>
|
|
<param name="password">The plaintext password to authenticate
|
|
with.</param>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the username
|
|
or the password parameter is null.</exception>
|
|
<exception cref="T:System.ArgumentException">Thrown if the username
|
|
parameter is empty.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.ComputeResponse(System.Byte[])">
|
|
<summary>
|
|
Computes the client response to the specified SCRAM-SHA-1 challenge.
|
|
</summary>
|
|
<param name="challenge">The challenge sent by the server</param>
|
|
<returns>The response to the SCRAM-SHA-1 challenge.</returns>
|
|
<exception cref="T:S22.Imap.Auth.Sasl.SaslException">Thrown if the response could not
|
|
be computed.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.ComputeInitialResponse">
|
|
<summary>
|
|
Computes the initial response sent by the client to the server.
|
|
</summary>
|
|
<returns>An array of bytes containing the initial client
|
|
response.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.ComputeFinalResponse(System.Byte[])">
|
|
<summary>
|
|
Computes the "client-final-message" which completes the authentication
|
|
process.
|
|
</summary>
|
|
<param name="challenge">The "server-first-message" challenge received
|
|
from the server in response to the initial client response.</param>
|
|
<returns>An array of bytes containing the client's challenge
|
|
response.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.VerifyServerNonce(System.String)">
|
|
<summary>
|
|
Verifies the nonce value sent by the server.
|
|
</summary>
|
|
<param name="nonce">The nonce value sent by the server as part of the
|
|
server-first-message.</param>
|
|
<returns>True if the nonce value is valid, otherwise false.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.VerifyServerSignature(System.Byte[])">
|
|
<summary>
|
|
Verifies the server signature which is sent by the server as the final
|
|
step of the authentication process.
|
|
</summary>
|
|
<param name="challenge">The server signature as a base64-encoded
|
|
string.</param>
|
|
<returns>The client's response to the server. This will be an empty
|
|
byte array if verification was successful, or the '*' SASL cancellation
|
|
token.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.ParseServerFirstMessage(System.Byte[])">
|
|
<summary>
|
|
Parses the "server-first-message" received from the server.
|
|
</summary>
|
|
<param name="challenge">The challenge received from the server.</param>
|
|
<returns>A collection of key/value pairs contained extracted from
|
|
the server message.</returns>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the message parameter
|
|
is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.Hi(System.String,System.String,System.Int32)">
|
|
<summary>
|
|
Computes the "Hi()"-formula which is part of the client's response
|
|
to the server challenge.
|
|
</summary>
|
|
<param name="password">The supplied password to use.</param>
|
|
<param name="salt">The salt received from the server.</param>
|
|
<param name="count">The iteration count.</param>
|
|
<returns>An array of bytes containing the result of the computation of the
|
|
"Hi()"-formula.</returns>
|
|
<remarks>
|
|
Hi is, essentially, PBKDF2 with HMAC as the pseudorandom function (PRF) and with
|
|
dkLen == output length of HMAC() == output length of H(). (Refer to RFC 5802, p.6)
|
|
</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.HMAC(System.Byte[],System.Byte[])">
|
|
<summary>
|
|
Applies the HMAC keyed hash algorithm using the specified key to
|
|
the specified input data.
|
|
</summary>
|
|
<param name="key">The key to use for initializing the HMAC
|
|
provider.</param>
|
|
<param name="data">The input to compute the hashcode for.</param>
|
|
<returns>The hashcode of the specified data input.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.HMAC(System.Byte[],System.String)">
|
|
<summary>
|
|
Applies the HMAC keyed hash algorithm using the specified key to
|
|
the specified input string.
|
|
</summary>
|
|
<param name="key">The key to use for initializing the HMAC
|
|
provider.</param>
|
|
<param name="data">The input string to compute the hashcode for.</param>
|
|
<returns>The hashcode of the specified string.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.H(System.Byte[])">
|
|
<summary>
|
|
Applies the cryptographic hash function SHA-1 to the specified data
|
|
array.
|
|
</summary>
|
|
<param name="data">The data array to apply the hash function to.</param>
|
|
<returns>The hash value for the specified byte array.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.Xor(System.Byte[],System.Byte[])">
|
|
<summary>
|
|
Applies the exclusive-or operation to combine the specified byte array
|
|
a with the specified byte array b.
|
|
</summary>
|
|
<param name="a">The first byte array.</param>
|
|
<param name="b">The second byte array.</param>
|
|
<returns>An array of bytes of the same length as the input arrays
|
|
containing the result of the exclusive-or operation.</returns>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if either argument is
|
|
null.</exception>
|
|
<exception cref="T:System.InvalidOperationException">Thrown if the input arrays
|
|
are not of the same length.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.GenerateCnonce">
|
|
<summary>
|
|
Generates a random cnonce-value which is a "client-specified data string
|
|
which must be different each time a digest-response is sent".
|
|
</summary>
|
|
<returns>A random "cnonce-value" string.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.SaslPrep(System.String)">
|
|
<summary>
|
|
Prepares the specified string as is described in RFC 5802.
|
|
</summary>
|
|
<param name="s">A string value.</param>
|
|
<returns>A "Saslprepped" string.</returns>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.IsCompleted">
|
|
<summary>
|
|
True if the authentication exchange between client and server
|
|
has been completed.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.Name">
|
|
<summary>
|
|
The IANA name for the Scram-Sha-1 authentication mechanism as described
|
|
in RFC 5802.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.Username">
|
|
<summary>
|
|
The username to authenticate with.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslScramSha1.Password">
|
|
<summary>
|
|
The password to authenticate with.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp">
|
|
<summary>
|
|
Implements the Sasl Secure Remote Password (SRP) authentication
|
|
mechanism as is described in the IETF SRP 08 draft.
|
|
</summary>
|
|
<remarks>
|
|
This requires .NET Framework 4 because it makes use of the System.Numeric namespace
|
|
which has only been part of .NET since version 4.
|
|
|
|
Some notes:
|
|
- Don't bother with the example given in the IETF 08 draft
|
|
document (7.5 Example); It is broken.
|
|
- Integrity and confidentiality protection is not implemented.
|
|
In fact, the "mandatory"-option is not supported at all.
|
|
</remarks>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.Step">
|
|
<summary>
|
|
SRP involves several steps.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.HashAlgorithm">
|
|
<summary>
|
|
The negotiated hash algorithm which will be used to perform any
|
|
message digest calculations.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.PublicKey">
|
|
<summary>
|
|
The public key computed as part of the authentication exchange.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.PrivateKey">
|
|
<summary>
|
|
The client's private key used for calculating the client evidence.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.SharedKey">
|
|
<summary>
|
|
The secret key shared between client and server.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.ClientProof">
|
|
<summary>
|
|
The client evidence calculated as part of the authentication exchange.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.Options">
|
|
<summary>
|
|
The options chosen by the client, picked from the list of options
|
|
advertised by the server.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.#ctor">
|
|
<summary>
|
|
Private constructor for use with Sasl.SaslFactory.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.#ctor(System.String,System.String,System.Byte[])">
|
|
<summary>
|
|
Internal constructor used for unit testing.
|
|
</summary>
|
|
<param name="username">The username to authenticate with.</param>
|
|
<param name="password">The plaintext password to authenticate
|
|
with.</param>
|
|
<param name="privateKey">The client private key to use.</param>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the username
|
|
or the password parameter is null.</exception>
|
|
<exception cref="T:System.ArgumentException">Thrown if the username
|
|
parameter is empty.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Creates and initializes a new instance of the SaslSrp class using
|
|
the specified username and password.
|
|
</summary>
|
|
<param name="username">The username to authenticate with.</param>
|
|
<param name="password">The plaintext password to authenticate
|
|
with.</param>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the username
|
|
or the password parameter is null.</exception>
|
|
<exception cref="T:System.ArgumentException">Thrown if the username
|
|
parameter is empty.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.ComputeResponse(System.Byte[])">
|
|
<summary>
|
|
Computes the client response to the specified SRP challenge.
|
|
</summary>
|
|
<param name="challenge">The challenge sent by the server</param>
|
|
<returns>The response to the SRP challenge.</returns>
|
|
<exception cref="T:S22.Imap.Auth.Sasl.SaslException">Thrown if the response could not
|
|
be computed.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.ComputeInitialResponse">
|
|
<summary>
|
|
Computes the initial response sent by the client to the server.
|
|
</summary>
|
|
<returns>An array of bytes containing the initial client
|
|
response.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.ComputeFinalResponse(System.Byte[])">
|
|
<summary>
|
|
Computes the client response containing the client's public key and
|
|
evidence.
|
|
</summary>
|
|
<param name="challenge">The challenge containing the protocol elements
|
|
received from the server in response to the initial client
|
|
response.</param>
|
|
<returns>An array of bytes containing the client's challenge
|
|
response.</returns>
|
|
<exception cref="T:S22.Imap.Auth.Sasl.SaslException">Thrown if the server specified any
|
|
mandatory options which are not supported.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.VerifyServerSignature(System.Byte[])">
|
|
<summary>
|
|
Verifies the server signature which is sent by the server as the final
|
|
step of the authentication process.
|
|
</summary>
|
|
<param name="challenge">The server signature as a base64-encoded
|
|
string.</param>
|
|
<returns>The client's response to the server. This will be an empty
|
|
byte array if verification was successful, or the '*' SASL cancellation
|
|
token.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.SelectHashAlgorithm(System.String)">
|
|
<summary>
|
|
Selects a message digest algorithm from the specified list of
|
|
supported algorithms.
|
|
</summary>
|
|
<returns>A tuple containing the name of the selected message digest
|
|
algorithm as well as the type.</returns>
|
|
<exception cref="T:System.NotSupportedException">Thrown if none of the algorithms
|
|
specified in the list parameter is supported.</exception>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.IsCompleted">
|
|
<summary>
|
|
True if the authentication exchange between client and server
|
|
has been completed.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.Name">
|
|
<summary>
|
|
The IANA name for the SRP authentication mechanism.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.Username">
|
|
<summary>
|
|
The username to authenticate with.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.Password">
|
|
<summary>
|
|
The password to authenticate with.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslSrp.AuthId">
|
|
<summary>
|
|
The authorization id (userid in draft jargon).
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Srp.ClientMessage1">
|
|
<summary>
|
|
Represents the initial client-response sent to the server to initiate
|
|
the authentication exchange.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.ClientMessage1.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Creates a new instance of the ClientMessage1 class using the specified
|
|
username.
|
|
</summary>
|
|
<param name="username">The username to authenticate with.</param>
|
|
<param name="authId">The authorization id to authenticate with.</param>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the username parameter
|
|
is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.ClientMessage1.Serialize">
|
|
<summary>
|
|
Serializes this instance of the ClientMessage1 class into a sequence of
|
|
bytes according to the requirements of the SRP specification.
|
|
</summary>
|
|
<returns>A sequence of bytes representing this instance of the
|
|
ClientMessage1 class.</returns>
|
|
<exception cref="T:System.OverflowException">Thrown if the cummultative length
|
|
of the serialized data fields exceeds the maximum number of bytes
|
|
allowed as per SRP specification.</exception>
|
|
<remarks>SRP specification imposes a limit of 2,147,483,643 bytes on
|
|
the serialized data.</remarks>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.ClientMessage1.Username">
|
|
<summary>
|
|
The username to authenticate with.
|
|
</summary>
|
|
<remarks>SRP specification imposes a limit of 65535 bytes
|
|
on this field.</remarks>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.ClientMessage1.AuthId">
|
|
<summary>
|
|
The authorization identity to authenticate with.
|
|
</summary>
|
|
<remarks>SRP specification imposes a limit of 65535 bytes
|
|
on this field.</remarks>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.ClientMessage1.SessionId">
|
|
<summary>
|
|
The session identifier of a previous session whose parameters the
|
|
client wishes to re-use.
|
|
</summary>
|
|
<remarks>SRP specification imposes a limit of 65535 bytes
|
|
on this field. If the client wishes to initialize a new session,
|
|
this parameter must be set to the empty string.</remarks>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.ClientMessage1.ClientNonce">
|
|
<summary>
|
|
The client's nonce used in deriving a new shared context key from
|
|
the shared context key of the previous session.
|
|
</summary>
|
|
<remarks>SRP specification imposes a limit of 255 bytes on this
|
|
field. If not needed, it must be set to an empty byte array.</remarks>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Srp.ClientMessage2">
|
|
<summary>
|
|
Represents the second client-response sent to the server as part of
|
|
the SRP authentication exchange.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.ClientMessage2.#ctor">
|
|
<summary>
|
|
Creates and initializes a new instance of the ClientMessage2 class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.ClientMessage2.#ctor(S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi,System.Byte[])">
|
|
<summary>
|
|
Creates and initializes a new instance of the ClientMessage2 class using
|
|
the specified public key and client proof.
|
|
</summary>
|
|
<param name="publicKey">The client's public key.</param>
|
|
<param name="proof">The calculated client proof.</param>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if either the public key
|
|
or the proof parameter is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.ClientMessage2.Serialize">
|
|
<summary>
|
|
Serializes this instance of the ClientMessage2 class into a sequence of
|
|
bytes according to the requirements of the SRP specification.
|
|
</summary>
|
|
<returns>A sequence of bytes representing this instance of the
|
|
ClientMessage2 class.</returns>
|
|
<exception cref="T:System.OverflowException">Thrown if the cummultative length
|
|
of the serialized data fields exceeds the maximum number of bytes
|
|
allowed as per SRP specification.</exception>
|
|
<remarks>SRP specification imposes a limit of 2,147,483,643 bytes on
|
|
the serialized data.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.ClientMessage2.BuildOptionsString">
|
|
<summary>
|
|
Serializes the client's options collection into a comma-seperated
|
|
options string.
|
|
</summary>
|
|
<returns>A comma-seperated string containing the client's chosen
|
|
options.</returns>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.ClientMessage2.PublicKey">
|
|
<summary>
|
|
The client's ephemeral public key.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.ClientMessage2.Proof">
|
|
<summary>
|
|
The evidence which proves to the server client-knowledge of the shared
|
|
context key.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.ClientMessage2.Options">
|
|
<summary>
|
|
The options list indicating the security services chosen by the client.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.ClientMessage2.InitialVector">
|
|
<summary>
|
|
The initial vector the server will use to set up its encryption
|
|
context, if confidentiality protection will be employed.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Srp.BinaryReaderExtensions">
|
|
<summary>
|
|
Adds extension methods to the BinaryReader class to simplify the
|
|
deserialization of SRP messages.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.BinaryReaderExtensions.ReadUInt32(System.IO.BinaryReader,System.Boolean)">
|
|
<summary>
|
|
Reads an unsigned integer value from the underlying stream,
|
|
optionally using big endian byte ordering.
|
|
</summary>
|
|
<param name="reader">Extension method for BinaryReader.</param>
|
|
<param name="bigEndian">Set to true to interpret the integer value
|
|
as big endian value.</param>
|
|
<returns>The 32-byte unsigned integer value read from the underlying
|
|
stream.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.BinaryReaderExtensions.ReadUInt16(System.IO.BinaryReader,System.Boolean)">
|
|
<summary>
|
|
Reads an unsigned short value from the underlying stream, optionally
|
|
using big endian byte ordering.
|
|
</summary>
|
|
<param name="reader">Extension method for BinaryReader.</param>
|
|
<param name="bigEndian">Set to true to interpret the short value
|
|
as big endian value.</param>
|
|
<returns>The 16-byte unsigned short value read from the underlying
|
|
stream.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.BinaryReaderExtensions.ReadMpi(System.IO.BinaryReader)">
|
|
<summary>
|
|
Reads a "multi-precision integer" from this instance.
|
|
</summary>
|
|
<param name="reader">Extension method for the BinaryReader class.</param>
|
|
<returns>An instance of the Mpi class decoded from the bytes read
|
|
from the underlying stream.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.BinaryReaderExtensions.ReadOs(System.IO.BinaryReader)">
|
|
<summary>
|
|
Reads an "octet-sequence" from this instance.
|
|
</summary>
|
|
<param name="reader">Extension method for the BinaryReader class.</param>
|
|
<returns>An instance of the OctetSequence class decoded from the bytes
|
|
read from the underlying stream.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.BinaryReaderExtensions.ReadUtf8String(System.IO.BinaryReader)">
|
|
<summary>
|
|
Reads an UTF-8 string from this instance.
|
|
</summary>
|
|
<param name="reader">Extension method for the BinaryReader class.</param>
|
|
<returns>An instance of the Utf8String class decoded from the bytes
|
|
read from the underlying stream.</returns>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Srp.Helper">
|
|
<summary>
|
|
Contains helper methods for calculating the various components of the
|
|
SRP authentication exchange.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Srp.Helper.ts">
|
|
<summary>
|
|
The trace source used for informational and debug messages.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.Helper.IsValidModulus(S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi)">
|
|
<summary>
|
|
Determines whether the specified modulus is valid.
|
|
</summary>
|
|
<param name="N">The modulus to validate.</param>
|
|
<returns>True if the specified modulus is valid, otherwise
|
|
false.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.Helper.IsValidGenerator(S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi)">
|
|
<summary>
|
|
Determines whether the specified generator is valid.
|
|
</summary>
|
|
<param name="g">The generator to validate.</param>
|
|
<returns>True if the specified generator is valid, otherwise
|
|
false.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.Helper.GenerateClientPrivateKey">
|
|
<summary>
|
|
Generates a random "multi-precision integer" which will act as the
|
|
client's private key.
|
|
</summary>
|
|
<returns>The client's ephemeral private key as a "multi-precision
|
|
integer".</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.Helper.ComputeClientPublicKey(S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi,S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi,S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi)">
|
|
<summary>
|
|
Calculates the client's ephemeral public key.
|
|
</summary>
|
|
<param name="generator">The generator sent by the server.</param>
|
|
<param name="safePrimeModulus">The safe prime modulus sent by
|
|
the server.</param>
|
|
<param name="privateKey">The client's private key.</param>
|
|
<returns>The client's ephemeral public key as a
|
|
"multi-precision integer".</returns>
|
|
<remarks>
|
|
A = Client Public Key
|
|
g = Generator
|
|
a = Client Private Key
|
|
N = Safe Prime Modulus
|
|
</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.Helper.ComputeSharedKey(System.Byte[],System.String,System.String,S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi,S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi,S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi,S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi,S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi,System.Security.Cryptography.HashAlgorithm)">
|
|
<summary>
|
|
Calculates the shared context key K from the given parameters.
|
|
</summary>
|
|
<param name="salt">The user's password salt.</param>
|
|
<param name="username">The username to authenticate with.</param>
|
|
<param name="password">The password to authenticate with.</param>
|
|
<param name="clientPublicKey">The client's ephemeral public key.</param>
|
|
<param name="serverPublicKey">The server's ephemeral public key.</param>
|
|
<param name="clientPrivateKey">The client's private key.</param>
|
|
<param name="generator">The generator sent by the server.</param>
|
|
<param name="safePrimeModulus">The safe prime modulus sent by the
|
|
server.</param>
|
|
<param name="hashAlgorithm">The negotiated hash algorithm to use
|
|
for the calculations.</param>
|
|
<returns>The shared context key K as a "multi-precision
|
|
integer".</returns>
|
|
<remarks>
|
|
A = Client Public Key
|
|
B = Server Public Key
|
|
N = Safe Prime Modulus
|
|
U = Username
|
|
p = Password
|
|
s = User's Password Salt
|
|
a = Client Private Key
|
|
g = Generator
|
|
K = Shared Public Key
|
|
</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.Helper.ComputeClientProof(S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi,S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi,System.String,System.Byte[],S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi,S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi,S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi,System.String,System.String,System.Security.Cryptography.HashAlgorithm)">
|
|
<summary>
|
|
Computes the client evidence from the given parameters.
|
|
</summary>
|
|
<param name="safePrimeModulus">The safe prime modulus sent by the
|
|
server.</param>
|
|
<param name="generator">The generator sent by the server.</param>
|
|
<param name="username">The username to authenticate with.</param>
|
|
<param name="salt">The client's password salt.</param>
|
|
<param name="clientPublicKey">The client's ephemeral public key.</param>
|
|
<param name="serverPublicKey">The server's ephemeral public key.</param>
|
|
<param name="sharedKey">The shared context key.</param>
|
|
<param name="authId">The authorization identity.</param>
|
|
<param name="options">The raw options string as received from the
|
|
server.</param>
|
|
<param name="hashAlgorithm">The message digest algorithm to use for
|
|
calculating the client proof.</param>
|
|
<returns>The client proof as an array of bytes.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.Helper.ComputeServerProof(S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi,System.Byte[],S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi,System.String,System.String,System.String,System.UInt32,System.Security.Cryptography.HashAlgorithm)">
|
|
<summary>
|
|
Computes the server evidence from the given parameters.
|
|
</summary>
|
|
<param name="clientPublicKey">The client's ephemeral public key.</param>
|
|
<param name="clientProof"></param>
|
|
<param name="sharedKey">The shared context key.</param>
|
|
<param name="authId">The authorization identity.</param>
|
|
<param name="options">The raw options string as sent by the
|
|
client.</param>
|
|
<param name="sid">The session id sent by the server.</param>
|
|
<param name="ttl">The time-to-live value for the session id sent
|
|
by the server.</param>
|
|
<param name="hashAlgorithm">The message digest algorithm to use for
|
|
calculating the server proof.</param>
|
|
<returns>The server proof as an array of bytes.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.Helper.Xor(System.Byte[],System.Byte[])">
|
|
<summary>
|
|
Applies the exclusive-or operation to combine the specified byte array
|
|
a with the specified byte array b.
|
|
</summary>
|
|
<param name="a">The first byte array.</param>
|
|
<param name="b">The second byte array.</param>
|
|
<returns>An array of bytes of the same length as the input arrays
|
|
containing the result of the exclusive-or operation.</returns>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if either argument is
|
|
null.</exception>
|
|
<exception cref="T:System.InvalidOperationException">Thrown if the input arrays
|
|
are not of the same length.</exception>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Srp.Helper.moduli">
|
|
<summary>
|
|
Recommended values for the safe prime modulus (Refer to Appendix A.
|
|
"Modulus and Generator Values" of the IETF SRP draft).
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi">
|
|
<summary>
|
|
Represents a "multi-precision integer" (MPI) as is described in the
|
|
SRP specification (3.2 Multi-Precision Integers, p.5).
|
|
</summary>
|
|
<remarks>Multi-Precision Integers, or MPIs, are positive integers used
|
|
to hold large integers used in cryptographic computations.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi.#ctor(System.Byte[])">
|
|
<summary>
|
|
Creates a new "multi-precision integer" from the specified array
|
|
of bytes.
|
|
</summary>
|
|
<param name="data">A big-endian sequence of bytes forming the
|
|
integer value of the multi-precision integer.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi.#ctor(System.Numerics.BigInteger)">
|
|
<summary>
|
|
Creates a new "multi-precision integer" from the specified BigInteger
|
|
instance.
|
|
</summary>
|
|
<param name="value">The BigInteger instance to initialize the MPI
|
|
with.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi.ToBytes">
|
|
<summary>
|
|
Returns a sequence of bytes in big-endian order forming the integer
|
|
value of this "multi-precision integer" instance.
|
|
</summary>
|
|
<returns>Returns a sequence of bytes in big-endian order representing
|
|
this "multi-precision integer" instance.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi.Serialize">
|
|
<summary>
|
|
Serializes the "multi-precision integer" into a sequence of bytes
|
|
according to the requirements of the SRP specification.
|
|
</summary>
|
|
<returns>A big-endian sequence of bytes representing the integer
|
|
value of the MPI.</returns>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.Mpi.Value">
|
|
<summary>
|
|
The underlying BigInteger instance used to represent this
|
|
"multi-precision integer".
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Srp.OctetSequence">
|
|
<summary>
|
|
Represents an "octet-sequence" as is described in the SRP specification
|
|
(3.3 Octet sequences, p.6).
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.OctetSequence.#ctor(System.Byte[])">
|
|
<summary>
|
|
Creates a new instance of the OctetSequence class using the specified
|
|
byte array.
|
|
</summary>
|
|
<param name="sequence">The sequence of bytes to initialize this instance
|
|
of the OctetSequence class with.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.OctetSequence.Serialize">
|
|
<summary>
|
|
Serializes this instance of the OctetSequence class into a sequence of
|
|
bytes according to the requirements of the SRP specification.
|
|
</summary>
|
|
<returns>A sequence of bytes representing this instance of the
|
|
OctetSequence class.</returns>
|
|
<exception cref="T:System.OverflowException">Thrown if the length of the byte
|
|
sequence exceeds the maximum number of bytes allowed as per SRP
|
|
specification.</exception>
|
|
<remarks>SRP specification imposes a limit of 255 bytes on the
|
|
length of the underlying byte array.</remarks>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.OctetSequence.Value">
|
|
<summary>
|
|
The underlying byte array forming this instance of the OctetSequence
|
|
class.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Srp.ServerMessage1">
|
|
<summary>
|
|
Represents the first message sent by the server in response to an
|
|
initial client-response.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.ServerMessage1.Deserialize(System.Byte[])">
|
|
<summary>
|
|
Deserializes a new instance of the ServerMessage1 class from the
|
|
specified buffer of bytes.
|
|
</summary>
|
|
<param name="buffer">The byte buffer to deserialize the ServerMessage1
|
|
instance from.</param>
|
|
<returns>An instance of the ServerMessage1 class deserialized from the
|
|
specified byte array.</returns>
|
|
<exception cref="T:System.FormatException">Thrown if the byte buffer does not
|
|
contain valid data.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.ServerMessage1.ParseOptions(System.String)">
|
|
<summary>
|
|
Parses the options string sent by the server.
|
|
</summary>
|
|
<param name="s">A comma-delimited options string.</param>
|
|
<returns>An initialized instance of the NameValueCollection class
|
|
containing the parsed server options.</returns>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.ServerMessage1.SafePrimeModulus">
|
|
<summary>
|
|
The safe prime modulus sent by the server.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.ServerMessage1.Generator">
|
|
<summary>
|
|
The generator sent by the server.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.ServerMessage1.Salt">
|
|
<summary>
|
|
The user's password salt.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.ServerMessage1.PublicKey">
|
|
<summary>
|
|
The server's ephemeral public key.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.ServerMessage1.Options">
|
|
<summary>
|
|
The options list indicating available security services.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.ServerMessage1.RawOptions">
|
|
<summary>
|
|
The raw options as received from the server.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Srp.ServerMessage2">
|
|
<summary>
|
|
Represents the second message sent by the server as part of the SRP
|
|
authentication exchange.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.ServerMessage2.Deserialize(System.Byte[])">
|
|
<summary>
|
|
Deserializes a new instance of the ServerMessage2 class from the
|
|
specified buffer of bytes.
|
|
</summary>
|
|
<param name="buffer">The byte buffer to deserialize the ServerMessage2
|
|
instance from.</param>
|
|
<returns>An instance of the ServerMessage2 class deserialized from the
|
|
specified byte array.</returns>
|
|
<exception cref="T:System.FormatException">Thrown if the byte buffer does not
|
|
contain valid data.</exception>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.ServerMessage2.Proof">
|
|
<summary>
|
|
The evidence which proves to the client server-knowledge of the shared
|
|
context key.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.ServerMessage2.InitialVector">
|
|
<summary>
|
|
The initial vector the client will use to set up its encryption
|
|
context, if confidentiality protection will be employed.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.ServerMessage2.SessionId">
|
|
<summary>
|
|
The session identifier the server has given to this session.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Srp.ServerMessage2.Ttl">
|
|
<summary>
|
|
The time period for which this session's parameters may be re-usable.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Srp.Utf8String">
|
|
<summary>
|
|
Represents an UTF-8 string as is described in the SRP specification
|
|
(3.5 Text, p.6).
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Srp.Utf8String.Value">
|
|
<summary>
|
|
The value of the UTF-8 string.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.Utf8String.#ctor(System.String)">
|
|
<summary>
|
|
Creates a new instance of the Utf8String class using the specified
|
|
string value.
|
|
</summary>
|
|
<param name="s">The string to initialize the Utf8String instance
|
|
with.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Srp.Utf8String.Serialize">
|
|
<summary>
|
|
Serializes this instance of the Utf8String class into a sequence of
|
|
bytes according to the requirements of the SRP specification.
|
|
</summary>
|
|
<returns>A sequence of bytes representing this instance of the
|
|
Utf8String class.</returns>
|
|
<exception cref="T:System.OverflowException">Thrown if the string value exceeds
|
|
the maximum number of bytes allowed as per SRP specification.</exception>
|
|
<remarks>SRP specification imposes a limit of 65535 bytes on the
|
|
string data after it has been encoded into a sequence of bytes
|
|
using an encoding of UTF-8.</remarks>
|
|
</member>
|
|
<member name="T:S22.Imap.Bodypart">
|
|
<summary>
|
|
Represents a MIME body part of a mail message that has multiple
|
|
parts.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Bodypart.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the Bodypart class with default
|
|
values.
|
|
</summary>
|
|
<param name="partNumber">The part number as is expected by the
|
|
IMAP FETCH command.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.Bodypart.ToString">
|
|
<summary>
|
|
Returns a detailed description listing all properties of this
|
|
Bodypart instance.
|
|
</summary>
|
|
<returns>A string describing this instance of the Bodypart class</returns>
|
|
</member>
|
|
<member name="P:S22.Imap.Bodypart.PartNumber">
|
|
<summary>
|
|
The body part number which acts as part specifier for
|
|
the FETCH BODY command.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Bodypart.Type">
|
|
<summary>
|
|
The MIME content-type of this body part. The content-type is
|
|
used to declare the general type of data.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Bodypart.Subtype">
|
|
<summary>
|
|
The MIME content-subtype of this body part. The subtype
|
|
specifies a specific format for the type of data.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Bodypart.Parameters">
|
|
<summary>
|
|
Parameter values present in the MIME content-type header
|
|
of this body part (for instance, 'charset').
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Bodypart.Id">
|
|
<summary>
|
|
The MIME content-id of this body part, if any. This value
|
|
may be used for uniquely identifying MIME entities in
|
|
several contexts.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Bodypart.Description">
|
|
<summary>
|
|
The MIME content-description of this body part. This value
|
|
may contain some descriptive information on the body part.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Bodypart.Encoding">
|
|
<summary>
|
|
The MIME content-transfer-encoding mechanism used for
|
|
encoding this body part's data.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Bodypart.Size">
|
|
<summary>
|
|
The size of this body part in bytes. Note that this size
|
|
is the size in its transfer encoding and not the resulting
|
|
size after any decoding.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Bodypart.Lines">
|
|
<summary>
|
|
The size of the body in text lines. This field is only
|
|
present in body parts with a content-type of text.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Bodypart.Md5">
|
|
<summary>
|
|
The computed MD5-Hash of the body part. This field is not
|
|
mandatory and may be empty.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Bodypart.Disposition">
|
|
<summary>
|
|
The MIME content-disposition for this body part. This field
|
|
is not mandatory and may be empty.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Bodypart.Language">
|
|
<summary>
|
|
A string giving the body language. This field is not mandatory
|
|
and may be empty.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Bodypart.Location">
|
|
<summary>
|
|
A string list giving the body content URI. This field is not
|
|
mandatory and may be empty.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Bodystructure">
|
|
<summary>
|
|
Provides a means for parsing the textual description of the body structure of a mail
|
|
message as is returned by an IMAP server for a "FETCH BODYSTRUCTURE" command.
|
|
</summary>
|
|
<remarks>
|
|
They couldn't have made the BODYSTRUCTURE any more complicated and unnecessarily
|
|
hard to parse. I wonder what they were thinking when they came up with this.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.Bodystructure.Parse(System.String)">
|
|
<summary>
|
|
Parses the body structure of a mail message as is returned by the IMAP server
|
|
in response to a FETCH BODYSTRUCTURE command.
|
|
</summary>
|
|
<param name="text">The body structure server response</param>
|
|
<returns>An array of initialized Bodypart objects representing the body
|
|
structure of the mail message</returns>
|
|
<exception cref="T:System.FormatException">Thrown if the passed string does not
|
|
contain a valid body structure and parsing failed.</exception>
|
|
</member>
|
|
<member name="F:S22.Imap.Bodystructure.reader">
|
|
<summary>
|
|
A Reader object initialized with the string containing the bodystructure
|
|
response.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Bodystructure.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the Bodystructure class.
|
|
</summary>
|
|
<param name="text"></param>
|
|
</member>
|
|
<member name="M:S22.Imap.Bodystructure.ParseBodypart(System.String,System.Boolean)">
|
|
<summary>
|
|
Parses a bodypart entry from the body structure and advances the
|
|
read pointer.
|
|
</summary>
|
|
<param name="partNumber">The designated part specifier by which the body
|
|
part is refered to by the server.</param>
|
|
<param name="parenthesis">Set to true if the bodypart is enclosed
|
|
in parenthesis.</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Bodystructure.ParseMessage822Fields(S22.Imap.Bodypart)">
|
|
<summary>
|
|
Parses the mandatory extra fields that are present if the bodypart is
|
|
of type message/rfc822 (see RFC 3501, p. 75).
|
|
</summary>
|
|
<param name="part">The bodypart instance the parsed fields will be
|
|
added to.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.Bodystructure.ParseOptionalFields(S22.Imap.Bodypart,System.Boolean)">
|
|
<summary>
|
|
Parses the optional fields of a bodypart entry from the body structure
|
|
and advances the read pointer.
|
|
</summary>
|
|
<param name="part">The bodypart instance the parsed fields will be
|
|
added to.</param>
|
|
<param name="parenthesis">Set to true if the bodypart entry is enclosed
|
|
in parenthesis.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.Bodystructure.ParseList(System.String)">
|
|
<summary>
|
|
Parses a list of bodypart entries as is outlined in the description of the
|
|
BODYPART response in RFC 3501.
|
|
</summary>
|
|
<param name="nestPrefix">The nesting prefix that will be prefixed to the
|
|
bodyparts partNumber.</param>
|
|
<returns>An array of initialized Bodypart objects parsed from the
|
|
list.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Bodystructure.SkipMultipart">
|
|
<summary>
|
|
Advances the read pointer to skip over a multipart entry.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Bodystructure.SkipParenthesizedExpression">
|
|
<summary>
|
|
Advances the read pointer to skip over an arbitrary
|
|
expression enclosed in parentheses.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.ContentDisposition">
|
|
<summary>
|
|
Represents the content disposition as is presented in the BODYSTRUCTURE
|
|
response by the IMAP server.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.ContentDisposition.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the ContentDisposition class with
|
|
default values.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.ContentDisposition.Map">
|
|
<summary>
|
|
Maps MIME content disposition string values to their corresponding
|
|
counter-parts of the ContentDispositionType enumeration.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.ContentDisposition.Type">
|
|
<summary>
|
|
The content disposition specifies the presentation style.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.ContentDisposition.Attributes">
|
|
<summary>
|
|
Additional attribute fields for specifying the name of a file, the creation
|
|
date and modification date, which can be used by the reader's mail user agent
|
|
to store the attachment.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.ContentDisposition.Filename">
|
|
<summary>
|
|
Contains the name of the transmitted file if the content-disposition is of type
|
|
"Attachment" and if the name value was provided as part of the header information.
|
|
This field may be empty.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.ContentDispositionType">
|
|
<summary>
|
|
Possible values for the content disposition type which determines the presentation
|
|
style
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.ContentDispositionType.Unknown">
|
|
<summary>
|
|
The content disposition could not be determined.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.ContentDispositionType.Inline">
|
|
<summary>
|
|
An inline content disposition means that the content should be automatically
|
|
displayed when the message is displayed.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.ContentDispositionType.Attachment">
|
|
<summary>
|
|
An attachment content disposition means that the content should not be displayed
|
|
automatically and requires some form of action from the user to open it.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.ContentTransferEncoding">
|
|
<summary>
|
|
Possible values for the "Encoding" property of the Bodypart class. The content
|
|
transfer encoding indicates whether or not a binary-to-text encoding
|
|
scheme has been used on top of the original encoding as specified within the
|
|
Content-Type header.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.ContentTransferEncoding.Unknown">
|
|
<summary>
|
|
The content tranfer encoding could not be determined or is unknown.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.ContentTransferEncoding.Bit7">
|
|
<summary>
|
|
Up to 998 bytes per line of the code range 1 - 127 with CR and LF only
|
|
allowed to appear as part of a CRLF line ending.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.ContentTransferEncoding.Bit8">
|
|
<summary>
|
|
Up to 998 bytes per line with CR and LF only allowed to appear as part
|
|
of a CRLF line ending.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.ContentTransferEncoding.Binary">
|
|
<summary>
|
|
Any sequence of bytes.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.ContentTransferEncoding.QuotedPrintable">
|
|
<summary>
|
|
Byte sequence is encoded using the quoted-printable encoding.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.ContentTransferEncoding.Base64">
|
|
<summary>
|
|
Byte sequence is encoded using Base64 encoding.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.ContentType">
|
|
<summary>
|
|
Possible values for the "Type" property of the Bodypart class.
|
|
For a detailed description of MIME Media Types refer to
|
|
RFC 2046.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.ContentType.Text">
|
|
<summary>
|
|
The "text" media type is intended for sending material which
|
|
is principally textual in form.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.ContentType.Image">
|
|
<summary>
|
|
A media type of "image" indicates that the body contains an image.
|
|
The subtype names the specific image format.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.ContentType.Audio">
|
|
<summary>
|
|
A media type of "audio" indicates that the body contains audio
|
|
data.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.ContentType.Video">
|
|
<summary>
|
|
A media type of "video" indicates that the body contains a
|
|
time-varying-picture image, possibly with color and coordinated sound.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.ContentType.Application">
|
|
<summary>
|
|
The "application" media type is to be used for discrete data which do
|
|
not fit in any of the other categories, and particularly for data to
|
|
be processed by some type of application program.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.ContentType.Message">
|
|
<summary>
|
|
The "message" content type allows messages to contain other messages
|
|
or pointers to other messages.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.ContentType.Other">
|
|
<summary>
|
|
The media type value is unknown or could not be determined.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Reader">
|
|
<summary>
|
|
A helper class for parsing the BODYSTRUCTURE response of an
|
|
IMAP FETCH command more conveniently.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Reader.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the Reader class that reads from the
|
|
specified string.
|
|
</summary>
|
|
<param name="s">The string to which the Reader instance should be
|
|
initialized.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.Reader.Read">
|
|
<summary>
|
|
Reads the next character from the input string and advances the
|
|
character position by one character.
|
|
</summary>
|
|
<returns>The next character from the underlying string.</returns>
|
|
<exception cref="T:S22.Imap.EndOfStringException">Thrown when reading is
|
|
attempted past the end of the underlying string.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Reader.Peek(System.Boolean)">
|
|
<summary>
|
|
Returns the next available character but does not consume it.
|
|
</summary>
|
|
<param name="skipSpaces">Set to true to skip any preceding
|
|
whitespace characters.</param>
|
|
<returns>An integer representing the next character to be read,
|
|
or -1 if no more characters are available.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Reader.SkipUntil(System.Char)">
|
|
<summary>
|
|
Advances the character position until the specified character
|
|
is encountered.
|
|
</summary>
|
|
<param name="character">The character to skip to.</param>
|
|
<exception cref="T:S22.Imap.EndOfStringException">Thrown when reading is
|
|
attempted past the end of the underlying string.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Reader.SkipSpaces">
|
|
<summary>
|
|
Advances the character position over any whitespace characters
|
|
and subsequently ensures the next read will not return a
|
|
whitespace character.
|
|
</summary>
|
|
<exception cref="T:S22.Imap.EndOfStringException">Thrown when reading is
|
|
attempted past the end of the underlying string.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Reader.ReadUntil(System.Char)">
|
|
<summary>
|
|
Reads characters until the specified character is encountered.
|
|
</summary>
|
|
<param name="character">The character to read up to.</param>
|
|
<returns>The read characters as a string value.</returns>
|
|
<exception cref="T:S22.Imap.EndOfStringException">Thrown when reading is
|
|
attempted past the end of the underlying string.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Reader.ReadWord">
|
|
<summary>
|
|
Reads a word from the underlying string. A word in this context
|
|
is a literal enclosed in double-quotes.
|
|
</summary>
|
|
<returns>The read word.</returns>
|
|
<exception cref="T:S22.Imap.EndOfStringException">Thrown when reading is
|
|
attempted past the end of the underlying string.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Reader.ReadInteger">
|
|
<summary>
|
|
Reads an integer from the underlying string.
|
|
</summary>
|
|
<returns>The read integer value.</returns>
|
|
<exception cref="T:S22.Imap.EndOfStringException">Thrown when reading is
|
|
attempted past the end of the underlying string.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Reader.ReadList">
|
|
<summary>
|
|
Reads a list from the underlying string. A list in this context
|
|
is a list of attribute/value literals (enclosed in double-quotes)
|
|
enclosed in parenthesis.
|
|
</summary>
|
|
<returns>The read list as a dictionary with the attribute names
|
|
as keys and attribute values as values.</returns>
|
|
<exception cref="T:S22.Imap.EndOfStringException">Thrown when reading is
|
|
attempted past the end of the underlying string.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Reader.ReadDisposition">
|
|
<summary>
|
|
Reads a disposition from the underlying string. A disposition in
|
|
this context is a list of attribute/value literals (enclosed in
|
|
double-quotes) preceded by a word enclosed in parenthesis.
|
|
</summary>
|
|
<returns>An initialized ContentDisposition instance representing
|
|
the parsed disposition.</returns>
|
|
<exception cref="T:S22.Imap.EndOfStringException">Thrown when reading is
|
|
attempted past the end of the underlying string.</exception>
|
|
</member>
|
|
<member name="T:S22.Imap.EndOfStringException">
|
|
<summary>
|
|
The exception that is thrown when reading is attempted past the end
|
|
of a string.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.EndOfStringException.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the EndOfStringException class
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.EndOfStringException.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the EndOfStringException class with its message
|
|
string set to <paramref name="message"/>.
|
|
</summary>
|
|
<param name="message">A description of the error. The content of message is intended
|
|
to be understood by humans.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.EndOfStringException.#ctor(System.String,System.Exception)">
|
|
<summary>
|
|
Initializes a new instance of the EndOfStringException class with its message
|
|
string set to <paramref name="message"/> and a reference to the inner exception that
|
|
is the cause of this exception.
|
|
</summary>
|
|
<param name="message">A description of the error. The content of message is intended
|
|
to be understood by humans.</param>
|
|
<param name="inner">The exception that is the cause of the current exception.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.EndOfStringException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
|
|
<summary>
|
|
Initializes a new instance of the EndOfStringException class with the specified
|
|
serialization and context information.
|
|
</summary>
|
|
<param name="info">An object that holds the serialized object data about the exception
|
|
being thrown. </param>
|
|
<param name="context">An object that contains contextual information about the source
|
|
or destination. </param>
|
|
</member>
|
|
<member name="T:S22.Imap.FetchOptions">
|
|
<summary>
|
|
Defines the different means by which mail messages may be fetched from the server.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.FetchOptions.Normal">
|
|
<summary>
|
|
Fetches the entire mail message with all of its content.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.FetchOptions.HeadersOnly">
|
|
<summary>
|
|
Only the mail message headers will be retrieved, while the actual content will not be
|
|
downloaded. If this option is specified, only the header fields of the returned MailMessage
|
|
object will be initialized.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.FetchOptions.TextOnly">
|
|
<summary>
|
|
Retrieves the mail message, but will only download content that has a content-type of text.
|
|
This will retrieve text as well as HTML representation, while skipping inline content and
|
|
attachments.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.FetchOptions.NoAttachments">
|
|
<summary>
|
|
Retrieves the mail message, but skips any content that is an attachment.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.IdleErrorEventArgs">
|
|
<summary>
|
|
Provides data for IMAP idle error events.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.IdleErrorEventArgs.#ctor(System.Exception,S22.Imap.ImapClient)">
|
|
<summary>
|
|
Initializes a new instance of the IdleErrorEventArgs class.
|
|
</summary>
|
|
<param name="exception">The exception that causes the event.</param>
|
|
<param name="client">The instance of the ImapClient class that raised the event.</param>
|
|
<exception cref="T:System.ArgumentNullException">The exception parameter or the client parameter
|
|
is null.</exception>
|
|
</member>
|
|
<member name="P:S22.Imap.IdleErrorEventArgs.Exception">
|
|
<summary>
|
|
The exception that caused the error event.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.IdleErrorEventArgs.Client">
|
|
<summary>
|
|
The instance of the ImapClient class that raised the event.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.IdleMessageEventArgs">
|
|
<summary>
|
|
Provides data for IMAP idle notification events.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.IdleMessageEventArgs.#ctor(System.UInt32,System.UInt32,S22.Imap.ImapClient)">
|
|
<summary>
|
|
Initializes a new instance of the IdleMessageEventArgs class and sets the
|
|
MessageCount attribute to the value of the <paramref name="MessageCount"/>
|
|
parameter.
|
|
</summary>
|
|
<param name="MessageCount">The number of messages in the selected mailbox.</param>
|
|
<param name="MessageUID"> The unique identifier (UID) of the newest message in the
|
|
mailbox.</param>
|
|
<param name="Client">The instance of the ImapClient class that raised the event.</param>
|
|
</member>
|
|
<member name="P:S22.Imap.IdleMessageEventArgs.MessageCount">
|
|
<summary>
|
|
The total number of messages in the selected mailbox.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.IdleMessageEventArgs.MessageUID">
|
|
<summary>
|
|
The unique identifier (UID) of the newest message in the mailbox.
|
|
</summary>
|
|
<remarks>The UID can be passed to the GetMessage method in order to retrieve the mail
|
|
message from the server.</remarks>
|
|
</member>
|
|
<member name="P:S22.Imap.IdleMessageEventArgs.Client">
|
|
<summary>
|
|
The instance of the ImapClient class that raised the event.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.IImapClient">
|
|
<summary>
|
|
Enables applications to communicate with a mail server using the Internet Message Access
|
|
Protocol (IMAP).
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.Login(System.String,System.String,S22.Imap.AuthMethod)">
|
|
<summary>
|
|
Attempts to establish an authenticated session with the server using the specified
|
|
credentials.
|
|
</summary>
|
|
<param name="username">The username with which to login in to the IMAP server.</param>
|
|
<param name="password">The password with which to log in to the IMAP server.</param>
|
|
<param name="method">The requested method of authentication. Can be one of the values
|
|
of the AuthMethod enumeration.</param>
|
|
<exception cref="T:System.ArgumentNullException">The username parameter or the password parameter
|
|
is null.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.InvalidCredentialsException">The server rejected the supplied
|
|
credentials.</exception>
|
|
<exception cref="T:System.NotSupportedException">The specified authentication method is not
|
|
supported by the server.</exception>
|
|
<example>
|
|
This example demonstrates how to authenticate with an IMAP server once a connection
|
|
has been established. Notice that you can also connect and login in one step
|
|
using one of the overloaded constructors.
|
|
<code>
|
|
// Connect to Gmail's IMAP server on port 993 using SSL.
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, true);
|
|
|
|
try {
|
|
Client.Login("My_Username", "My_Password", AuthMethod.Auto);
|
|
}
|
|
catch(InvalidCredentialsException) {
|
|
Console.WriteLine("The server rejected the supplied credentials.");
|
|
}
|
|
|
|
Client.Dispose();
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.Logout">
|
|
<summary>
|
|
Logs an authenticated client out of the server. After the logout sequence has been completed,
|
|
the server closes the connection with the client.
|
|
</summary>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">An unexpected response has been received from
|
|
the server during the logout sequence.</exception>
|
|
<remarks>Calling this method in non-authenticated state has no effect.</remarks>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.Capabilities">
|
|
<summary>
|
|
Returns an enumerable collection of capabilities the IMAP server supports. All strings in
|
|
the returned collection are guaranteed to be upper-case.
|
|
</summary>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">An unexpected response has been received from
|
|
the server; The message property of the exception contains the error message returned by
|
|
the server.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<returns>An enumerable collection of capabilities supported by the server.</returns>
|
|
<remarks>This method may be called in non-authenticated state.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.Supports(System.String)">
|
|
<summary>
|
|
Determines whether the specified capability is supported by the server.
|
|
</summary>
|
|
<param name="capability">The IMAP capability to probe for (for example "IDLE").</param>
|
|
<exception cref="T:System.ArgumentNullException">The capability parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">An unexpected response has been received from
|
|
the server; The message property of the exception contains the error message returned by
|
|
the server.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<returns>true if the specified capability is supported by the server; Otherwise
|
|
false.</returns>
|
|
<remarks>This method may be called in non-authenticated state.</remarks>
|
|
<example>
|
|
This example demonstrates how to connect and login to an IMAP server.
|
|
<code>
|
|
// Connect to Gmail's IMAP server on port 993 using SSL.
|
|
ImapClient Client = null;
|
|
try {
|
|
Client = new ImapClient("imap.gmail.com", 993, "My_Username",
|
|
"My_Password", true, AuthMethod.Auto);
|
|
|
|
// Check if the server supports IMAP IDLE.
|
|
if(Client.Supports("IDLE"))
|
|
Console.WriteLine("This server supports the IMAP4 IDLE specification");
|
|
else
|
|
Console.WriteLine("This server does not support IMAP IDLE");
|
|
}
|
|
catch(InvalidCredentialsException) {
|
|
Console.WriteLine("The server rejected the supplied credentials");
|
|
}
|
|
finally {
|
|
// Release resources.
|
|
if(Client != null)
|
|
Client.Dispose();
|
|
}
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.RenameMailbox(System.String,System.String)">
|
|
<summary>
|
|
Changes the name of the specified mailbox.
|
|
</summary>
|
|
<param name="mailbox">The mailbox to rename.</param>
|
|
<param name="newName">The new name the mailbox will be renamed to.</param>
|
|
<exception cref="T:System.ArgumentNullException">The mailbox parameter or the
|
|
newName parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mailbox could not be renamed; The message
|
|
property of the exception contains the error message returned by the server.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.DeleteMailbox(System.String)">
|
|
<summary>
|
|
Permanently removes the specified mailbox.
|
|
</summary>
|
|
<param name="mailbox">The name of the mailbox to remove.</param>
|
|
<exception cref="T:System.ArgumentNullException">The mailbox parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The specified mailbox could not be removed.
|
|
The message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.CreateMailbox(System.String)">
|
|
<summary>
|
|
Creates a new mailbox with the specified name.
|
|
</summary>
|
|
<param name="mailbox">The name of the mailbox to create.</param>
|
|
<exception cref="T:System.ArgumentNullException">The mailbox parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mailbox with the specified name could
|
|
not be created. The message property of the exception contains the error message returned
|
|
by the server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.ListMailboxes">
|
|
<summary>
|
|
Retrieves a list of all available and selectable mailboxes on the server.
|
|
</summary>
|
|
<returns>An enumerable collection of the names of all available and selectable
|
|
mailboxes.</returns>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The list of mailboxes could not be retrieved.
|
|
The message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>The mailbox name "INBOX" is a special name reserved to mean "the primary mailbox
|
|
for this user on this server".</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.Expunge(System.String)">
|
|
<summary>
|
|
Permanently removes all messages that have the \Deleted flag set from the specified mailbox.
|
|
</summary>
|
|
<param name="mailbox">The mailbox to remove all messages from that have the \Deleted flag
|
|
set. If this parameter is omitted, the value of the DefaultMailbox property is used to
|
|
determine the mailbox to operate on.</param>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The expunge operation could not be completed.
|
|
The message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<seealso cref="M:S22.Imap.IImapClient.DeleteMessage(System.UInt32,System.String)"/>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.GetMailboxInfo(System.String)">
|
|
<summary>
|
|
Retrieves status information (total number of messages, various attributes as well as quota
|
|
information) for the specified mailbox.</summary>
|
|
<param name="mailbox">The mailbox to retrieve status information for. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>A MailboxInfo object containing status information for the mailbox.</returns>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The operation could not be completed because
|
|
the server returned an error. The message property of the exception contains the error message
|
|
returned by the server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>Not all IMAP servers support the retrieval of quota information. If it is not
|
|
possible to retrieve this information, the UsedStorage and FreeStorage properties of the
|
|
returned MailboxStatus instance are set to 0.</remarks>
|
|
<example>
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Get a list of all mailboxes.
|
|
foreach(string m in Client.ListMailboxes())
|
|
{
|
|
MailboxInfo info = Client.GetMailboxInfo(m);
|
|
|
|
Console.WriteLine(info.Name);
|
|
Console.WriteLine("Used storage: " + info.UsedStorage);
|
|
Console.WriteLine("Free storage: " + info.FreeStorage);
|
|
Console.WriteLine("Next UID: " + info.NextUID);
|
|
Console.WriteLine("Messages: " + info.Messages);
|
|
Console.WriteLine("Unread: " + info.Unread);
|
|
Console.WriteLine("Set Flags: ");
|
|
foreach (MailboxFlag f in info.Flags)
|
|
Console.Write(f.ToString() + ",");
|
|
Console.WriteLine();
|
|
}
|
|
|
|
Client.Dispose();
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.Search(S22.Imap.SearchCondition,System.String)">
|
|
<summary>
|
|
Searches the specified mailbox for messages that match the given search criteria.
|
|
</summary>
|
|
<param name="criteria">A search criteria expression; Only messages that match this
|
|
expression will be included in the result set returned by this method.</param>
|
|
<param name="mailbox">The mailbox that will be searched. If this parameter is omitted, the
|
|
value of the DefaultMailbox property is used to determine the mailbox to operate on.</param>
|
|
<exception cref="T:System.ArgumentNullException">The criteria parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The search could not be completed. The message
|
|
property of the exception contains the error message returned by the server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<exception cref="T:System.NotSupportedException">The search values contain characters beyond the
|
|
ASCII range and the server does not support handling non-ASCII strings.</exception>
|
|
<returns>An enumerable collection of unique identifiers (UIDs) which can be used with the
|
|
GetMessage family of methods to download the mail messages.</returns>
|
|
<remarks>A unique identifier (UID) is a 32-bit value assigned to each message which uniquely
|
|
identifies the message within the respective mailbox. No two messages in a mailbox share
|
|
the same UID.</remarks>
|
|
<example>
|
|
This example demonstrates how to use the search method to get a list of all
|
|
unread messages in the mailbox.
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Get a list of unique identifiers (UIDs) of all unread messages in the mailbox.
|
|
IEnumerable<uint> uids = Client.Search( SearchCondition.Unseen() );
|
|
|
|
// Fetch the messages and print out their subject lines.
|
|
foreach(uint uid in uids) {
|
|
MailMessage message = Client.GetMessage(uid);
|
|
|
|
Console.WriteLine(message.Subject);
|
|
}
|
|
|
|
// Free up any resources associated with this instance.
|
|
Client.Dispose();
|
|
</code>
|
|
</example><example>
|
|
This example demonstrates how to perform a search using multiple search criteria.
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Get a list of unique identifiers (UIDs) of all messages sent before the 01.04.2012
|
|
// and that are larger than 1 Kilobyte.
|
|
IEnumerable<uint> uids = Client.Search( SearchCondition.SentBefore(new DateTime(2012, 4, 1))
|
|
.And( SearchCondition.Larger(1024) ));
|
|
|
|
Console.WriteLine("Found " + uids.Count() + " messages");
|
|
|
|
// Free up any resources associated with this instance.
|
|
Client.Dispose();
|
|
</code>
|
|
</example><example>
|
|
The following example demonstrates how to perform a search using characters outside
|
|
the ASCII range.
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Get a list of unique identifiers (UIDs) of all messages that have
|
|
// the Japanese expression "フーリエ変換" in their subject lines.
|
|
try {
|
|
IEnumerable<uint> uids = Client.Search(SearchCondition.Subject("フーリエ変換"));
|
|
|
|
Console.WriteLine("Found " + uids.Count() + " messages");
|
|
} catch(NotSupportedException e) {
|
|
// If this exception is thrown, the server does not support searching for characters
|
|
// outside the ASCII range.
|
|
Console.WriteLine("The server does not support searching for non-ASCII values.");
|
|
}
|
|
|
|
// Free up any resources associated with this instance.
|
|
Client.Dispose();
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.GetMessage(System.UInt32,System.Boolean,System.String)">
|
|
<summary>
|
|
Retrieves the mail message with the specified unique identifier (UID).
|
|
</summary>
|
|
<param name="uid">The unique identifier of the mail message to retrieve.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for this message on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the message will be retrieved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>An initialized instance of the MailMessage class representing the fetched mail
|
|
message.</returns>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message could not be fetched. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>A unique identifier (UID) is a 32-bit value assigned to each message which uniquely
|
|
identifies the message within the respective mailbox. No two messages in a mailbox share
|
|
the same UID.</remarks>
|
|
<example>
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Find all messages in the mailbox that were sent from "John.Doe@gmail.com".
|
|
IEnumerable<uint> uids = Client.Search( SearchCondition.From("John.Doe@gmail.com") );
|
|
|
|
// Fetch the first message and print it's subject and body.
|
|
if(uids.Count() > 0) {
|
|
MailMessage msg = Client.GetMessage(uids.First());
|
|
|
|
Console.WriteLine("Subject: " + msg.Subject);
|
|
Console.WriteLine("Body: " + msg.Body);
|
|
}
|
|
|
|
Client.Dispose();
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.GetMessage(System.UInt32,S22.Imap.FetchOptions,System.Boolean,System.String)">
|
|
<summary>
|
|
Retrieves the mail message with the specified unique identifier (UID) using the specified
|
|
fetch-option.
|
|
</summary>
|
|
<param name="uid">The unique identifier of the mail message to retrieve.</param>
|
|
<param name="options">A value from the FetchOptions enumeration which allows
|
|
for fetching selective parts of a mail message.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for this message on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the message will be retrieved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>An initialized instance of the MailMessage class representing the fetched mail
|
|
message.</returns>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message could not be fetched. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>A unique identifier (UID) is a 32-bit value assigned to each message which uniquely
|
|
identifies the message within the respective mailbox. No two messages in a mailbox share
|
|
the same UID.
|
|
<para>If you need more fine-grained control over which parts of a mail message to fetch,
|
|
consider using one of the overloaded GetMessage methods.
|
|
</para>
|
|
</remarks>
|
|
<example>
|
|
This example demonstrates how to fetch only the mail message headers of
|
|
a mail message, instead of the entire message.
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Find all messages in the mailbox that have "Hello" in the subject.
|
|
IEnumerable<uint> uids = Client.Search( SearchCondition.Subject("Hello") );
|
|
|
|
// Fetch the mail headers of the first message and print it's subject line.
|
|
if(uids.Count() > 0) {
|
|
MailMessage msg = Client.GetMessage(uids.First(), FetchOptions.HeadersOnly);
|
|
|
|
Console.WriteLine("Subject: " + msg.Subject);
|
|
}
|
|
|
|
Client.Dispose();
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.GetMessage(System.UInt32,S22.Imap.ExaminePartDelegate,System.Boolean,System.String)">
|
|
<summary>
|
|
Retrieves the mail message with the specified unique identifier (UID) while only fetching
|
|
those parts of the message that satisfy the condition of the specified delegate.
|
|
</summary>
|
|
<param name="uid">The unique identifier of the mail message to retrieve.</param>
|
|
<param name="callback">A delegate which will be invoked for every MIME body-part of the
|
|
mail message to determine whether the part should be fetched from the server or
|
|
skipped.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for this message on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the message will be retrieved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>An initialized instance of the MailMessage class representing the fetched mail
|
|
message.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The callback parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message could not be fetched. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>A unique identifier (UID) is a 32-bit value assigned to each message which uniquely
|
|
identifies the message within the respective mailbox. No two messages in a mailbox share
|
|
the same UID.</remarks>
|
|
<example>
|
|
This example demonstrates how to use the ExaminePartDelegate with the GetMessage
|
|
method to only download message parts with a size of 1 Megabyte or less.
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Find all messages in the inbox.
|
|
IEnumerable<uint> uids = Client.Search( SearchCondition.All() );
|
|
|
|
// Download each message but skip message parts that are larger than 1 Megabyte.
|
|
foreach(uint uid in uids) {
|
|
MailMessage msg = Client.GetMessage(uid, (Bodypart part) => {
|
|
if(part.Size > (1024 * 1024))
|
|
return false;
|
|
else
|
|
return true;
|
|
}
|
|
);
|
|
}
|
|
|
|
Client.Dispose();
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.GetMessages(System.Collections.Generic.IEnumerable{System.UInt32},System.Boolean,System.String)">
|
|
<summary>
|
|
Retrieves the set of mail messages with the specified unique identifiers (UIDs).
|
|
</summary>
|
|
<param name="uids">An enumerable collection of unique identifiers of the mail messages to
|
|
retrieve.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for the fetched messages on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the messages will be retrieved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>An enumerable collection of initialized instances of the MailMessage class
|
|
representing the fetched mail messages.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The uids parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail messages could not be fetched. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>A unique identifier (UID) is a 32-bit value assigned to each message which uniquely
|
|
identifies the message within the respective mailbox. No two messages in a mailbox share
|
|
the same UID.</remarks>
|
|
<example>
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Find all messages that have been sent since June the 1st.
|
|
IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) );
|
|
|
|
// Fetch the messages and print out their subject lines.
|
|
IEnumerable<MailMessage> messages = Client.GetMessages( uids );
|
|
|
|
foreach(MailMessage m in messages)
|
|
Console.WriteLine("Subject: " + m.Subject);
|
|
|
|
Client.Dispose();
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.GetMessages(System.Collections.Generic.IEnumerable{System.UInt32},S22.Imap.ExaminePartDelegate,System.Boolean,System.String)">
|
|
<summary>
|
|
Retrieves the set of mail messages with the specified unique identifiers (UIDs) while only
|
|
fetching those parts of the messages that satisfy the condition of the specified delegate.
|
|
</summary>
|
|
<param name="uids">An enumerable collection of unique identifiers of the mail messages to
|
|
retrieve.</param>
|
|
<param name="callback">A delegate which will be invoked for every MIME body-part of each
|
|
mail message to determine whether the part should be fetched from the server or
|
|
skipped.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for the fetched messages on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the messages will be retrieved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>An enumerable collection of initialized instances of the MailMessage class
|
|
representing the fetched mail messages.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The uids parameter or the callback parameter is
|
|
null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail messages could not be fetched. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>A unique identifier (UID) is a 32-bit value assigned to each message which uniquely
|
|
identifies the message within the respective mailbox. No two messages in a mailbox share
|
|
the same UID.</remarks>
|
|
<!-- No matching elements were found for the following include tag --><include file="Examples.xml" path="S22/Imap/ImapClient[@name="GetMessages-3"]/*"/>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.GetMessages(System.Collections.Generic.IEnumerable{System.UInt32},S22.Imap.FetchOptions,System.Boolean,System.String)">
|
|
<summary>
|
|
Retrieves the set of mail messages with the specified unique identifiers (UIDs) using the
|
|
specified fetch-option.
|
|
</summary>
|
|
<param name="uids">An enumerable collection of unique identifiers of the mail messages to
|
|
retrieve.</param>
|
|
<param name="options">A value from the FetchOptions enumeration which allows for fetching
|
|
selective parts of a mail message.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for the fetched messages on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the messages will be retrieved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>An enumerable collection of initialized instances of the MailMessage class
|
|
representing the fetched mail messages.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The uids parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail messages could not be fetched. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>A unique identifier (UID) is a 32-bit value assigned to each message which uniquely
|
|
identifies the message within the respective mailbox. No two messages in a mailbox share
|
|
the same UID.</remarks>
|
|
<example>
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Find all messages that have been sent since June the 1st.
|
|
IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) );
|
|
|
|
// Retrieve the messages and print out their subject lines. If any of the messages are multipart
|
|
// messages, only those parts, that have a content-type of text will be fetched.
|
|
IEnumerable<MailMessage> messages = Client.GetMessages( uids, FetchOptions.TextOnly );
|
|
|
|
foreach(MailMessage m in messages)
|
|
Console.WriteLine("Subject: " + m.Subject);
|
|
|
|
Client.Dispose();
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.StoreMessage(System.Net.Mail.MailMessage,System.Boolean,System.String)">
|
|
<summary>
|
|
Stores the specified mail message on the IMAP server.
|
|
</summary>
|
|
<param name="message">The mail message to store on the server.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for the message on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the message will be stored in. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to store
|
|
the message in.</param>
|
|
<returns>The unique identifier (UID) of the stored message.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The message parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message could not be stored. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>A unique identifier (UID) is a 32-bit value assigned to each message which uniquely
|
|
identifies the message within the respective mailbox. No two messages in a mailbox share
|
|
the same UID.</remarks>
|
|
<seealso cref="M:S22.Imap.IImapClient.StoreMessages(System.Collections.Generic.IEnumerable{System.Net.Mail.MailMessage},System.Boolean,System.String)"/>
|
|
<example>
|
|
This example demonstrates how to store a mail message on an IMAP server.
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
MailMessage message = CreateSimpleMailMessage();
|
|
uint uid = Client.StoreMessage(message);
|
|
|
|
Console.WriteLine("The UID of the stored mail message is " + uid);
|
|
|
|
Client.Dispose();
|
|
|
|
// ...........
|
|
|
|
// This creates a simple mail message with a text/plain body and a PNG image
|
|
// as a file attachment.
|
|
// Consult the MSDN website for more details on the System.Net.Mail.Mailmessage class.
|
|
static MailMessage CreateSimpleMailMessage() {
|
|
MailMessage message = new MailMessage();
|
|
|
|
message.From = new MailAddress("someone@someplace.com");
|
|
message.To.Add("john.doe@someplace.com");
|
|
|
|
message.Subject = "This is just a test!";
|
|
message.Body = "This is the text/plain body. An additional HTML body " +
|
|
"can optionally be attached as an alternate view";
|
|
|
|
// Add the attachment.
|
|
Attachment attachment = new Attachment("some_image.png", "image/png");
|
|
attachment.Name = "my_attached_image.png";
|
|
message.Attachments.Add(attachment);
|
|
|
|
return message;
|
|
}
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.StoreMessages(System.Collections.Generic.IEnumerable{System.Net.Mail.MailMessage},System.Boolean,System.String)">
|
|
<summary>
|
|
Stores the specified mail messages on the IMAP server.
|
|
</summary>
|
|
<param name="messages">An enumerable collection of mail messages to store on the
|
|
server.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for each message on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the messages will be stored in. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to store
|
|
the messages in.</param>
|
|
<returns>An enumerable collection of unique identifiers (UID) representing the stored
|
|
messages on the server.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The messages parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail messages could not be stored. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>A unique identifier (UID) is a 32-bit value assigned to each message which uniquely
|
|
identifies the message within the respective mailbox. No two messages in a mailbox share
|
|
the same UID.</remarks>
|
|
<seealso cref="M:S22.Imap.IImapClient.StoreMessage(System.Net.Mail.MailMessage,System.Boolean,System.String)"/>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.CopyMessage(System.UInt32,System.String,System.String)">
|
|
<summary>
|
|
Copies the mail message with the specified UID to the specified destination mailbox.
|
|
</summary>
|
|
<param name="uid">The UID of the mail message to copy.</param>
|
|
<param name="destination">The name of the mailbox to copy the message to.</param>
|
|
<param name="mailbox">The mailbox the message will be copied from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<exception cref="T:System.ArgumentNullException">The destination parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message could not be copied to the
|
|
specified destination. The message property of the exception contains the error message
|
|
returned by the server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<seealso cref="M:S22.Imap.IImapClient.MoveMessage(System.UInt32,System.String,System.String)"/>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.CopyMessages(System.Collections.Generic.IEnumerable{System.UInt32},System.String,System.String)">
|
|
<summary>
|
|
Copies the mail messages with the specified UIDs to the specified destination mailbox.
|
|
</summary>
|
|
<param name="uids">An enumerable collection of UIDs of the mail messages to copy.</param>
|
|
<param name="destination">The name of the mailbox to copy the messages to.</param>
|
|
<param name="mailbox">The mailbox the message will be copied from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<remarks>When copying many messages, this method is more efficient than calling
|
|
<see cref="M:S22.Imap.IImapClient.CopyMessage(System.UInt32,System.String,System.String)"/> for each individual message.</remarks>
|
|
<exception cref="T:System.ArgumentNullException">The uids parameter or the destination parameter is
|
|
null.</exception>
|
|
<exception cref="T:System.ArgumentException">The specified collection of UIDs is empty.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail messages could not be copied to the
|
|
specified destination. The message property of the exception contains the error message
|
|
returned by the server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<seealso cref="M:S22.Imap.IImapClient.MoveMessages(System.Collections.Generic.IEnumerable{System.UInt32},System.String,System.String)"/>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.MoveMessage(System.UInt32,System.String,System.String)">
|
|
<summary>
|
|
Moves the mail message with the specified UID to the specified destination mailbox.
|
|
</summary>
|
|
<param name="uid">The UID of the mail message to move.</param>
|
|
<param name="destination">The name of the mailbox to move the message into.</param>
|
|
<param name="mailbox">The mailbox the message will be moved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<exception cref="T:System.ArgumentNullException">The destination parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message could not be moved to the
|
|
specified destination. The message property of the exception contains the error message
|
|
returned by the server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<seealso cref="M:S22.Imap.IImapClient.CopyMessage(System.UInt32,System.String,System.String)"/>
|
|
<seealso cref="M:S22.Imap.IImapClient.DeleteMessage(System.UInt32,System.String)"/>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.MoveMessages(System.Collections.Generic.IEnumerable{System.UInt32},System.String,System.String)">
|
|
<summary>
|
|
Moves the mail messages with the specified UIDs to the specified destination mailbox.
|
|
</summary>
|
|
<param name="uids">An enumerable collection of UIDs of the mail messages to move.</param>
|
|
<param name="destination">The name of the mailbox to move the messages into.</param>
|
|
<param name="mailbox">The mailbox the messages will be moved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<remarks>When moving many messages, this method is more efficient than calling
|
|
<see cref="M:S22.Imap.IImapClient.MoveMessage(System.UInt32,System.String,System.String)"/> for each individual message.</remarks>
|
|
<exception cref="T:System.ArgumentNullException">The uids parameter or the destination parameter is
|
|
null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail messages could not be moved to the
|
|
specified destination. The message property of the exception contains the error message
|
|
returned by the server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<seealso cref="M:S22.Imap.IImapClient.CopyMessages(System.Collections.Generic.IEnumerable{System.UInt32},System.String,System.String)"/>
|
|
<seealso cref="M:S22.Imap.IImapClient.DeleteMessages(System.Collections.Generic.IEnumerable{System.UInt32},System.String)"/>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.DeleteMessage(System.UInt32,System.String)">
|
|
<summary>
|
|
Deletes the mail message with the specified UID.
|
|
</summary>
|
|
<param name="uid">The UID of the mail message to delete.</param>
|
|
<param name="mailbox">The mailbox the message will be deleted from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message could not be deleted. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<seealso cref="M:S22.Imap.IImapClient.MoveMessage(System.UInt32,System.String,System.String)"/>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.DeleteMessages(System.Collections.Generic.IEnumerable{System.UInt32},System.String)">
|
|
<summary>
|
|
Deletes the mail messages with the specified UIDs.
|
|
</summary>
|
|
<param name="uids">An enumerable collection of UIDs of the mail messages to delete.</param>
|
|
<param name="mailbox">The mailbox the messages will be deleted from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<remarks>When deleting many messages, this method is more efficient than calling
|
|
<see cref="M:S22.Imap.IImapClient.DeleteMessage(System.UInt32,System.String)"/> for each individual message.</remarks>
|
|
<exception cref="T:System.ArgumentNullException">The uids parameter is null.</exception>
|
|
<exception cref="T:System.ArgumentException">The specified collection of UIDs is empty.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail messages could not be deleted. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<seealso cref="M:S22.Imap.IImapClient.MoveMessages(System.Collections.Generic.IEnumerable{System.UInt32},System.String,System.String)"/>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.GetMessageFlags(System.UInt32,System.String)">
|
|
<summary>
|
|
Retrieves the IMAP message flag attributes for the mail message with the specified unique
|
|
identifier (UID).
|
|
</summary>
|
|
<param name="uid">The UID of the mail message to retrieve the flag attributes for.</param>
|
|
<param name="mailbox">The mailbox the message will be retrieved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>An enumerable collection of message flags set for the message with the specified
|
|
UID.</returns>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message flags could not be retrieved.
|
|
The message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<seealso cref="M:S22.Imap.IImapClient.SetMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
<seealso cref="M:S22.Imap.IImapClient.AddMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
<seealso cref="M:S22.Imap.IImapClient.RemoveMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.SetMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])">
|
|
<summary>
|
|
Sets the IMAP message flag attributes for the mail message with the specified unique
|
|
identifier (UID).
|
|
</summary>
|
|
<param name="uid">The UID of the mail message to set the flag attributes for.</param>
|
|
<param name="mailbox">The mailbox that contains the mail message. If this parameter is null,
|
|
the value of the DefaultMailbox property is used to determine the mailbox to operate
|
|
on.</param>
|
|
<param name="flags">One or multiple message flags from the MessageFlag enumeration.</param>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message flags could not be set. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>This method replaces the current flag attributes of the message with the specified
|
|
new flags. If you wish to retain the old attributes, use the <see cref="M:S22.Imap.IImapClient.AddMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
method instead.</remarks>
|
|
<seealso cref="M:S22.Imap.IImapClient.GetMessageFlags(System.UInt32,System.String)"/>
|
|
<seealso cref="M:S22.Imap.IImapClient.AddMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
<seealso cref="M:S22.Imap.IImapClient.RemoveMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.AddMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])">
|
|
<summary>
|
|
Adds the specified set of IMAP message flags to the existing flag attributes of the mail
|
|
message with the specified unique identifier (UID).
|
|
</summary>
|
|
<param name="uid">The UID of the mail message to add the flag attributes to.</param>
|
|
<param name="mailbox">The mailbox that contains the mail message. If this parameter is null,
|
|
the value of the DefaultMailbox property is used to determine the mailbox to operate
|
|
on.</param>
|
|
<param name="flags">One or multiple message flags from the MessageFlag enumeration.</param>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message flags could not be added. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>This method adds the specified set of flags to the existing set of flag attributes
|
|
of the message. If you wish to replace the old attributes, use the
|
|
<see cref="M:S22.Imap.IImapClient.SetMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/> method instead.</remarks>
|
|
<seealso cref="M:S22.Imap.IImapClient.GetMessageFlags(System.UInt32,System.String)"/>
|
|
<seealso cref="M:S22.Imap.IImapClient.SetMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
<seealso cref="M:S22.Imap.IImapClient.RemoveMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
</member>
|
|
<member name="M:S22.Imap.IImapClient.RemoveMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])">
|
|
<summary>
|
|
Removes the specified set of IMAP message flags from the existing flag attributes of the
|
|
mail message with the specified unique identifier (UID).
|
|
</summary>
|
|
<param name="uid">The UID of the mail message to remove the flag attributes for.</param>
|
|
<param name="mailbox">The mailbox that contains the mail message. If this parameter is null,
|
|
the value of the DefaultMailbox property is used to determine the mailbox to operate
|
|
on.</param>
|
|
<param name="flags">One or multiple message flags from the MessageFlag enumeration.</param>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message flags could not be removed.
|
|
The message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>This method removes the specified set of flags from the existing set of flag
|
|
attributes of the message. If you wish to replace the old attributes, use the
|
|
<see cref="M:S22.Imap.IImapClient.SetMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/> method instead.</remarks>
|
|
<seealso cref="M:S22.Imap.IImapClient.GetMessageFlags(System.UInt32,System.String)"/>
|
|
<seealso cref="M:S22.Imap.IImapClient.SetMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
<seealso cref="M:S22.Imap.IImapClient.AddMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
</member>
|
|
<member name="P:S22.Imap.IImapClient.DefaultMailbox">
|
|
<summary>
|
|
The default mailbox to operate on.
|
|
</summary>
|
|
<exception cref="T:System.ArgumentNullException">The property is being set and the value is
|
|
null.</exception>
|
|
<exception cref="T:System.ArgumentException">The property is being set and the value is the empty
|
|
string.</exception>
|
|
<remarks>The default value for this property is "INBOX" which is a special name reserved
|
|
to mean "the primary mailbox for this user on this server".</remarks>
|
|
</member>
|
|
<member name="P:S22.Imap.IImapClient.Authed">
|
|
<summary>
|
|
Determines whether the client is authenticated with the server.
|
|
</summary>
|
|
</member>
|
|
<member name="E:S22.Imap.IImapClient.NewMessage">
|
|
<summary>
|
|
The event that is raised when a new mail message has been received by the server.
|
|
</summary>
|
|
<remarks>To probe a server for IMAP IDLE support, the <see cref="M:S22.Imap.IImapClient.Supports(System.String)"/>
|
|
method can be used, specifying "IDLE" for the capability parameter.
|
|
|
|
Please note that the event handler will be executed on a threadpool thread.
|
|
</remarks>
|
|
<example>
|
|
This example demonstrates how to receive IMAP IDLE notifications.
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Make sure our server actually supports IMAP IDLE.
|
|
if(!Client.Supports("IDLE"))
|
|
throw new Exception("This server does not support IMAP IDLE");
|
|
|
|
// Our event handler will be called whenever a new message is received
|
|
// by the server.
|
|
Client.NewMessage += new EventHandler<IdleMessageEventArgs>(OnNewMessage);
|
|
|
|
// .........
|
|
|
|
Client.Dispose();
|
|
|
|
// ........
|
|
|
|
void OnNewMessage(object sender, IdleMessageEventArgs e) {
|
|
Console.WriteLine("Received a new message!");
|
|
Console.WriteLine("Total number of messages in the mailbox: " +
|
|
e.MessageCount);
|
|
}
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="E:S22.Imap.IImapClient.MessageDeleted">
|
|
<summary>
|
|
The event that is raised when a message has been deleted on the server.
|
|
</summary>
|
|
<remarks>To probe a server for IMAP IDLE support, the <see cref="M:S22.Imap.IImapClient.Supports(System.String)"/>
|
|
method can be used, specifying "IDLE" for the capability parameter.
|
|
|
|
Please note that the event handler will be executed on a threadpool thread.
|
|
</remarks>
|
|
<example>
|
|
This example demonstrates how to receive IMAP IDLE notifications.
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Make sure our server actually supports IMAP IDLE.
|
|
if(!Client.Supports("IDLE"))
|
|
throw new Exception("This server does not support IMAP IDLE");
|
|
|
|
// Our event handler will be called whenever a message is deleted on the server.
|
|
Client.MessageDeleted += new EventHandler<IdleMessageEventArgs>(OnMessageDeleted);
|
|
|
|
// .........
|
|
|
|
// Don't forget to dispose the client once you're done with it.
|
|
Client.Dispose();
|
|
|
|
// ........
|
|
|
|
void OnMessageDeleted(object sender, IdleMessageEventArgs e) {
|
|
Console.WriteLine("A mail message was deleted on the server!");
|
|
Console.WriteLine("Total number of mail messages in the mailbox: " +
|
|
e.MessageCount);
|
|
}
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="T:S22.Imap.ImapClient">
|
|
<summary>
|
|
Enables applications to communicate with a mail server using the Internet Message Access
|
|
Protocol (IMAP).
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.#ctor(System.IO.Stream)">
|
|
<summary>
|
|
This constructor is solely used for unit testing.
|
|
</summary>
|
|
<param name="stream">A stream to initialize the ImapClient instance with.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.#ctor(System.String,System.Int32,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback)">
|
|
<summary>
|
|
Initializes a new instance of the ImapClient class and connects to the specified port
|
|
on the specified host, optionally using the Secure Socket Layer (SSL) security protocol.
|
|
</summary>
|
|
<param name="hostname">The DNS name of the server to which you intend to connect.</param>
|
|
<param name="port">The port number of the server to which you intend to connect.</param>
|
|
<param name="ssl">Set to true to use the Secure Socket Layer (SSL) security protocol.</param>
|
|
<param name="validate">Delegate used for verifying the remote Secure Sockets
|
|
Layer (SSL) certificate which is used for authentication. Can be null if not needed.</param>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">The port parameter is not between MinPort
|
|
and MaxPort.</exception>
|
|
<exception cref="T:System.ArgumentNullException">The hostname parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">An unexpected response has been received from
|
|
the server upon connecting.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:System.Net.Sockets.SocketException">An error occurred while accessing the socket used for
|
|
establishing the connection to the IMAP server. Use the ErrorCode property to obtain the
|
|
specific error code.</exception>
|
|
<exception cref="T:System.Security.Authentication.AuthenticationException">An authentication
|
|
error occured while trying to establish a secure connection.</exception>
|
|
<example>
|
|
This example shows how to establish a connection with an IMAP server
|
|
and print out the IMAP options, which the server supports.
|
|
<code>
|
|
// Connect to Gmail's IMAP server on port 993 using SSL.
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, true);
|
|
|
|
// Print out the server's capabilities.
|
|
foreach(string s in Client.Capabilities())
|
|
Console.WriteLine(s);
|
|
|
|
Client.Dispose();
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.#ctor(System.String,System.Int32,System.String,System.String,S22.Imap.AuthMethod,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback)">
|
|
<summary>
|
|
Initializes a new instance of the ImapClient class and connects to the specified port on
|
|
the specified host, optionally using the Secure Socket Layer (SSL) security protocol and
|
|
attempts to authenticate with the server using the specified authentication method and
|
|
credentials.
|
|
</summary>
|
|
<param name="hostname">The DNS name of the server to which you intend to connect.</param>
|
|
<param name="port">The port number of the server to which you intend to connect.</param>
|
|
<param name="username">The username with which to login in to the IMAP server.</param>
|
|
<param name="password">The password with which to log in to the IMAP server.</param>
|
|
<param name="method">The requested method of authentication. Can be one of the values
|
|
of the AuthMethod enumeration.</param>
|
|
<param name="ssl">Set to true to use the Secure Socket Layer (SSL) security protocol.</param>
|
|
<param name="validate">Delegate used for verifying the remote Secure Sockets Layer
|
|
(SSL) certificate which is used for authentication. Can be null if not needed.</param>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">The port parameter is not between MinPort
|
|
and MaxPort.</exception>
|
|
<exception cref="T:System.ArgumentNullException">The hostname parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">An unexpected response has been received from
|
|
the server upon connecting.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.InvalidCredentialsException">The provided credentials were rejected by the
|
|
server.</exception>
|
|
<exception cref="T:System.Net.Sockets.SocketException">An error occurred while accessing the socket used for
|
|
establishing the connection to the IMAP server. Use the ErrorCode property to obtain the
|
|
specific error code.</exception>
|
|
<exception cref="T:System.Security.Authentication.AuthenticationException">An authentication
|
|
error occured while trying to establish a secure connection.</exception>
|
|
<example>
|
|
This example demonstrates how to connect and login to an IMAP server.
|
|
<code>
|
|
// Connect to Gmail's IMAP server on port 993 using SSL.
|
|
ImapClient Client = null;
|
|
try {
|
|
Client = new ImapClient("imap.gmail.com", 993, "My_Username",
|
|
"My_Password", true, AuthMethod.Auto);
|
|
|
|
// Check if the server supports IMAP IDLE.
|
|
if(Client.Supports("IDLE"))
|
|
Console.WriteLine("This server supports the IMAP4 IDLE specification");
|
|
else
|
|
Console.WriteLine("This server does not support IMAP IDLE");
|
|
}
|
|
catch(InvalidCredentialsException) {
|
|
Console.WriteLine("The server rejected the supplied credentials");
|
|
}
|
|
finally {
|
|
// Release resources.
|
|
if(Client != null)
|
|
Client.Dispose();
|
|
}
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.Connect(System.String,System.Int32,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback)">
|
|
<summary>
|
|
Connects to the specified port on the specified host, optionally using the Secure Socket Layer
|
|
(SSL) security protocol.
|
|
</summary>
|
|
<param name="hostname">The DNS name of the server to which you intend to connect.</param>
|
|
<param name="port">The port number of the server to which you intend to connect.</param>
|
|
<param name="ssl">Set to true to use the Secure Socket Layer (SSL) security protocol.</param>
|
|
<param name="validate">Delegate used for verifying the remote Secure Sockets Layer (SSL)
|
|
certificate which is used for authentication. Can be null if not needed.</param>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">The port parameter is not between MinPort
|
|
and MaxPort.</exception>
|
|
<exception cref="T:System.ArgumentNullException">The hostname parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">An unexpected response has been received
|
|
from the server upon connecting.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:System.Net.Sockets.SocketException">An error occurred while accessing the socket used for
|
|
establishing the connection to the IMAP server. Use the ErrorCode property to obtain the
|
|
specific error code.</exception>
|
|
<exception cref="T:System.Security.Authentication.AuthenticationException">An authentication
|
|
error occured while trying to establish a secure connection.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.IsResponseOK(System.String,System.String)">
|
|
<summary>
|
|
Determines whether the specified response is a valid IMAP OK response.
|
|
</summary>
|
|
<param name="response">A response string received from the server.</param>
|
|
<param name="tag">A tag if the response is associated with a command.</param>
|
|
<returns>true if the response is a valid IMAP OK response; Otherwise false.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.Login(System.String,System.String,S22.Imap.AuthMethod)">
|
|
<summary>
|
|
Attempts to establish an authenticated session with the server using the specified
|
|
credentials.
|
|
</summary>
|
|
<param name="username">The username with which to login in to the IMAP server.</param>
|
|
<param name="password">The password with which to log in to the IMAP server.</param>
|
|
<param name="method">The requested method of authentication. Can be one of the values
|
|
of the AuthMethod enumeration.</param>
|
|
<exception cref="T:System.ArgumentNullException">The username parameter or the password parameter
|
|
is null.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.InvalidCredentialsException">The server rejected the supplied
|
|
credentials.</exception>
|
|
<exception cref="T:System.NotSupportedException">The specified authentication method is not
|
|
supported by the server.</exception>
|
|
<example>
|
|
This example demonstrates how to authenticate with an IMAP server once a connection
|
|
has been established. Notice that you can also connect and login in one step
|
|
using one of the overloaded constructors.
|
|
<code>
|
|
// Connect to Gmail's IMAP server on port 993 using SSL.
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, true);
|
|
|
|
try {
|
|
Client.Login("My_Username", "My_Password", AuthMethod.Auto);
|
|
}
|
|
catch(InvalidCredentialsException) {
|
|
Console.WriteLine("The server rejected the supplied credentials.");
|
|
}
|
|
|
|
Client.Dispose();
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.AuthAuto(System.String,System.String,System.String)">
|
|
<summary>
|
|
Performs authentication using the most secure authentication mechanism supported by the
|
|
server.
|
|
</summary>
|
|
<param name="tag">The tag identifier to use for performing the authentication
|
|
commands.</param>
|
|
<param name="username">The username with which to login in to the IMAP server.</param>
|
|
<param name="password">The password with which to log in to the IMAP server.</param>
|
|
<returns>The response sent by the server.</returns>
|
|
<remarks>The order of preference of authentication types employed by this method is
|
|
Ntlm, Scram-Sha-1, Digest-Md5, followed by Cram-Md5 and finally plaintext Login as
|
|
a last resort.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.Login(System.String,System.String,System.String)">
|
|
<summary>
|
|
Performs an actual IMAP "LOGIN" command using the specified username and plain-text
|
|
password.
|
|
</summary>
|
|
<param name="tag">The tag identifier to use for performing the authentication
|
|
commands.</param>
|
|
<param name="username">The username with which to login in to the IMAP server.</param>
|
|
<param name="password">The password with which to log in to the IMAP server.</param>
|
|
<returns>The response sent by the server.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.SspiAuthenticate(System.String,System.String,System.String,System.Boolean)">
|
|
<summary>
|
|
Performs NTLM and Kerberos authentication via the Security Support Provider Interface (SSPI).
|
|
</summary>
|
|
<param name="tag">The tag identifier to use for performing the authentication
|
|
commands.</param>
|
|
<param name="username">The username with which to login in to the IMAP server.</param>
|
|
<param name="password">The password with which to log in to the IMAP server.</param>
|
|
<param name="useNtlm">True to authenticate using NTLM, otherwise GSSAPI (Kerberos) is
|
|
used.</param>
|
|
<returns>The response sent by the server.</returns>
|
|
<exception cref="T:System.NotSupportedException">The specified authentication method is not
|
|
supported by the server.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.Authenticate(System.String,System.String,System.String,System.String)">
|
|
<summary>
|
|
Performs authentication using a SASL authentication mechanism via IMAP's authenticate
|
|
command.
|
|
</summary>
|
|
<param name="tag">The tag identifier to use for performing the authentication
|
|
commands.</param>
|
|
<param name="username">The username with which to login in to the IMAP server.</param>
|
|
<param name="password">The password with which to log in to the IMAP server.</param>
|
|
<param name="mechanism">The name of the SASL authentication mechanism to use.</param>
|
|
<returns>The response sent by the server.</returns>
|
|
<exception cref="T:S22.Imap.Auth.Sasl.SaslException">The authentication mechanism with the specified name could
|
|
not be found.</exception>
|
|
<exception cref="T:System.NotSupportedException">The specified authentication mechanism is not
|
|
supported by the server.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">An unexpected response has been received from
|
|
the server.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.Logout">
|
|
<summary>
|
|
Logs an authenticated client out of the server. After the logout sequence has been completed,
|
|
the server closes the connection with the client.
|
|
</summary>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">An unexpected response has been received from
|
|
the server during the logout sequence.</exception>
|
|
<remarks>Calling this method in non-authenticated state has no effect.</remarks>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetTag">
|
|
<summary>
|
|
Generates a unique identifier to prefix a command with, as is required by the IMAP protocol.
|
|
</summary>
|
|
<returns>A unique identifier string.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.SendCommand(System.String)">
|
|
<summary>
|
|
Sends a command string to the server. This method blocks until the command has been
|
|
transmitted.
|
|
</summary>
|
|
<param name="command">The command to send to the server. The string is suffixed by CRLF
|
|
prior to sending.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.SendCommandGetResponse(System.String,System.Boolean)">
|
|
<summary>
|
|
Sends a command string to the server and subsequently waits for a response, which is then
|
|
returned to the caller. This method blocks until the server response has been received.
|
|
</summary>
|
|
<param name="command">The command to send to the server. This is suffixed by CRLF prior
|
|
to sending.</param>
|
|
<param name="resolveLiterals">Set to true to resolve possible literals returned by the
|
|
server (Refer to RFC 3501 Section 4.3 for details).</param>
|
|
<returns>The response received by the server.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetResponse(System.Boolean)">
|
|
<summary>
|
|
Waits for a response from the server. This method blocks until a response has been received.
|
|
</summary>
|
|
<param name="resolveLiterals">Set to true to resolve possible literals returned by the
|
|
server (Refer to RFC 3501 Section 4.3 for details).</param>
|
|
<returns>A response string from the server</returns>
|
|
<exception cref="T:System.IO.IOException">The underlying socket is closed or there was a failure
|
|
reading from the network.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetData(System.Int32)">
|
|
<summary>
|
|
Reads the specified amount of bytes from the server. This method blocks until the specified
|
|
amount of bytes has been read from the network stream.
|
|
</summary>
|
|
<param name="byteCount">The number of bytes to read.</param>
|
|
<returns>The read bytes as an ASCII-encoded string.</returns>
|
|
<exception cref="T:System.IO.IOException">The underlying socket is closed or there was a failure
|
|
reading from the network.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.Capabilities">
|
|
<summary>
|
|
Returns an enumerable collection of capabilities the IMAP server supports. All strings in
|
|
the returned collection are guaranteed to be upper-case.
|
|
</summary>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">An unexpected response has been received from
|
|
the server; The message property of the exception contains the error message returned by
|
|
the server.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<returns>An enumerable collection of capabilities supported by the server.</returns>
|
|
<remarks>This method may be called in non-authenticated state.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.Supports(System.String)">
|
|
<summary>
|
|
Determines whether the specified capability is supported by the server.
|
|
</summary>
|
|
<param name="capability">The IMAP capability to probe for (for example "IDLE").</param>
|
|
<exception cref="T:System.ArgumentNullException">The capability parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">An unexpected response has been received from
|
|
the server; The message property of the exception contains the error message returned by
|
|
the server.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<returns>true if the specified capability is supported by the server; Otherwise
|
|
false.</returns>
|
|
<remarks>This method may be called in non-authenticated state.</remarks>
|
|
<example>
|
|
This example demonstrates how to connect and login to an IMAP server.
|
|
<code>
|
|
// Connect to Gmail's IMAP server on port 993 using SSL.
|
|
ImapClient Client = null;
|
|
try {
|
|
Client = new ImapClient("imap.gmail.com", 993, "My_Username",
|
|
"My_Password", true, AuthMethod.Auto);
|
|
|
|
// Check if the server supports IMAP IDLE.
|
|
if(Client.Supports("IDLE"))
|
|
Console.WriteLine("This server supports the IMAP4 IDLE specification");
|
|
else
|
|
Console.WriteLine("This server does not support IMAP IDLE");
|
|
}
|
|
catch(InvalidCredentialsException) {
|
|
Console.WriteLine("The server rejected the supplied credentials");
|
|
}
|
|
finally {
|
|
// Release resources.
|
|
if(Client != null)
|
|
Client.Dispose();
|
|
}
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.RenameMailbox(System.String,System.String)">
|
|
<summary>
|
|
Changes the name of the specified mailbox.
|
|
</summary>
|
|
<param name="mailbox">The mailbox to rename.</param>
|
|
<param name="newName">The new name the mailbox will be renamed to.</param>
|
|
<exception cref="T:System.ArgumentNullException">The mailbox parameter or the
|
|
newName parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mailbox could not be renamed; The message
|
|
property of the exception contains the error message returned by the server.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.DeleteMailbox(System.String)">
|
|
<summary>
|
|
Permanently removes the specified mailbox.
|
|
</summary>
|
|
<param name="mailbox">The name of the mailbox to remove.</param>
|
|
<exception cref="T:System.ArgumentNullException">The mailbox parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The specified mailbox could not be removed.
|
|
The message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.CreateMailbox(System.String)">
|
|
<summary>
|
|
Creates a new mailbox with the specified name.
|
|
</summary>
|
|
<param name="mailbox">The name of the mailbox to create.</param>
|
|
<exception cref="T:System.ArgumentNullException">The mailbox parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mailbox with the specified name could
|
|
not be created. The message property of the exception contains the error message returned
|
|
by the server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.SelectMailbox(System.String)">
|
|
<summary>
|
|
Selects the specified mailbox so that the messages of the mailbox can be accessed.
|
|
</summary>
|
|
<param name="mailbox">The mailbox to select. If this parameter is null, the
|
|
default mailbox is selected.</param>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The specified mailbox could not be selected.
|
|
The message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>IMAP Idle must be paused or stopped before calling this method.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.ListMailboxes">
|
|
<summary>
|
|
Retrieves a list of all available and selectable mailboxes on the server.
|
|
</summary>
|
|
<returns>An enumerable collection of the names of all available and selectable
|
|
mailboxes.</returns>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The list of mailboxes could not be retrieved.
|
|
The message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>The mailbox name "INBOX" is a special name reserved to mean "the primary mailbox
|
|
for this user on this server".</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.Expunge(System.String)">
|
|
<summary>
|
|
Permanently removes all messages that have the \Deleted flag set from the specified mailbox.
|
|
</summary>
|
|
<param name="mailbox">The mailbox to remove all messages from that have the \Deleted flag
|
|
set. If this parameter is omitted, the value of the DefaultMailbox property is used to
|
|
determine the mailbox to operate on.</param>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The expunge operation could not be completed.
|
|
The message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<seealso cref="M:S22.Imap.ImapClient.DeleteMessage(System.UInt32,System.String)"/>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetMailboxInfo(System.String)">
|
|
<summary>
|
|
Retrieves status information (total number of messages, various attributes as well as quota
|
|
information) for the specified mailbox.</summary>
|
|
<param name="mailbox">The mailbox to retrieve status information for. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>A MailboxInfo object containing status information for the mailbox.</returns>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The operation could not be completed because
|
|
the server returned an error. The message property of the exception contains the error message
|
|
returned by the server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>Not all IMAP servers support the retrieval of quota information. If it is not
|
|
possible to retrieve this information, the UsedStorage and FreeStorage properties of the
|
|
returned MailboxStatus instance are set to 0.</remarks>
|
|
<example>
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Get a list of all mailboxes.
|
|
foreach(string m in Client.ListMailboxes())
|
|
{
|
|
MailboxInfo info = Client.GetMailboxInfo(m);
|
|
|
|
Console.WriteLine(info.Name);
|
|
Console.WriteLine("Used storage: " + info.UsedStorage);
|
|
Console.WriteLine("Free storage: " + info.FreeStorage);
|
|
Console.WriteLine("Next UID: " + info.NextUID);
|
|
Console.WriteLine("Messages: " + info.Messages);
|
|
Console.WriteLine("Unread: " + info.Unread);
|
|
Console.WriteLine("Set Flags: ");
|
|
foreach (MailboxFlag f in info.Flags)
|
|
Console.Write(f.ToString() + ",");
|
|
Console.WriteLine();
|
|
}
|
|
|
|
Client.Dispose();
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetMailboxFlags(System.String)">
|
|
<summary>
|
|
Retrieves the set of special-use flags associated with the specified mailbox.
|
|
</summary>
|
|
<param name="mailbox">The mailbox to receive the special-use flags for. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The operation could not be completed because
|
|
the server returned an error. The message property of the exception contains the error
|
|
message returned by the server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<returns>An enumerable collection of special-use flags set on the specified
|
|
mailbox.</returns>
|
|
<remarks>This feature is an optional extension to the IMAP protocol and as such some servers
|
|
may not report any flags at all.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetMailboxStatus(System.String)">
|
|
<summary>
|
|
Retrieves status information (total number of messages, number of unread messages, etc.) for
|
|
the specified mailbox.</summary>
|
|
<param name="mailbox">The mailbox to retrieve status information for. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>A MailboxStatus object containing status information for the mailbox.</returns>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The operation could not be completed because
|
|
the server returned an error. The message property of the exception contains the error
|
|
message returned by the server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.Search(S22.Imap.SearchCondition,System.String)">
|
|
<summary>
|
|
Searches the specified mailbox for messages that match the given search criteria.
|
|
</summary>
|
|
<param name="criteria">A search criteria expression; Only messages that match this
|
|
expression will be included in the result set returned by this method.</param>
|
|
<param name="mailbox">The mailbox that will be searched. If this parameter is omitted, the
|
|
value of the DefaultMailbox property is used to determine the mailbox to operate on.</param>
|
|
<exception cref="T:System.ArgumentNullException">The criteria parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The search could not be completed. The message
|
|
property of the exception contains the error message returned by the server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<exception cref="T:System.NotSupportedException">The search values contain characters beyond the
|
|
ASCII range and the server does not support handling non-ASCII strings.</exception>
|
|
<returns>An enumerable collection of unique identifiers (UIDs) which can be used with the
|
|
GetMessage family of methods to download the mail messages.</returns>
|
|
<remarks>A unique identifier (UID) is a 32-bit value assigned to each message which uniquely
|
|
identifies the message within the respective mailbox. No two messages in a mailbox share
|
|
the same UID.</remarks>
|
|
<example>
|
|
This example demonstrates how to use the search method to get a list of all
|
|
unread messages in the mailbox.
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Get a list of unique identifiers (UIDs) of all unread messages in the mailbox.
|
|
IEnumerable<uint> uids = Client.Search( SearchCondition.Unseen() );
|
|
|
|
// Fetch the messages and print out their subject lines.
|
|
foreach(uint uid in uids) {
|
|
MailMessage message = Client.GetMessage(uid);
|
|
|
|
Console.WriteLine(message.Subject);
|
|
}
|
|
|
|
// Free up any resources associated with this instance.
|
|
Client.Dispose();
|
|
</code>
|
|
</example><example>
|
|
This example demonstrates how to perform a search using multiple search criteria.
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Get a list of unique identifiers (UIDs) of all messages sent before the 01.04.2012
|
|
// and that are larger than 1 Kilobyte.
|
|
IEnumerable<uint> uids = Client.Search( SearchCondition.SentBefore(new DateTime(2012, 4, 1))
|
|
.And( SearchCondition.Larger(1024) ));
|
|
|
|
Console.WriteLine("Found " + uids.Count() + " messages");
|
|
|
|
// Free up any resources associated with this instance.
|
|
Client.Dispose();
|
|
</code>
|
|
</example><example>
|
|
The following example demonstrates how to perform a search using characters outside
|
|
the ASCII range.
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Get a list of unique identifiers (UIDs) of all messages that have
|
|
// the Japanese expression "フーリエ変換" in their subject lines.
|
|
try {
|
|
IEnumerable<uint> uids = Client.Search(SearchCondition.Subject("フーリエ変換"));
|
|
|
|
Console.WriteLine("Found " + uids.Count() + " messages");
|
|
} catch(NotSupportedException e) {
|
|
// If this exception is thrown, the server does not support searching for characters
|
|
// outside the ASCII range.
|
|
Console.WriteLine("The server does not support searching for non-ASCII values.");
|
|
}
|
|
|
|
// Free up any resources associated with this instance.
|
|
Client.Dispose();
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetMessage(System.UInt32,System.Boolean,System.String)">
|
|
<summary>
|
|
Retrieves the mail message with the specified unique identifier (UID).
|
|
</summary>
|
|
<param name="uid">The unique identifier of the mail message to retrieve.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for this message on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the message will be retrieved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>An initialized instance of the MailMessage class representing the fetched mail
|
|
message.</returns>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message could not be fetched. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>A unique identifier (UID) is a 32-bit value assigned to each message which uniquely
|
|
identifies the message within the respective mailbox. No two messages in a mailbox share
|
|
the same UID.</remarks>
|
|
<example>
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Find all messages in the mailbox that were sent from "John.Doe@gmail.com".
|
|
IEnumerable<uint> uids = Client.Search( SearchCondition.From("John.Doe@gmail.com") );
|
|
|
|
// Fetch the first message and print it's subject and body.
|
|
if(uids.Count() > 0) {
|
|
MailMessage msg = Client.GetMessage(uids.First());
|
|
|
|
Console.WriteLine("Subject: " + msg.Subject);
|
|
Console.WriteLine("Body: " + msg.Body);
|
|
}
|
|
|
|
Client.Dispose();
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetMessage(System.UInt32,S22.Imap.FetchOptions,System.Boolean,System.String)">
|
|
<summary>
|
|
Retrieves the mail message with the specified unique identifier (UID) using the specified
|
|
fetch-option.
|
|
</summary>
|
|
<param name="uid">The unique identifier of the mail message to retrieve.</param>
|
|
<param name="options">A value from the FetchOptions enumeration which allows
|
|
for fetching selective parts of a mail message.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for this message on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the message will be retrieved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>An initialized instance of the MailMessage class representing the fetched mail
|
|
message.</returns>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message could not be fetched. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>A unique identifier (UID) is a 32-bit value assigned to each message which uniquely
|
|
identifies the message within the respective mailbox. No two messages in a mailbox share
|
|
the same UID.
|
|
<para>If you need more fine-grained control over which parts of a mail message to fetch,
|
|
consider using one of the overloaded GetMessage methods.
|
|
</para>
|
|
</remarks>
|
|
<example>
|
|
This example demonstrates how to fetch only the mail message headers of
|
|
a mail message, instead of the entire message.
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Find all messages in the mailbox that have "Hello" in the subject.
|
|
IEnumerable<uint> uids = Client.Search( SearchCondition.Subject("Hello") );
|
|
|
|
// Fetch the mail headers of the first message and print it's subject line.
|
|
if(uids.Count() > 0) {
|
|
MailMessage msg = Client.GetMessage(uids.First(), FetchOptions.HeadersOnly);
|
|
|
|
Console.WriteLine("Subject: " + msg.Subject);
|
|
}
|
|
|
|
Client.Dispose();
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetMessage(System.UInt32,S22.Imap.ExaminePartDelegate,System.Boolean,System.String)">
|
|
<summary>
|
|
Retrieves the mail message with the specified unique identifier (UID) while only fetching
|
|
those parts of the message that satisfy the condition of the specified delegate.
|
|
</summary>
|
|
<param name="uid">The unique identifier of the mail message to retrieve.</param>
|
|
<param name="callback">A delegate which will be invoked for every MIME body-part of the
|
|
mail message to determine whether the part should be fetched from the server or
|
|
skipped.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for this message on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the message will be retrieved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>An initialized instance of the MailMessage class representing the fetched mail
|
|
message.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The callback parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message could not be fetched. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>A unique identifier (UID) is a 32-bit value assigned to each message which uniquely
|
|
identifies the message within the respective mailbox. No two messages in a mailbox share
|
|
the same UID.</remarks>
|
|
<example>
|
|
This example demonstrates how to use the ExaminePartDelegate with the GetMessage
|
|
method to only download message parts with a size of 1 Megabyte or less.
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Find all messages in the inbox.
|
|
IEnumerable<uint> uids = Client.Search( SearchCondition.All() );
|
|
|
|
// Download each message but skip message parts that are larger than 1 Megabyte.
|
|
foreach(uint uid in uids) {
|
|
MailMessage msg = Client.GetMessage(uid, (Bodypart part) => {
|
|
if(part.Size > (1024 * 1024))
|
|
return false;
|
|
else
|
|
return true;
|
|
}
|
|
);
|
|
}
|
|
|
|
Client.Dispose();
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetMessages(System.Collections.Generic.IEnumerable{System.UInt32},System.Boolean,System.String)">
|
|
<summary>
|
|
Retrieves the set of mail messages with the specified unique identifiers (UIDs).
|
|
</summary>
|
|
<param name="uids">An enumerable collection of unique identifiers of the mail messages to
|
|
retrieve.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for the fetched messages on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the messages will be retrieved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>An enumerable collection of initialized instances of the MailMessage class
|
|
representing the fetched mail messages.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The uids parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail messages could not be fetched. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>A unique identifier (UID) is a 32-bit value assigned to each message which uniquely
|
|
identifies the message within the respective mailbox. No two messages in a mailbox share
|
|
the same UID.</remarks>
|
|
<example>
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Find all messages that have been sent since June the 1st.
|
|
IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) );
|
|
|
|
// Fetch the messages and print out their subject lines.
|
|
IEnumerable<MailMessage> messages = Client.GetMessages( uids );
|
|
|
|
foreach(MailMessage m in messages)
|
|
Console.WriteLine("Subject: " + m.Subject);
|
|
|
|
Client.Dispose();
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetMessages(System.Collections.Generic.IEnumerable{System.UInt32},S22.Imap.ExaminePartDelegate,System.Boolean,System.String)">
|
|
<summary>
|
|
Retrieves the set of mail messages with the specified unique identifiers (UIDs) while only
|
|
fetching those parts of the messages that satisfy the condition of the specified delegate.
|
|
</summary>
|
|
<param name="uids">An enumerable collection of unique identifiers of the mail messages to
|
|
retrieve.</param>
|
|
<param name="callback">A delegate which will be invoked for every MIME body-part of each
|
|
mail message to determine whether the part should be fetched from the server or
|
|
skipped.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for the fetched messages on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the messages will be retrieved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>An enumerable collection of initialized instances of the MailMessage class
|
|
representing the fetched mail messages.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The uids parameter or the callback parameter is
|
|
null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail messages could not be fetched. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>A unique identifier (UID) is a 32-bit value assigned to each message which uniquely
|
|
identifies the message within the respective mailbox. No two messages in a mailbox share
|
|
the same UID.</remarks>
|
|
<!-- No matching elements were found for the following include tag --><include file="Examples.xml" path="S22/Imap/ImapClient[@name="GetMessages-3"]/*"/>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetMessages(System.Collections.Generic.IEnumerable{System.UInt32},S22.Imap.FetchOptions,System.Boolean,System.String)">
|
|
<summary>
|
|
Retrieves the set of mail messages with the specified unique identifiers (UIDs) using the
|
|
specified fetch-option.
|
|
</summary>
|
|
<param name="uids">An enumerable collection of unique identifiers of the mail messages to
|
|
retrieve.</param>
|
|
<param name="options">A value from the FetchOptions enumeration which allows for fetching
|
|
selective parts of a mail message.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for the fetched messages on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the messages will be retrieved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>An enumerable collection of initialized instances of the MailMessage class
|
|
representing the fetched mail messages.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The uids parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail messages could not be fetched. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>A unique identifier (UID) is a 32-bit value assigned to each message which uniquely
|
|
identifies the message within the respective mailbox. No two messages in a mailbox share
|
|
the same UID.</remarks>
|
|
<example>
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Find all messages that have been sent since June the 1st.
|
|
IEnumerable<uint> uids = Client.Search( SearchCondition.SentSince( new DateTime(2012, 6, 1) ) );
|
|
|
|
// Retrieve the messages and print out their subject lines. If any of the messages are multipart
|
|
// messages, only those parts, that have a content-type of text will be fetched.
|
|
IEnumerable<MailMessage> messages = Client.GetMessages( uids, FetchOptions.TextOnly );
|
|
|
|
foreach(MailMessage m in messages)
|
|
Console.WriteLine("Subject: " + m.Subject);
|
|
|
|
Client.Dispose();
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.StoreMessage(System.Net.Mail.MailMessage,System.Boolean,System.String)">
|
|
<summary>
|
|
Stores the specified mail message on the IMAP server.
|
|
</summary>
|
|
<param name="message">The mail message to store on the server.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for the message on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the message will be stored in. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to store
|
|
the message in.</param>
|
|
<returns>The unique identifier (UID) of the stored message.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The message parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message could not be stored. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>A unique identifier (UID) is a 32-bit value assigned to each message which uniquely
|
|
identifies the message within the respective mailbox. No two messages in a mailbox share
|
|
the same UID.</remarks>
|
|
<seealso cref="M:S22.Imap.ImapClient.StoreMessages(System.Collections.Generic.IEnumerable{System.Net.Mail.MailMessage},System.Boolean,System.String)"/>
|
|
<example>
|
|
This example demonstrates how to store a mail message on an IMAP server.
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
MailMessage message = CreateSimpleMailMessage();
|
|
uint uid = Client.StoreMessage(message);
|
|
|
|
Console.WriteLine("The UID of the stored mail message is " + uid);
|
|
|
|
Client.Dispose();
|
|
|
|
// ...........
|
|
|
|
// This creates a simple mail message with a text/plain body and a PNG image
|
|
// as a file attachment.
|
|
// Consult the MSDN website for more details on the System.Net.Mail.Mailmessage class.
|
|
static MailMessage CreateSimpleMailMessage() {
|
|
MailMessage message = new MailMessage();
|
|
|
|
message.From = new MailAddress("someone@someplace.com");
|
|
message.To.Add("john.doe@someplace.com");
|
|
|
|
message.Subject = "This is just a test!";
|
|
message.Body = "This is the text/plain body. An additional HTML body " +
|
|
"can optionally be attached as an alternate view";
|
|
|
|
// Add the attachment.
|
|
Attachment attachment = new Attachment("some_image.png", "image/png");
|
|
attachment.Name = "my_attached_image.png";
|
|
message.Attachments.Add(attachment);
|
|
|
|
return message;
|
|
}
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.StoreMessages(System.Collections.Generic.IEnumerable{System.Net.Mail.MailMessage},System.Boolean,System.String)">
|
|
<summary>
|
|
Stores the specified mail messages on the IMAP server.
|
|
</summary>
|
|
<param name="messages">An enumerable collection of mail messages to store on the
|
|
server.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for each message on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the messages will be stored in. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to store
|
|
the messages in.</param>
|
|
<returns>An enumerable collection of unique identifiers (UID) representing the stored
|
|
messages on the server.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The messages parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail messages could not be stored. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>A unique identifier (UID) is a 32-bit value assigned to each message which uniquely
|
|
identifies the message within the respective mailbox. No two messages in a mailbox share
|
|
the same UID.</remarks>
|
|
<seealso cref="M:S22.Imap.ImapClient.StoreMessage(System.Net.Mail.MailMessage,System.Boolean,System.String)"/>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetMailHeader(System.UInt32,System.Boolean,System.String)">
|
|
<summary>
|
|
Retrieves the mail header for the mail message with the specified unique identifier (UID).
|
|
</summary>
|
|
<param name="uid">The UID of the mail message to retrieve the mail header for.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for the fetched messages on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the messages will be retrieved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>A string containing the raw mail header of the mail message with the specified
|
|
UID.</returns>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail header could not be fetched. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetBodystructure(System.UInt32,System.String)">
|
|
<summary>
|
|
Retrieves the body structure for the mail message with the specified unique identifier (UID).
|
|
</summary>
|
|
<param name="uid">The UID of the mail message to retrieve the body structure for.</param>
|
|
<param name="mailbox">The mailbox the messages will be retrieved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>A string containing the raw body structure of the mail message with the specified
|
|
UID.</returns>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The body structure could not be fetched. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>A body structure is a textual description of the layout of a mail message. It is
|
|
described in some detail in RFC 3501 under 7.4.2 FETCH response.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetBodypart(System.UInt32,System.String,System.Boolean,System.String)">
|
|
<summary>
|
|
Retrieves the MIME body-part with the specified part number of the multipart message with
|
|
the specified unique identifier (UID).
|
|
</summary>
|
|
<param name="uid">The UID of the mail message to retrieve a MIME body part for.</param>
|
|
<param name="partNumber">The part number of the body part to fetch.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for the fetched messages on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the messages will be retrieved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>A string containing the specified body part of the mail message with the specified
|
|
UID.</returns>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The body part could not be fetched. The message
|
|
property of the exception contains the error message returned by the server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetMessageData(System.UInt32,System.Boolean,System.String)">
|
|
<summary>
|
|
Retrieves the raw MIME/RFC822 mail message data for the mail message with the specified UID.
|
|
</summary>
|
|
<param name="uid">The UID of the mail message to retrieve as a MIME/RFC822 string.</param>
|
|
<param name="seen">Set this to true to set the \Seen flag for the fetched message on the
|
|
server.</param>
|
|
<param name="mailbox">The mailbox the message will be retrieved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>A string containing the raw MIME/RFC822 data of the mail message with the
|
|
specified UID.</returns>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message data could not be fetched.
|
|
The message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetHighestUID(System.String)">
|
|
<summary>
|
|
Retrieves the highest UID in the specified mailbox.
|
|
</summary>
|
|
<param name="mailbox">The mailbox to find the highest UID for. If this parameter is null,
|
|
the value of the DefaultMailbox property is used to determine the mailbox to operate
|
|
on.</param>
|
|
<returns>The highest unique identifier value (UID) in the mailbox.</returns>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The UID could not be determined. The message
|
|
property of the exception contains the error message returned by the server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>The highest UID usually corresponds to the newest message in a mailbox.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.CopyMessage(System.UInt32,System.String,System.String)">
|
|
<summary>
|
|
Copies the mail message with the specified UID to the specified destination mailbox.
|
|
</summary>
|
|
<param name="uid">The UID of the mail message to copy.</param>
|
|
<param name="destination">The name of the mailbox to copy the message to.</param>
|
|
<param name="mailbox">The mailbox the message will be copied from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<exception cref="T:System.ArgumentNullException">The destination parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message could not be copied to the
|
|
specified destination. The message property of the exception contains the error message
|
|
returned by the server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<seealso cref="M:S22.Imap.ImapClient.MoveMessage(System.UInt32,System.String,System.String)"/>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.CopyMessages(System.Collections.Generic.IEnumerable{System.UInt32},System.String,System.String)">
|
|
<summary>
|
|
Copies the mail messages with the specified UIDs to the specified destination mailbox.
|
|
</summary>
|
|
<param name="uids">An enumerable collection of UIDs of the mail messages to copy.</param>
|
|
<param name="destination">The name of the mailbox to copy the messages to.</param>
|
|
<param name="mailbox">The mailbox the message will be copied from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<remarks>When copying many messages, this method is more efficient than calling
|
|
<see cref="M:S22.Imap.ImapClient.CopyMessage(System.UInt32,System.String,System.String)"/> for each individual message.</remarks>
|
|
<exception cref="T:System.ArgumentNullException">The uids parameter or the destination parameter is
|
|
null.</exception>
|
|
<exception cref="T:System.ArgumentException">The specified collection of UIDs is empty.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail messages could not be copied to the
|
|
specified destination. The message property of the exception contains the error message
|
|
returned by the server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<seealso cref="M:S22.Imap.ImapClient.MoveMessages(System.Collections.Generic.IEnumerable{System.UInt32},System.String,System.String)"/>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.MoveMessage(System.UInt32,System.String,System.String)">
|
|
<summary>
|
|
Moves the mail message with the specified UID to the specified destination mailbox.
|
|
</summary>
|
|
<param name="uid">The UID of the mail message to move.</param>
|
|
<param name="destination">The name of the mailbox to move the message into.</param>
|
|
<param name="mailbox">The mailbox the message will be moved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<exception cref="T:System.ArgumentNullException">The destination parameter is null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message could not be moved to the
|
|
specified destination. The message property of the exception contains the error message
|
|
returned by the server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<seealso cref="M:S22.Imap.ImapClient.CopyMessage(System.UInt32,System.String,System.String)"/>
|
|
<seealso cref="M:S22.Imap.ImapClient.DeleteMessage(System.UInt32,System.String)"/>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.MoveMessages(System.Collections.Generic.IEnumerable{System.UInt32},System.String,System.String)">
|
|
<summary>
|
|
Moves the mail messages with the specified UIDs to the specified destination mailbox.
|
|
</summary>
|
|
<param name="uids">An enumerable collection of UIDs of the mail messages to move.</param>
|
|
<param name="destination">The name of the mailbox to move the messages into.</param>
|
|
<param name="mailbox">The mailbox the messages will be moved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<remarks>When moving many messages, this method is more efficient than calling
|
|
<see cref="M:S22.Imap.ImapClient.MoveMessage(System.UInt32,System.String,System.String)"/> for each individual message.</remarks>
|
|
<exception cref="T:System.ArgumentNullException">The uids parameter or the destination parameter is
|
|
null.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail messages could not be moved to the
|
|
specified destination. The message property of the exception contains the error message
|
|
returned by the server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<seealso cref="M:S22.Imap.ImapClient.CopyMessages(System.Collections.Generic.IEnumerable{System.UInt32},System.String,System.String)"/>
|
|
<seealso cref="M:S22.Imap.ImapClient.DeleteMessages(System.Collections.Generic.IEnumerable{System.UInt32},System.String)"/>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.DeleteMessage(System.UInt32,System.String)">
|
|
<summary>
|
|
Deletes the mail message with the specified UID.
|
|
</summary>
|
|
<param name="uid">The UID of the mail message to delete.</param>
|
|
<param name="mailbox">The mailbox the message will be deleted from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message could not be deleted. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<seealso cref="M:S22.Imap.ImapClient.MoveMessage(System.UInt32,System.String,System.String)"/>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.DeleteMessages(System.Collections.Generic.IEnumerable{System.UInt32},System.String)">
|
|
<summary>
|
|
Deletes the mail messages with the specified UIDs.
|
|
</summary>
|
|
<param name="uids">An enumerable collection of UIDs of the mail messages to delete.</param>
|
|
<param name="mailbox">The mailbox the messages will be deleted from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<remarks>When deleting many messages, this method is more efficient than calling
|
|
<see cref="M:S22.Imap.ImapClient.DeleteMessage(System.UInt32,System.String)"/> for each individual message.</remarks>
|
|
<exception cref="T:System.ArgumentNullException">The uids parameter is null.</exception>
|
|
<exception cref="T:System.ArgumentException">The specified collection of UIDs is empty.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail messages could not be deleted. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<seealso cref="M:S22.Imap.ImapClient.MoveMessages(System.Collections.Generic.IEnumerable{System.UInt32},System.String,System.String)"/>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetMessageFlags(System.UInt32,System.String)">
|
|
<summary>
|
|
Retrieves the IMAP message flag attributes for the mail message with the specified unique
|
|
identifier (UID).
|
|
</summary>
|
|
<param name="uid">The UID of the mail message to retrieve the flag attributes for.</param>
|
|
<param name="mailbox">The mailbox the message will be retrieved from. If this parameter is
|
|
omitted, the value of the DefaultMailbox property is used to determine the mailbox to
|
|
operate on.</param>
|
|
<returns>An enumerable collection of message flags set for the message with the specified
|
|
UID.</returns>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message flags could not be retrieved.
|
|
The message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<seealso cref="M:S22.Imap.ImapClient.SetMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
<seealso cref="M:S22.Imap.ImapClient.AddMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
<seealso cref="M:S22.Imap.ImapClient.RemoveMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.SetMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])">
|
|
<summary>
|
|
Sets the IMAP message flag attributes for the mail message with the specified unique
|
|
identifier (UID).
|
|
</summary>
|
|
<param name="uid">The UID of the mail message to set the flag attributes for.</param>
|
|
<param name="mailbox">The mailbox that contains the mail message. If this parameter is null,
|
|
the value of the DefaultMailbox property is used to determine the mailbox to operate
|
|
on.</param>
|
|
<param name="flags">One or multiple message flags from the MessageFlag enumeration.</param>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message flags could not be set. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>This method replaces the current flag attributes of the message with the specified
|
|
new flags. If you wish to retain the old attributes, use the <see cref="M:S22.Imap.ImapClient.AddMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
method instead.</remarks>
|
|
<seealso cref="M:S22.Imap.ImapClient.GetMessageFlags(System.UInt32,System.String)"/>
|
|
<seealso cref="M:S22.Imap.ImapClient.AddMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
<seealso cref="M:S22.Imap.ImapClient.RemoveMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.AddMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])">
|
|
<summary>
|
|
Adds the specified set of IMAP message flags to the existing flag attributes of the mail
|
|
message with the specified unique identifier (UID).
|
|
</summary>
|
|
<param name="uid">The UID of the mail message to add the flag attributes to.</param>
|
|
<param name="mailbox">The mailbox that contains the mail message. If this parameter is null,
|
|
the value of the DefaultMailbox property is used to determine the mailbox to operate
|
|
on.</param>
|
|
<param name="flags">One or multiple message flags from the MessageFlag enumeration.</param>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message flags could not be added. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>This method adds the specified set of flags to the existing set of flag attributes
|
|
of the message. If you wish to replace the old attributes, use the
|
|
<see cref="M:S22.Imap.ImapClient.SetMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/> method instead.</remarks>
|
|
<seealso cref="M:S22.Imap.ImapClient.GetMessageFlags(System.UInt32,System.String)"/>
|
|
<seealso cref="M:S22.Imap.ImapClient.SetMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
<seealso cref="M:S22.Imap.ImapClient.RemoveMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.RemoveMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])">
|
|
<summary>
|
|
Removes the specified set of IMAP message flags from the existing flag attributes of the
|
|
mail message with the specified unique identifier (UID).
|
|
</summary>
|
|
<param name="uid">The UID of the mail message to remove the flag attributes for.</param>
|
|
<param name="mailbox">The mailbox that contains the mail message. If this parameter is null,
|
|
the value of the DefaultMailbox property is used to determine the mailbox to operate
|
|
on.</param>
|
|
<param name="flags">One or multiple message flags from the MessageFlag enumeration.</param>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The mail message flags could not be removed.
|
|
The message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>This method removes the specified set of flags from the existing set of flag
|
|
attributes of the message. If you wish to replace the old attributes, use the
|
|
<see cref="M:S22.Imap.ImapClient.SetMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/> method instead.</remarks>
|
|
<seealso cref="M:S22.Imap.ImapClient.GetMessageFlags(System.UInt32,System.String)"/>
|
|
<seealso cref="M:S22.Imap.ImapClient.SetMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
<seealso cref="M:S22.Imap.ImapClient.AddMessageFlags(System.UInt32,System.String,S22.Imap.MessageFlag[])"/>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.StartIdling">
|
|
<summary>
|
|
Starts receiving of IMAP IDLE notifications from the IMAP server.
|
|
</summary>
|
|
<exception cref="T:System.ApplicationException">An unexpected program condition occured.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The IDLE operation could not be completed. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.InvalidOperationException">The server does not support the IMAP4 IDLE
|
|
command.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>Calling this method when already receiving idle notifications has no
|
|
effect.</remarks>
|
|
<seealso cref="M:S22.Imap.ImapClient.StopIdling"/>
|
|
<seealso cref="M:S22.Imap.ImapClient.PauseIdling"/>
|
|
<seealso cref="M:S22.Imap.ImapClient.ResumeIdling"/>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.StopIdling">
|
|
<summary>
|
|
Stops receiving IMAP IDLE notifications from the IMAP server.
|
|
</summary>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The IDLE operation could not be completed. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.InvalidOperationException">The server does not support the IMAP4 IDLE
|
|
command.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>Calling this method when not receiving idle notifications has no effect.</remarks>
|
|
<seealso cref="M:S22.Imap.ImapClient.StartIdling"/>
|
|
<seealso cref="M:S22.Imap.ImapClient.PauseIdling"/>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.PauseIdling">
|
|
<summary>
|
|
Temporarily pauses receiving IMAP IDLE notifications from the IMAP server.
|
|
</summary>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The IDLE operation could not be completed. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.InvalidOperationException">The server does not support the IMAP4 IDLE
|
|
command.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<remarks>To resume receiving IDLE notifications ResumeIdling must be called.
|
|
</remarks>
|
|
<seealso cref="M:S22.Imap.ImapClient.StartIdling"/>
|
|
<seealso cref="M:S22.Imap.ImapClient.ResumeIdling"/>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.ResumeIdling">
|
|
<summary>
|
|
Resumes receiving IMAP IDLE notifications from the IMAP server.
|
|
</summary>
|
|
<exception cref="T:System.ApplicationException">An unexpected program condition occured.</exception>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The IDLE operation could not be completed. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.InvalidOperationException">The server does not support the IMAP4 IDLE
|
|
command.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
<seealso cref="M:S22.Imap.ImapClient.StopIdling"/>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.IdleLoop">
|
|
<summary>
|
|
The main idle loop. Waits for incoming IMAP IDLE notifications and dispatches
|
|
them as events. This runs in its own thread whenever IMAP IDLE
|
|
notifications are being received.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.EventDispatcher">
|
|
<summary>
|
|
Blocks on a queue and wakes up whenever a new notification is put into the queue. The
|
|
notification is then examined and dispatched as an event.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.IssueNoop(System.Object,System.Timers.ElapsedEventArgs)">
|
|
<summary>
|
|
Issues a NOOP command to the IMAP server. Called in the context of a System.Timer event
|
|
when IDLE notifications are being received.
|
|
</summary>
|
|
<remarks>This is needed by the IMAP IDLE mechanism to give the server an indication that the
|
|
connection is still active.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.GetQuota(System.String)">
|
|
<summary>
|
|
Retrieves IMAP QUOTA information for the specified mailbox.
|
|
</summary>
|
|
<param name="mailbox">The mailbox to retrieve QUOTA information for. If this parameter is
|
|
null, the value of the DefaultMailbox property is used to determine the mailbox to operate
|
|
on.</param>
|
|
<returns>An enumerable collection of MailboxQuota objects describing usage and limits of the
|
|
quota roots for the mailbox.</returns>
|
|
<exception cref="T:S22.Imap.BadServerResponseException">The quota operation could not be completed. The
|
|
message property of the exception contains the error message returned by the
|
|
server.</exception>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been disposed.</exception>
|
|
<exception cref="T:System.IO.IOException">There was a failure writing to or reading from the
|
|
network.</exception>
|
|
<exception cref="T:System.InvalidOperationException">The IMAP4 QUOTA extension is not supported by
|
|
the server.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.Dispose">
|
|
<summary>
|
|
Releases all resources used by the current instance of the ImapClient class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.Dispose(System.Boolean)">
|
|
<summary>
|
|
Releases all resources used by the current instance of the ImapClient class, optionally
|
|
disposing of managed resource.
|
|
</summary>
|
|
<param name="disposing">true to dispose of managed resources, otherwise false.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.ImapClient.AssertValid(System.Boolean)">
|
|
<summary>
|
|
Asserts the instance has not been disposed of and is in a valid state.
|
|
</summary>
|
|
<exception cref="T:System.ObjectDisposedException">The ImapClient object has been
|
|
disposed.</exception>
|
|
<exception cref="T:S22.Imap.NotAuthenticatedException">The method was called in non-authenticated
|
|
state, i.e. before logging in.</exception>
|
|
</member>
|
|
<member name="P:S22.Imap.ImapClient.DefaultMailbox">
|
|
<summary>
|
|
The default mailbox to operate on.
|
|
</summary>
|
|
<exception cref="T:System.ArgumentNullException">The property is being set and the value is
|
|
null.</exception>
|
|
<exception cref="T:System.ArgumentException">The property is being set and the value is the empty
|
|
string.</exception>
|
|
<remarks>The default value for this property is "INBOX" which is a special name reserved
|
|
to mean "the primary mailbox for this user on this server".</remarks>
|
|
</member>
|
|
<member name="P:S22.Imap.ImapClient.Authed">
|
|
<summary>
|
|
Determines whether the client is authenticated with the server.
|
|
</summary>
|
|
</member>
|
|
<member name="E:S22.Imap.ImapClient.NewMessage">
|
|
<summary>
|
|
The event that is raised when a new mail message has been received by the server.
|
|
</summary>
|
|
<remarks>To probe a server for IMAP IDLE support, the <see cref="M:S22.Imap.ImapClient.Supports(System.String)"/>
|
|
method can be used, specifying "IDLE" for the capability parameter.
|
|
|
|
Please note that the event handler will be executed on a threadpool thread.
|
|
</remarks>
|
|
<example>
|
|
This example demonstrates how to receive IMAP IDLE notifications.
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Make sure our server actually supports IMAP IDLE.
|
|
if(!Client.Supports("IDLE"))
|
|
throw new Exception("This server does not support IMAP IDLE");
|
|
|
|
// Our event handler will be called whenever a new message is received
|
|
// by the server.
|
|
Client.NewMessage += new EventHandler<IdleMessageEventArgs>(OnNewMessage);
|
|
|
|
// .........
|
|
|
|
Client.Dispose();
|
|
|
|
// ........
|
|
|
|
void OnNewMessage(object sender, IdleMessageEventArgs e) {
|
|
Console.WriteLine("Received a new message!");
|
|
Console.WriteLine("Total number of messages in the mailbox: " +
|
|
e.MessageCount);
|
|
}
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="E:S22.Imap.ImapClient.MessageDeleted">
|
|
<summary>
|
|
The event that is raised when a message has been deleted on the server.
|
|
</summary>
|
|
<remarks>To probe a server for IMAP IDLE support, the <see cref="M:S22.Imap.ImapClient.Supports(System.String)"/>
|
|
method can be used, specifying "IDLE" for the capability parameter.
|
|
|
|
Please note that the event handler will be executed on a threadpool thread.
|
|
</remarks>
|
|
<example>
|
|
This example demonstrates how to receive IMAP IDLE notifications.
|
|
<code>
|
|
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_UsernamMe",
|
|
"My_Password", true, AuthMethod.Login);
|
|
|
|
// Make sure our server actually supports IMAP IDLE.
|
|
if(!Client.Supports("IDLE"))
|
|
throw new Exception("This server does not support IMAP IDLE");
|
|
|
|
// Our event handler will be called whenever a message is deleted on the server.
|
|
Client.MessageDeleted += new EventHandler<IdleMessageEventArgs>(OnMessageDeleted);
|
|
|
|
// .........
|
|
|
|
// Don't forget to dispose the client once you're done with it.
|
|
Client.Dispose();
|
|
|
|
// ........
|
|
|
|
void OnMessageDeleted(object sender, IdleMessageEventArgs e) {
|
|
Console.WriteLine("A mail message was deleted on the server!");
|
|
Console.WriteLine("Total number of mail messages in the mailbox: " +
|
|
e.MessageCount);
|
|
}
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="E:S22.Imap.ImapClient.IdleError">
|
|
<summary>
|
|
The event that is raised when an I/O exception occurs in the idle-thread.
|
|
</summary>
|
|
<remarks>
|
|
An I/O exception can occur if the underlying network connection has been reset or the
|
|
server unexpectedly closed the connection.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:S22.Imap.ExaminePartDelegate">
|
|
<summary>
|
|
A delegate which is invoked during a call to GetMessage or GetMessages for every MIME part in
|
|
a multipart mail message. The delegate can examine the MIME body part and decide to either
|
|
include it in the returned mail message or dismiss it.
|
|
</summary>
|
|
<param name="part">A MIME body part of a mail message which consists of multiple parts.</param>
|
|
<returns>true to include the body part in the returned MailMessage object, or false to skip
|
|
it.</returns>
|
|
</member>
|
|
<member name="T:S22.Imap.BadServerResponseException">
|
|
<summary>
|
|
The exception that is thrown when an unexpected response is received from the server.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.BadServerResponseException.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the BadServerResponseException class
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.BadServerResponseException.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the BadServerResponseException class with its message
|
|
string set to <paramref name="message"/>.
|
|
</summary>
|
|
<param name="message">A description of the error. The content of message is intended
|
|
to be understood by humans.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.BadServerResponseException.#ctor(System.String,System.Exception)">
|
|
<summary>
|
|
Initializes a new instance of the BadServerResponseException class with its message
|
|
string set to <paramref name="message"/> and a reference to the inner exception that
|
|
is the cause of this exception.
|
|
</summary>
|
|
<param name="message">A description of the error. The content of message is intended
|
|
to be understood by humans.</param>
|
|
<param name="inner">The exception that is the cause of the current exception.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.BadServerResponseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
|
|
<summary>
|
|
Initializes a new instance of the BadServerResponseException class with the specified
|
|
serialization and context information.
|
|
</summary>
|
|
<param name="info">An object that holds the serialized object data about the exception
|
|
being thrown. </param>
|
|
<param name="context">An object that contains contextual information about the source
|
|
or destination. </param>
|
|
</member>
|
|
<member name="T:S22.Imap.InvalidCredentialsException">
|
|
<summary>
|
|
The exception that is thrown when the supplied credentials were rejected by the server.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.InvalidCredentialsException.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the InvalidCredentialsException class
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.InvalidCredentialsException.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the InvalidCredentialsException class with its message
|
|
string set to <paramref name="message"/>.
|
|
</summary>
|
|
<param name="message">A description of the error. The content of message is intended
|
|
to be understood by humans.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.InvalidCredentialsException.#ctor(System.String,System.Exception)">
|
|
<summary>
|
|
Initializes a new instance of the InvalidCredentialsException class with its message
|
|
string set to <paramref name="message"/> and a reference to the inner exception that
|
|
is the cause of this exception.
|
|
</summary>
|
|
<param name="message">A description of the error. The content of message is intended
|
|
to be understood by humans.</param>
|
|
<param name="inner">The exception that is the cause of the current exception.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.InvalidCredentialsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
|
|
<summary>
|
|
Initializes a new instance of the InvalidCredentialsException class with the specified
|
|
serialization and context information.
|
|
</summary>
|
|
<param name="info">An object that holds the serialized object data about the exception
|
|
being thrown. </param>
|
|
<param name="context">An object that contains contextual information about the source
|
|
or destination. </param>
|
|
</member>
|
|
<member name="T:S22.Imap.NotAuthenticatedException">
|
|
<summary>
|
|
The exception that is thrown when a client has not authenticated with the server and
|
|
attempts to call a method which can only be called when authenticated.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.NotAuthenticatedException.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the NotAuthenticatedException class
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.NotAuthenticatedException.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the NotAuthenticatedException class with its message
|
|
string set to <paramref name="message"/>.
|
|
</summary>
|
|
<param name="message">A description of the error. The content of message is intended
|
|
to be understood by humans.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.NotAuthenticatedException.#ctor(System.String,System.Exception)">
|
|
<summary>
|
|
Initializes a new instance of the NotAuthenticatedException class with its message
|
|
string set to <paramref name="message"/> and a reference to the inner exception that
|
|
is the cause of this exception.
|
|
</summary>
|
|
<param name="message">A description of the error. The content of message is intended
|
|
to be understood by humans.</param>
|
|
<param name="inner">The exception that is the cause of the current exception.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.NotAuthenticatedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
|
|
<summary>
|
|
Initializes a new instance of the NotAuthenticatedException class with the specified
|
|
serialization and context information.
|
|
</summary>
|
|
<param name="info">An object that holds the serialized object data about the exception
|
|
being thrown. </param>
|
|
<param name="context">An object that contains contextual information about the source
|
|
or destination. </param>
|
|
</member>
|
|
<member name="T:S22.Imap.MailboxInfo">
|
|
<summary>
|
|
Provides access to status information such as the total number of messages and quota
|
|
information for a mailbox.
|
|
</summary>
|
|
<remarks>
|
|
The terms "mailbox" and "folder" can be used interchangeably and refer to the IMAP concept of
|
|
multiple server-side directories into which messages can be stored (such as "Inbox",
|
|
"Sent Items", "Trash", etc.).
|
|
</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.MailboxInfo.#ctor(System.String,System.Collections.Generic.IEnumerable{S22.Imap.MailboxFlag},System.Int32,System.Int32,System.UInt32,System.UInt64,System.UInt64)">
|
|
<summary>
|
|
Initializes a new instance of the MailboxInfo class with the specified values.
|
|
</summary>
|
|
<param name="Name">The IMAP name of the mailbox.</param>
|
|
<param name="Flags">The IMAP flags set on this mailbox.</param>
|
|
<param name="Messages">The number of messages in the mailbox.</param>
|
|
<param name="Unread">The number of unread messages in the mailbox.</param>
|
|
<param name="NextUID">The next unique identifier (UID) of the mailbox.</param>
|
|
<param name="UsedStorage">The amount of used storage of the mailbox, in bytes.</param>
|
|
<param name="FreeStorage">The amount of free storage of the mailbox, in bytes.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.MailboxInfo.ToString">
|
|
<summary>
|
|
Returns the name of the mailbox.
|
|
</summary>
|
|
<returns>The name of the mailbox</returns>
|
|
</member>
|
|
<member name="P:S22.Imap.MailboxInfo.Name">
|
|
<summary>
|
|
The name of the mailbox.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.MailboxInfo.Flags">
|
|
<summary>
|
|
An enumerable collection of flags set on the mailbox.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.MailboxInfo.Messages">
|
|
<summary>
|
|
The total number of messages in the mailbox.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.MailboxInfo.Unread">
|
|
<summary>
|
|
The number of unread (unseen) messages in the mailbox.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.MailboxInfo.NextUID">
|
|
<summary>
|
|
The next unique identifier value of the mailbox.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.MailboxInfo.UsedStorage">
|
|
<summary>
|
|
The amount of used storage in the mailbox, measured in bytes.
|
|
</summary>
|
|
<remarks>Not all IMAP servers support the retrieval of quota information. If it is not
|
|
possible to retrieve the amount of used storage, this property will be 0.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:S22.Imap.MailboxInfo.FreeStorage">
|
|
<summary>
|
|
The amount of free storage in the mailbox, measured in bytes.
|
|
</summary>
|
|
<remarks>Not all IMAP servers support the retrieval of quota information. If it is not
|
|
possible to retrieve the amount of free storage, this property will be 0.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:S22.Imap.MailboxFlag">
|
|
<summary>
|
|
Defines possible attributes for mailboxes.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
An IMAP mailbox can have a number of flags (read: attributes) set on it, indicating its
|
|
designated purpose (such as "Spam" or "Drafts").
|
|
</para>
|
|
<para>
|
|
This is especially convenient when dealing with international mailbox names, because, by
|
|
examining the associated flags, the mailbox purpose can be determined, even if the mailbox
|
|
name provides no useful indication.
|
|
</para>
|
|
<para>
|
|
Unfortunately, as with many things IMAP, reporting the flags described here is an optional
|
|
extension (XLIST) to the IMAP protocol and as such may or may not be supported by an IMAP
|
|
server.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="F:S22.Imap.MailboxFlag.AllMail">
|
|
<summary>
|
|
The mailbox presents a view on all messages in the user's message store.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.MailboxFlag.Archive">
|
|
<summary>
|
|
The mailbox is used to archive messages. The meaning of an "archival" mailbox is server
|
|
dependent.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.MailboxFlag.Drafts">
|
|
<summary>
|
|
The mailbox is used to hold draft messages, typically these are messages that are being
|
|
composed but have not yet been sent.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.MailboxFlag.Sent">
|
|
<summary>
|
|
The mailbox is used to hold copies of messages that have been sent.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.MailboxFlag.Spam">
|
|
<summary>
|
|
The mailbox is where messages deemed to be junk mail (spam) are held.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.MailboxFlag.Trash">
|
|
<summary>
|
|
The mailbox is used to hold messages that have been deleted or marked for deletion.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.MailboxQuota">
|
|
<summary>
|
|
Represents an IMAP QUOTA entry for a resource which typically consists of a resource name,
|
|
the current usage of the resource, and the resource limit.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.MailboxQuota.#ctor(System.String,System.UInt32,System.UInt32)">
|
|
<summary>
|
|
Initializes a new instance of the MailboxQuota class with the specified values.
|
|
</summary>
|
|
<param name="Name">The name of the resource this MailboxQuota instance describes.</param>
|
|
<param name="Usage">The current usage of the resource in units of 1024 bytes.</param>
|
|
<param name="Limit">The limit of the resource in units of 1024 bytes.</param>
|
|
</member>
|
|
<member name="P:S22.Imap.MailboxQuota.ResourceName">
|
|
<summary>
|
|
The name of the resource this MailboxQuota instance describes.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.MailboxQuota.Usage">
|
|
<summary>
|
|
The current usage of the resource this MailboxQuota instance describes, in bytes.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.MailboxQuota.Limit">
|
|
<summary>
|
|
The limit of the resource this MailboxQuota instance describes, in bytes.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.MailboxStatus">
|
|
<summary>
|
|
Represents the status information of a mailbox which can be constructed from the server
|
|
response to a STATUS command.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.MailboxStatus.#ctor(System.Int32,System.Int32,System.UInt32)">
|
|
<summary>
|
|
Initializes a new MailboxStatus instance with the specified number of total and unread
|
|
messages.
|
|
</summary>
|
|
<param name="Messages">The total number of messages in the mailbox.</param>
|
|
<param name="Unread">The number of unread (unseen) messages in the mailbox.</param>
|
|
<param name="NextUID">The next unique identifier value of the mailbox</param>
|
|
</member>
|
|
<member name="P:S22.Imap.MailboxStatus.NextUID">
|
|
<summary>
|
|
The next unique identifier value of the mailbox.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.MailboxStatus.Messages">
|
|
<summary>
|
|
The total number of messages in the mailbox.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.MailboxStatus.Unread">
|
|
<summary>
|
|
The number of unread (unseen) messages in the mailbox.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.MailMessageExtension">
|
|
<summary>
|
|
Adds extension methods to the MailMessage class of the .NET Framework.
|
|
</summary>
|
|
<remarks>
|
|
Most of the methods are only used internally and are not visible outside of the
|
|
S22.Imap assembly.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.MailMessageExtension.Date(System.Net.Mail.MailMessage)">
|
|
<summary>
|
|
Returns the date and time the mail message was composed.
|
|
</summary>
|
|
<param name="message">The MailMessage instance to return the date and time for.</param>
|
|
<returns>The date and time the mail message was composed, or null if the mail message
|
|
does not contain any date information.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.MailMessageExtension.ToMIME822(System.Net.Mail.MailMessage)">
|
|
<summary>
|
|
Constructs a textual representation of a mail message from the specified MailMessage
|
|
instance compliant with the RFC822 and MIME standards.
|
|
</summary>
|
|
<param name="message">The MailMessage instance to construct the textual representation
|
|
from.</param>
|
|
<returns>An RFC822/MIME-compliant string representing the specified mail message.</returns>
|
|
<exception cref="T:System.InvalidOperationException">The From property is null or has not been
|
|
properly initialized.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.MailMessageExtension.BuildHeader(System.Net.Mail.MailMessage)">
|
|
<summary>
|
|
Builds a RFC822/MIME-compliant mail header from the specified MailMessage instance and
|
|
returns it as a NameValueCollection.
|
|
</summary>
|
|
<param name="m">The MailMessage instance to build the header from.</param>
|
|
<returns>A NameValueCollection representing the RFC822/MIME mail header fields.</returns>
|
|
</member>
|
|
<member name="F:S22.Imap.MailMessageExtension.PriorityMap">
|
|
<summary>
|
|
A map for mapping the values of the MailPriority enumeration to their corresponding MIME
|
|
priority values as defined in RFC2156.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.MailMessageExtension.ImportanceMap">
|
|
<summary>
|
|
A map for mapping the values of the MailPriority enumeration to their corresponding MIME
|
|
importance values as defined in RFC2156.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.MailMessageExtension.QEncode(System.String)">
|
|
<summary>
|
|
Takes a unicode string and encodes it using Q-encoding.
|
|
</summary>
|
|
<param name="s">The string to encode.</param>
|
|
<returns>The input string encoded as Q-encoded string containing only ASCII
|
|
characters.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.MailMessageExtension.Base64Encode(System.String)">
|
|
<summary>
|
|
Takes a unicode string and encodes it using Base64-encoding.
|
|
</summary>
|
|
<param name="s">The string to encode.</param>
|
|
<returns>The input string encoded as Base64-encoded string containing only ASCII
|
|
characters.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.MailMessageExtension.To822Address(System.Net.Mail.MailAddress)">
|
|
<summary>
|
|
Creates an address string from the specified MailAddress instance in compliance with the
|
|
address specification as outlined in RFC2822 under section 3.4
|
|
</summary>
|
|
<param name="address">The MailAddress instance to create the address string from.</param>
|
|
<returns>An address string as is used in RFC822 mail headers.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.MailMessageExtension.GenerateContentBoundary">
|
|
<summary>
|
|
Generates a unique sequence of characters for indicating a boundary between parts in a
|
|
multipart message.
|
|
</summary>
|
|
<returns>A unique content boundary string.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.MailMessageExtension.BuildBody(System.Net.Mail.MailMessage,System.Collections.Specialized.NameValueCollection)">
|
|
<summary>
|
|
Builds an RFC822/MIME-compliant mail body from the specified MailMessage instance and
|
|
returns it as a formatted string.
|
|
</summary>
|
|
<param name="m">The MailMessage instance to build the mail body from.</param>
|
|
<param name="header">The RFC822/MIME mail header to use for constructing the mail
|
|
body.</param>
|
|
<returns>An RFC822/MIME-compliant mail body as a string.</returns>
|
|
<remarks>According to RFC2822 each line of a mail message should at max be 78 characters in
|
|
length excluding carriage return and newline characters. This method accounts for that and
|
|
ensures line breaks are inserted to meet this requirement.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.MailMessageExtension.AddBody(System.Text.StringBuilder,System.Net.Mail.MailMessage,System.Collections.Specialized.NameValueCollection,System.Boolean)">
|
|
<summary>
|
|
Adds a body part to the specified Stringbuilder object composed from the Body and
|
|
BodyEncoding properties of the MailMessage class.
|
|
</summary>
|
|
<param name="builder">The Stringbuilder to append the body part to.</param>
|
|
<param name="m">The MailMessage instance to build the body part from.</param>
|
|
<param name="header">The RFC822/MIME mail header to use for constructing the mail body.</param>
|
|
<param name="addHeaders">Set to true to append body headers before adding the actual body
|
|
part content.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.MailMessageExtension.AddAttachment(System.Text.StringBuilder,System.Net.Mail.AttachmentBase)">
|
|
<summary>
|
|
Creates a MIME body part from an entry of the AlternateView or Attachments collection of a
|
|
MailMessage instance and appends it to the specified Stringbuilder instance.
|
|
</summary>
|
|
<param name="builder">The Stringbuilder instance to append the body part to.</param>
|
|
<param name="view">An entry from either the AlternateView or the Attachments collection of
|
|
a MailMessage instance.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.MailMessageExtension.AddNestedAlternative(System.Text.StringBuilder,System.Net.Mail.MailMessage,System.Collections.Specialized.NameValueCollection)">
|
|
<summary>
|
|
Creates a nested multipart/alternative part which contains all entries from the
|
|
AlternateViews collection of the specified MailMessage instance as well as the body part
|
|
for the Body and BodyEncoding properties of the specified MailMessage instance.
|
|
</summary>
|
|
<param name="builder">The StringBuilder instance to append to.</param>
|
|
<param name="m">The MailMessage instance whose AlternateView collection will be added to the
|
|
nested multipart/alternative part.</param>
|
|
<param name="header">The RFC822/MIME mail header to use for constructing the mail body.</param>
|
|
<remarks>This is used if the MailMessage instance contains both alternative views and
|
|
attachments. In this case the created RFC822/MIME mail message will contain nested body
|
|
parts.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.MailMessageExtension.AddNestedMixed(System.Text.StringBuilder,System.Net.Mail.MailMessage)">
|
|
<summary>
|
|
Creates a nested multipart/mixed part which contains all entries from the Attachments
|
|
collection of the specified MailMessage instance.
|
|
</summary>
|
|
<param name="builder">The StringBuilder instance to append to.</param>
|
|
<param name="m">The MailMessage instance whose Attachments collection will be added to the
|
|
nested multipart/mixed part.</param>
|
|
<remarks>This is used if the MailMessage instance contains both alternative views and
|
|
attachments. In this case the created RFC822/MIME mail message will contain nested body
|
|
parts.</remarks>
|
|
</member>
|
|
<member name="T:S22.Imap.MessageBuilder">
|
|
<summary>
|
|
A helper class for reading mail message data and building a MailMessage instance out of it.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.MessageBuilder.FromHeader(System.String)">
|
|
<summary>
|
|
Creates a new empty instance of the MailMessage class from a string containing a raw mail
|
|
message header.
|
|
</summary>
|
|
<param name="text">The mail header to create the MailMessage instance from.</param>
|
|
<returns>A MailMessage instance with initialized Header fields but without any
|
|
content.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.MessageBuilder.FromMIME822(System.String)">
|
|
<summary>
|
|
Creates a new instance of the MailMessage class from a string containing raw RFC822/MIME
|
|
mail message data.
|
|
</summary>
|
|
<param name="text">The mail message data to create the MailMessage instance from.</param>
|
|
<returns>An initialized instance of the MailMessage class.</returns>
|
|
<remarks>This is used when fetching entire messages instead of the partial-fetch mechanism
|
|
because it saves redundant round-trips to the server.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.MessageBuilder.ParseMailHeader(System.String)">
|
|
<summary>
|
|
Parses the mail header of a mail message and returns it as a NameValueCollection.
|
|
</summary>
|
|
<param name="header">The mail header to parse.</param>
|
|
<returns>A NameValueCollection containing the header fields as keys with their respective
|
|
values as values.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.MessageBuilder.StripComments(System.String)">
|
|
<summary>
|
|
Strips RFC822/MIME comments from the specified string.
|
|
</summary>
|
|
<param name="s">The string to strip comments from.</param>
|
|
<returns>A new string stripped of any comments.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.MessageBuilder.ParseMIMEField(System.String)">
|
|
<summary>
|
|
Parses a MIME header field which can contain multiple 'parameter = value'
|
|
pairs (such as Content-Type: text/html; charset=iso-8859-1).
|
|
</summary>
|
|
<param name="field">The header field to parse.</param>
|
|
<returns>A NameValueCollection containing the parameter names as keys with the respective
|
|
parameter values as values.</returns>
|
|
<remarks>The value of the actual field disregarding the 'parameter = value' pairs is stored
|
|
in the collection under the key "value" (in the above example of Content-Type, this would
|
|
be "text/html").</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.MessageBuilder.ParseAddressList(System.String)">
|
|
<summary>
|
|
Parses a mail header address-list field such as To, Cc and Bcc which can contain multiple
|
|
email addresses.
|
|
</summary>
|
|
<param name="list">The address-list field to parse</param>
|
|
<returns>An array of MailAddress objects representing the parsed mail addresses.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.MessageBuilder.SplitAddressList(System.String)">
|
|
<summary>
|
|
Splits the specified address-list into individual parts consisting of a mail address and
|
|
optionally a display-name.
|
|
</summary>
|
|
<param name="list">The address-list to split into parts.</param>
|
|
<returns>An enumerable collection of parts.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.MessageBuilder.ParseMessageId(System.String)">
|
|
<summary>
|
|
Parses a mail message identifier from a string.
|
|
</summary>
|
|
<param name="field">The field to parse the message id from</param>
|
|
<exception cref="T:System.ArgumentException">The field argument does not contain a valid message
|
|
identifier.</exception>
|
|
<returns>The parsed message id.</returns>
|
|
<remarks>A message identifier (msg-id) is a globally unique identifier for a
|
|
message.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.MessageBuilder.ParsePriority(System.String)">
|
|
<summary>
|
|
Parses the priority of a mail message which can be specified as part of the header
|
|
information.
|
|
</summary>
|
|
<param name="priority">The mail header priority value. The value can be null in which case
|
|
a "normal priority" is returned.</param>
|
|
<returns>A value from the MailPriority enumeration corresponding to the specified mail
|
|
priority. If the passed priority value is null or invalid, a normal priority is assumed and
|
|
MailPriority.Normal is returned.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.MessageBuilder.SetAddressFields(System.Net.Mail.MailMessage,System.Collections.Specialized.NameValueCollection)">
|
|
<summary>
|
|
Sets the address fields (From, To, CC, etc.) of a MailMessage object using the specified
|
|
mail message header information.
|
|
</summary>
|
|
<param name="m">The MailMessage instance to operate on.</param>
|
|
<param name="header">A collection of mail and MIME headers.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.MessageBuilder.AddBodypart(System.Net.Mail.MailMessage,S22.Imap.Bodypart,System.String)">
|
|
<summary>
|
|
Adds a body part to an existing MailMessage instance.
|
|
</summary>
|
|
<param name="message">Extension method for the MailMessage class.</param>
|
|
<param name="part">The body part to add to the MailMessage instance.</param>
|
|
<param name="content">The content of the body part.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.MessageBuilder.CreateAttachment(S22.Imap.Bodypart,System.Byte[])">
|
|
<summary>
|
|
Creates an instance of the Attachment class used by the MailMessage class to store mail
|
|
message attachments.
|
|
</summary>
|
|
<param name="part">The MIME body part to create the attachment from.</param>
|
|
<param name="bytes">An array of bytes composing the content of the attachment.</param>
|
|
<returns>An initialized instance of the Attachment class.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.MessageBuilder.CreateAlternateView(S22.Imap.Bodypart,System.Byte[])">
|
|
<summary>
|
|
Creates an instance of the AlternateView class used by the MailMessage class to store
|
|
alternate views of the mail message's content.
|
|
</summary>
|
|
<param name="part">The MIME body part to create the alternate view from.</param>
|
|
<param name="bytes">An array of bytes composing the content of the alternate view.</param>
|
|
<returns>An initialized instance of the AlternateView class.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.MessageBuilder.ParseMailBody(System.String,System.Collections.Specialized.NameValueCollection)">
|
|
<summary>
|
|
Parses the body part of a MIME/RFC822 mail message.
|
|
</summary>
|
|
<param name="body">The body of the mail message.</param>
|
|
<param name="header">The header of the mail message whose body will be parsed.</param>
|
|
<returns>An array of initialized MIMEPart instances representing the body parts of the mail
|
|
message.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.MessageBuilder.ParseMIMEParts(System.IO.StringReader,System.String)">
|
|
<summary>
|
|
Parses the body of a multipart MIME mail message.
|
|
</summary>
|
|
<param name="reader">An instance of the StringReader class initialized with a string
|
|
containing the body of the mail message.</param>
|
|
<param name="boundary">The boundary value as is present as part of the Content-Type header
|
|
field in multipart mail messages.</param>
|
|
<returns>An array of initialized MIMEPart instances representing the various parts of the
|
|
MIME mail message.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.MessageBuilder.BodypartFromMIME(S22.Imap.MIMEPart)">
|
|
<summary>
|
|
Glue method to create a bodypart from a MIMEPart instance.
|
|
</summary>
|
|
<param name="mimePart">The MIMEPart instance to create the bodypart instance from.</param>
|
|
<returns>An initialized instance of the Bodypart class.</returns>
|
|
</member>
|
|
<member name="T:S22.Imap.MessageFlag">
|
|
<summary>
|
|
Defines possible attributes for mail messages on an IMAP server.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.MessageFlag.Seen">
|
|
<summary>
|
|
Indicates that the message has been read.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.MessageFlag.Answered">
|
|
<summary>
|
|
Indicates that the message has been answered.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.MessageFlag.Flagged">
|
|
<summary>
|
|
Indicates that the message is "flagged" for urgent/special attention.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.MessageFlag.Deleted">
|
|
<summary>
|
|
Indicates that the message has been marked as "deleted" and will be removed upon the next
|
|
call to the Expunge method.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.MessageFlag.Draft">
|
|
<summary>
|
|
Indicates that the message has not completed composition and is marked as a draft.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.MessageFlag.Recent">
|
|
<summary>
|
|
Indicates that the message has recently arrived in the mailbox.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.MIMEPart">
|
|
<summary>
|
|
Represents a part of a MIME multi-part message. Each part consists of its own content header
|
|
and a content body.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.MIMEPart.header">
|
|
<summary>
|
|
A collection containing the content header information as key-value pairs.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.MIMEPart.body">
|
|
<summary>
|
|
A string containing the content body of the part.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.SafeQueue`1">
|
|
<summary>
|
|
A thread-safe Queue.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.SafeQueue`1.Enqueue(`0)">
|
|
<summary>
|
|
Adds an object to the end of the queue.
|
|
</summary>
|
|
<param name="item">The object to add to the queue.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.SafeQueue`1.Dequeue">
|
|
<summary>
|
|
Removes and returns the object at the beginning of the queue. If the queue is empty, the
|
|
method blocks the calling thread until an object is put into the queue by another thread.
|
|
</summary>
|
|
<returns>The object that was removed from the beginning of the queue.</returns>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.BinaryReaderExtensions">
|
|
<summary>
|
|
Adds extension methods to the BinaryReader class to simplify the
|
|
deserialization of NTLM messages.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.BinaryReaderExtensions.ReadASCIIString(System.IO.BinaryReader,System.Int32)">
|
|
<summary>
|
|
Reads an ASCII-string of the specified length from this instance.
|
|
</summary>
|
|
<param name="reader">Extension method for the BinaryReader class.</param>
|
|
<param name="count">The number of bytes to read from the underlying
|
|
stream.</param>
|
|
<returns>A string decoded from the bytes read from the underlying
|
|
stream using the ASCII character set.</returns>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags">
|
|
<summary>
|
|
The NTLM flags which are contained in a bitfield within the header of
|
|
an NTLM message.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.NegotiateUnicode">
|
|
<summary>
|
|
Indicates that Unicode strings are supported for use in security
|
|
buffer data.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.NegotiateOEM">
|
|
<summary>
|
|
Indicates that OEM strings are supported for use in security
|
|
buffer data.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.RequestTarget">
|
|
<summary>
|
|
Requests that the server's authentication realm be included in
|
|
the Type 2 message.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.NegotiateSign">
|
|
<summary>
|
|
Specifies that authenticated communication between the client and
|
|
server should carry a digital signature (message integrity).
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.NegotiateSeal">
|
|
<summary>
|
|
Specifies that authenticated communication between the client and
|
|
server should be encrypted (message confidentiality).
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.NegotiateDatagramStyle">
|
|
<summary>
|
|
Indicates that datagram authentication is being used.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.NegotiateLanManagerKey">
|
|
<summary>
|
|
Indicates that the Lan Manager Session Key should be used for signing
|
|
and sealing authenticated communications.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.NegotiateNetware">
|
|
<summary>
|
|
This flag's usage has not been identified.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.NegotiateNTLM">
|
|
<summary>
|
|
Indicates that NTLM authentication is being used.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.NegotiateAnonymous">
|
|
<summary>
|
|
Sent by the client in the Type 3 message to indicate that an anonymous
|
|
context has been established. This also affects the response fields.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.NegotiateDomainSupplied">
|
|
<summary>
|
|
Sent by the client in the Type 1 message to indicate that the name of
|
|
the domain in which the client workstation has membership is included
|
|
in the message. This is used by the server to determine whether the
|
|
client is eligible for local authentication.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.NegotiateWorkstationSupplied">
|
|
<summary>
|
|
Sent by the client in the Type 1 message to indicate that the client
|
|
workstation's name is included in the message. This is used by the
|
|
server to determine whether the client is eligible for local
|
|
authentication.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.NegotiateLocalCall">
|
|
<summary>
|
|
Sent by the server to indicate that the server and client are on the
|
|
same machine. Implies that the client may use the established local
|
|
credentials for authentication instead of calculating a response to
|
|
the challenge.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.NegotiateAlwaysSign">
|
|
<summary>
|
|
Indicates that authenticated communication between the client and
|
|
server should be signed with a "dummy" signature.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.TargetTypeDomain">
|
|
<summary>
|
|
Sent by the server in the Type 2 message to indicate that the target
|
|
authentication realm is a domain.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.TargetTypeServer">
|
|
<summary>
|
|
Sent by the server in the Type 2 message to indicate that the target
|
|
authentication realm is a server.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.TargetTypeShare">
|
|
<summary>
|
|
Sent by the server in the Type 2 message to indicate that the target
|
|
authentication realm is a share. Presumably, this is for share-level
|
|
authentication. Usage is unclear.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.NegotiateNTLM2Key">
|
|
<summary>
|
|
Indicates that the NTLM2 signing and sealing scheme should be used for
|
|
protecting authenticated communications. Note that this refers to a
|
|
particular session security scheme, and is not related to the use of
|
|
NTLMv2 authentication. This flag can, however, have an effect on the
|
|
response calculations.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.RequestInitResponse">
|
|
<summary>
|
|
This flag's usage has not been identified.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.RequestAcceptResponse">
|
|
<summary>
|
|
This flag's usage has not been identified.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.RequestNonNTSessionKey">
|
|
<summary>
|
|
This flag's usage has not been identified.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.NegotiateTargetInfo">
|
|
<summary>
|
|
Sent by the server in the Type 2 message to indicate that it is including
|
|
a Target Information block in the message. The Target Information block
|
|
is used in the calculation of the NTLMv2 response.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.Negotiate128">
|
|
<summary>
|
|
Indicates that 128-bit encryption is supported.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.NegotiateKeyExchange">
|
|
<summary>
|
|
Indicates that the client will provide an encrypted master key in the
|
|
"Session Key" field of the Type 3 message.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Flags.Negotiate56">
|
|
<summary>
|
|
Indicates that 56-bit encryption is supported.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2TargetInformation">
|
|
<summary>
|
|
Represents the data contained in the target information block of an
|
|
NTLM type 2 message.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2TargetInformation.ServerName">
|
|
<summary>
|
|
The server name.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2TargetInformation.DomainName">
|
|
<summary>
|
|
The domain name.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2TargetInformation.DnsHostname">
|
|
<summary>
|
|
The fully-qualified DNS host name.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2TargetInformation.DnsDomainName">
|
|
<summary>
|
|
The fully-qualified DNS domain name.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Version">
|
|
<summary>
|
|
Describes the different versions of the Type 2 message that have
|
|
been observed.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Version.Unknown">
|
|
<summary>
|
|
The version is unknown.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Version.Version1">
|
|
<summary>
|
|
This form is seen in older Win9x-based systems.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Version.Version2">
|
|
<summary>
|
|
This form is seen in most out-of-box shipping versions of Windows.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Version.Version3">
|
|
<summary>
|
|
This form was introduced in a relatively recent Service Pack, and
|
|
is seen on currently-patched versions of Windows 2000, Windows XP,
|
|
and Windows 2003.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2InformationType">
|
|
<summary>
|
|
Indicates the type of data in Type 2 target information blocks.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2InformationType.TerminatorBlock">
|
|
<summary>
|
|
Signals the end of the target information block.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2InformationType.ServerName">
|
|
<summary>
|
|
The data in the information block contains the server name.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2InformationType.DomainName">
|
|
<summary>
|
|
The data in the information block contains the domain name.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2InformationType.DnsHostname">
|
|
<summary>
|
|
The data in the information block contains the DNS hostname.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2InformationType.DnsDomainName">
|
|
<summary>
|
|
The data in the information block contans the DNS domain name.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.MD4">
|
|
<summary>
|
|
Computes the MD4 hash value for the input data.
|
|
Courtesy of Keith Wood.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.MessageType">
|
|
<summary>
|
|
Describes the different types of NTLM messages.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.MessageType.Type1">
|
|
<summary>
|
|
An NTLM type 1 message is the initial client response to the
|
|
server.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.MessageType.Type2">
|
|
<summary>
|
|
An NTLM type 2 message is the challenge sent by the server in
|
|
response to an NTLM type 1 message.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.MessageType.Type3">
|
|
<summary>
|
|
An NTLM type 3 message is the challenge response sent by the client
|
|
in response to an NTLM type 2 message.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.OSVersion">
|
|
<summary>
|
|
Indicates the version and build number of the operating system.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.OSVersion.#ctor">
|
|
<summary>
|
|
Default constructor.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.OSVersion.#ctor(System.Byte,System.Byte,System.Int16)">
|
|
<summary>
|
|
Creates a new instance of the OSVersion class using the specified
|
|
values.
|
|
</summary>
|
|
<param name="majorVersion">The major version of the operating
|
|
system.</param>
|
|
<param name="minorVersion">The minor version of the operating
|
|
system.</param>
|
|
<param name="buildNumber">The build number of the operating systen.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.OSVersion.Serialize">
|
|
<summary>
|
|
Serializes this instance of the OSVersion class to an array of
|
|
bytes.
|
|
</summary>
|
|
<returns>An array of bytes representing this instance of the OSVersion
|
|
class.</returns>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.OSVersion.MajorVersion">
|
|
<summary>
|
|
The major version number of the operating system.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.OSVersion.MinorVersion">
|
|
<summary>
|
|
The minor version number of the operating system.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.OSVersion.BuildNumber">
|
|
<summary>
|
|
The build number of the operating system.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Responses">
|
|
<summary>
|
|
Contains methods for calculating the various Type 3 challenge
|
|
responses.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Responses.ComputeLMResponse(System.Byte[],System.String)">
|
|
<summary>
|
|
Computes the LM-response to the challenge sent as part of an
|
|
NTLM type 2 message.
|
|
</summary>
|
|
<param name="challenge">The challenge sent by the server.</param>
|
|
<param name="password">The user account password.</param>
|
|
<returns>An array of bytes representing the response to the
|
|
specified challenge.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Responses.ComputeNtlmResponse(System.Byte[],System.String)">
|
|
<summary>
|
|
Computes the NTLM-response to the challenge sent as part of an
|
|
NTLM type 2 message.
|
|
</summary>
|
|
<param name="challenge">The challenge sent by the server.</param>
|
|
<param name="password">The user account password.</param>
|
|
<returns>An array of bytes representing the response to the
|
|
specified challenge.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Responses.ComputeNtlmv2Response(System.String,System.String,System.String,System.Byte[],System.Byte[],System.Byte[])">
|
|
<summary>
|
|
Computes the NTLMv2-response to the challenge sent as part of an
|
|
NTLM type 2 message.
|
|
</summary>
|
|
<param name="target">The name of the authentication target.</param>
|
|
<param name="username">The user account name to authenticate with.</param>
|
|
<param name="password">The user account password.</param>
|
|
<param name="targetInformation">The target information block from
|
|
the NTLM type 2 message.</param>
|
|
<param name="challenge">The challenge sent by the server.</param>
|
|
<param name="clientNonce">A random 8-byte client nonce.</param>
|
|
<returns>An array of bytes representing the response to the
|
|
specified challenge.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Responses.ComputeLMv2Response(System.String,System.String,System.String,System.Byte[],System.Byte[])">
|
|
<summary>
|
|
Computes the LMv2-response to the challenge sent as part of an
|
|
NTLM type 2 message.
|
|
</summary>
|
|
<param name="target">The name of the authentication target.</param>
|
|
<param name="username">The user account to authenticate with.</param>
|
|
<param name="password">The user account password.</param>
|
|
<param name="challenge">The challenge sent by the server.</param>
|
|
<param name="clientNonce">A random 8-byte client nonce.</param>
|
|
<returns>An array of bytes representing the response to the
|
|
specified challenge.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Responses.LMHash(System.String)">
|
|
<summary>
|
|
Creates the LM Hash of the specified password.
|
|
</summary>
|
|
<param name="password">The password to create the LM Hash of.</param>
|
|
<returns>The LM Hash of the given password, used in the calculation
|
|
of the LM Response.</returns>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the password argument
|
|
is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Responses.CreateDESKey(System.Byte[],System.Int32)">
|
|
<summary>
|
|
Creates a DES encryption key from the specified key material.
|
|
</summary>
|
|
<param name="bytes">The key material to create the DES encryption
|
|
key from.</param>
|
|
<param name="offset">An offset into the byte array at which to
|
|
extract the key material from.</param>
|
|
<returns>A 56-bit DES encryption key as an array of bytes.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Responses.OddParity(System.Byte[])">
|
|
<summary>
|
|
Applies odd parity to the specified byte array.
|
|
</summary>
|
|
<param name="bytes">The byte array to apply odd parity to.</param>
|
|
<returns>A reference to the byte array.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Responses.LMResponse(System.Byte[],System.Byte[])">
|
|
<summary>
|
|
Creates the LM Response from the specified hash and Type 2 challenge.
|
|
</summary>
|
|
<param name="hash">An LM or NTLM hash.</param>
|
|
<param name="challenge">The server challenge from the Type 2
|
|
message.</param>
|
|
<returns>The challenge response as an array of bytes.</returns>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the hash or the
|
|
challenge parameter is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Responses.NtlmHash(System.String)">
|
|
<summary>
|
|
Creates the NTLM Hash of the specified password.
|
|
</summary>
|
|
<param name="password">The password to create the NTLM hash of.</param>
|
|
<returns>The NTLM hash for the specified password.</returns>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the password
|
|
parameter is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Responses.Ntlmv2Hash(System.String,System.String,System.String)">
|
|
<summary>
|
|
Creates the NTLMv2 Hash of the specified target, username
|
|
and password values.
|
|
</summary>
|
|
<param name="target">The name of the authentication target as is
|
|
specified in the target name field of the NTLM type 3 message.</param>
|
|
<param name="username">The user account name.</param>
|
|
<param name="password">The password for the user account.</param>
|
|
<returns>The NTLMv2 hash for the specified input values.</returns>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the username or
|
|
the password parameter is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Responses.GetTimestamp">
|
|
<summary>
|
|
Returns the current time as the number of tenths of a microsecond
|
|
since January 1, 1601.
|
|
</summary>
|
|
<returns>The current time as the number of tenths of a microsecond
|
|
since January 1, 1601.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Responses.CreateBlob(System.Byte[],System.Byte[])">
|
|
<summary>
|
|
Creates the "blob" data block which is part of the NTLMv2 challenge
|
|
response.
|
|
</summary>
|
|
<param name="targetInformation">The target information block from
|
|
the NTLM type 2 message.</param>
|
|
<param name="clientNonce">A random 8-byte client nonce.</param>
|
|
<returns>The blob, used in the calculation of the NTLMv2 Response.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Responses.LMv2Response(System.Byte[],System.Byte[],System.Byte[])">
|
|
<summary>
|
|
Creates the LMv2 Response from the given NTLMv2 hash, client data, and
|
|
Type 2 challenge.
|
|
</summary>
|
|
<param name="hash">The NTLMv2 Hash.</param>
|
|
<param name="clientData">The client data (blob or client nonce).</param>
|
|
<param name="challenge">The server challenge from the Type 2 message.</param>
|
|
<returns>The response which is either for NTLMv2 or LMv2, depending
|
|
on the client data.</returns>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.SecurityBuffer">
|
|
<summary>
|
|
Represents an NTLM security buffer, which is a structure used to point
|
|
to a buffer of binary data within an NTLM message.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.SecurityBuffer.#ctor(System.Int32,System.Int32)">
|
|
<summary>
|
|
Creates a new instance of the SecurityBuffer class using the specified
|
|
values.
|
|
</summary>
|
|
<param name="length">The length of the buffer described by this instance
|
|
of the SecurityBuffer class.</param>
|
|
<param name="offset">The offset at which the buffer starts, in bytes.</param>
|
|
<exception cref="T:System.OverflowException">Thrown if the length value exceeds
|
|
the maximum value allowed. The security buffer structure stores the
|
|
length value as a 2-byte short value.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.SecurityBuffer.#ctor(System.Byte[],System.Int32)">
|
|
<summary>
|
|
Creates a new instance of the SecurityBuffer class using the specified
|
|
values.
|
|
</summary>
|
|
<param name="data">The data of the buffer described by this instance
|
|
of the SecurityBuffer class.</param>
|
|
<param name="offset">The offset at which the buffer starts, in bytes.</param>
|
|
<exception cref="T:System.OverflowException">Thrown if the length of the data
|
|
buffer exceeds the maximum value allowed. The security buffer structure
|
|
stores the buffer length value as a 2-byte short value.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.SecurityBuffer.Serialize">
|
|
<summary>
|
|
Serializes this instance of the SecurityBuffer into an array of bytes.
|
|
</summary>
|
|
<returns>A byte array representing this instance of the SecurityBuffer
|
|
class.</returns>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.SecurityBuffer.Length">
|
|
<summary>
|
|
The length of the buffer content in bytes (may be zero).
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.SecurityBuffer.AllocatedSpace">
|
|
<summary>
|
|
The allocated space for the buffer in bytes (typically the same as
|
|
the length).
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.SecurityBuffer.Offset">
|
|
<summary>
|
|
The offset from the beginning of the NTLM message to the start of
|
|
the buffer, in bytes.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type1Message">
|
|
<summary>
|
|
Represents an NTLM Type 1 Message.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type1Message.signature">
|
|
<summary>
|
|
The NTLM message signature which is always "NTLMSSP".
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type1Message.type">
|
|
<summary>
|
|
The NTML message type which is always 1 for an NTLM Type 1 message.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type1Message.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Creates a new instance of the Type1Message class using the specified
|
|
domain and workstation names.
|
|
</summary>
|
|
<param name="domain">The domain in which the client's workstation has
|
|
membership.</param>
|
|
<param name="workstation">The client's workstation name.</param>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the domain or the
|
|
workstation parameter is null.</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">Thrown if the domain
|
|
or the workstation name exceeds the maximum allowed string
|
|
length.</exception>
|
|
<remarks>The domain as well as the workstation name is restricted
|
|
to ASCII characters and must not be longer than 65536 characters.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type1Message.Serialize">
|
|
<summary>
|
|
Serializes this instance of the Type1 class to an array of bytes.
|
|
</summary>
|
|
<returns>An array of bytes representing this instance of the Type1
|
|
class.</returns>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type1Message.Flags">
|
|
<summary>
|
|
The NTLM flags set on this instance.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type1Message.domain">
|
|
<summary>
|
|
The supplied domain name as an array of bytes in the ASCII
|
|
range.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type1Message.domainOffset">
|
|
<summary>
|
|
The offset within the message where the domain name data starts.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type1Message.workstation">
|
|
<summary>
|
|
The supplied workstation name as an array of bytes in the
|
|
ASCII range.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type1Message.workstationOffset">
|
|
<summary>
|
|
The offset within the message where the workstation name data starts.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type1Message.workstationLength">
|
|
<summary>
|
|
The length of the supplied workstation name as a 16-bit short value.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type1Message.OSVersion">
|
|
<summary>
|
|
Contains information about the client's OS version.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Message">
|
|
<summary>
|
|
Represents an NTLM Type 2 Message.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Message.signature">
|
|
<summary>
|
|
The NTLM message signature which is always "NTLMSSP".
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Message.type">
|
|
<summary>
|
|
The NTML message type which is always 2 for an NTLM Type 2 message.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Message.#ctor">
|
|
<summary>
|
|
Private constructor.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Message.Deserialize(System.Byte[])">
|
|
<summary>
|
|
Deserializes a Type 2 message instance from the specified buffer
|
|
of bytes.
|
|
</summary>
|
|
<param name="buffer">The buffer containing a sequence of bytes
|
|
representing an NTLM Type 2 message.</param>
|
|
<returns>An initialized instance of the Type2 class.</returns>
|
|
<exception cref="T:System.Runtime.Serialization.SerializationException">Thrown if an error occurs
|
|
during deserialization of the Type 2 message.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Message.GetType2Version(System.Int32)">
|
|
<summary>
|
|
Determines the version of an NTLM type 2 message.
|
|
</summary>
|
|
<param name="targetOffset">The target offset field of the NTLM
|
|
type 2 message.</param>
|
|
<returns>A value from the Type2Version enumeration.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Message.ReadOSVersion(System.IO.BinaryReader)">
|
|
<summary>
|
|
Reads the OS information data present in version 3 of an NTLM
|
|
type 2 message from the specified BinaryReader.
|
|
</summary>
|
|
<param name="r">The BinaryReader instance to read from.</param>
|
|
<returns>An initialized instance of the OSVersion class.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Message.ReadTargetInformation(System.IO.BinaryReader)">
|
|
<summary>
|
|
Reads the target information data present in version 2 and 3 of
|
|
an NTLM type 2 message from the specified BinaryReader.
|
|
</summary>
|
|
<param name="r">The BinaryReader instance to read from.</param>
|
|
<returns>An initialized instance of the Type2TargetInformation
|
|
class.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Message.GetTargetName(System.Byte[],System.Boolean)">
|
|
<summary>
|
|
Retrieves the target name from the specified byte array.
|
|
</summary>
|
|
<param name="data">A byte array containing the target name.</param>
|
|
<param name="isUnicode">If true the target name will be decoded
|
|
using UTF-16 unicode encoding.</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Message.Challenge">
|
|
<summary>
|
|
The challenge is an 8-byte block of random data.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Message.TargetName">
|
|
<summary>
|
|
The target name of the authentication target.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Message.Flags">
|
|
<summary>
|
|
The NTLM flags set on this message.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Message.Context">
|
|
<summary>
|
|
The SSPI context handle when a local call is being made,
|
|
otherwise null.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Message.OSVersion">
|
|
<summary>
|
|
Contains the data present in the OS version structure.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Message.Version">
|
|
<summary>
|
|
The version of this Type 2 message instance.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Message.TargetInformation">
|
|
<summary>
|
|
Contains the data present in the target information block.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type2Message.RawTargetInformation">
|
|
<summary>
|
|
Contains the raw data present in the target information block.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message">
|
|
<summary>
|
|
Represents an NTLM Type 3 Message.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.signature">
|
|
<summary>
|
|
The NTLM message signature which is always "NTLMSSP".
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.type">
|
|
<summary>
|
|
The NTML message type which is always 3 for an NTLM Type 3 message.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.#ctor(System.String,System.String,System.Byte[],System.String,System.Boolean,System.String,System.Byte[])">
|
|
<summary>
|
|
Creates a new instance of an NTLM type 3 message using the specified
|
|
values.
|
|
</summary>
|
|
<param name="username">The Windows account name to use for
|
|
authentication.</param>
|
|
<param name="password">The Windows account password to use for
|
|
authentication.</param>
|
|
<param name="challenge">The challenge received from the server as part
|
|
of the NTLM type 2 message.</param>
|
|
<param name="workstation">The client's workstation name.</param>
|
|
<param name="ntlmv2">Set to true to send an NTLMv2 challenge
|
|
response.</param>
|
|
<param name="targetName">The authentication realm in which the
|
|
authenticating account has membership.</param>
|
|
<param name="targetInformation">The target information block from
|
|
the NTLM type 2 message.</param>
|
|
<remarks>The target name is a domain name for domain accounts, or
|
|
a server name for local machine accounts. All security buffers will
|
|
be encoded as Unicode.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.#ctor(System.String,System.String,System.Byte[],System.Boolean,System.String,System.Boolean,System.String,System.Byte[])">
|
|
<summary>
|
|
Creates a new instance of an NTLM type 3 message using the specified
|
|
values.
|
|
</summary>
|
|
<param name="username">The Windows account name to use for
|
|
authentication.</param>
|
|
<param name="password">The Windows account password to use for
|
|
authentication.</param>
|
|
<param name="challenge">The challenge received from the server as part
|
|
of the NTLM type 2 message.</param>
|
|
<param name="useUnicode">Set this to true, if Unicode encoding has been
|
|
negotiated between client and server.</param>
|
|
<param name="workstation">The client's workstation name.</param>
|
|
<param name="ntlmv2">Set to true to send an NTLMv2 challenge
|
|
response.</param>
|
|
<param name="targetName">The authentication realm in which the
|
|
authenticating account has membership.</param>
|
|
<param name="targetInformation">The target information block from
|
|
the NTLM type 2 message.</param>
|
|
<remarks>The target name is a domain name for domain accounts, or
|
|
a server name for local machine accounts.</remarks>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the username, password
|
|
or challenge parameters are null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.Serialize">
|
|
<summary>
|
|
Serializes this instance of the Type3 class to an array of bytes.
|
|
</summary>
|
|
<returns>An array of bytes representing this instance of the Type3
|
|
class.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.GetCNonce">
|
|
<summary>
|
|
Returns a random 8-byte cnonce value.
|
|
</summary>
|
|
<returns>A random 8-byte cnonce value.</returns>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.Flags">
|
|
<summary>
|
|
The NTLM flags set on this instance.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.LMResponse">
|
|
<summary>
|
|
The "Lan Manager" challenge response.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.LMOffset">
|
|
<summary>
|
|
The offset at which the LM challenge response data starts.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.NtlmResponse">
|
|
<summary>
|
|
The NTLM challenge response.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.NtlmOffset">
|
|
<summary>
|
|
The offset at which the NTLM challenge response data starts.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.targetName">
|
|
<summary>
|
|
The authentication realm in which the authenticating account
|
|
has membership.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.targetOffset">
|
|
<summary>
|
|
The offset at which the target name data starts.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.username">
|
|
<summary>
|
|
The authenticating account name.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.usernameOffset">
|
|
<summary>
|
|
The offset at which the username data starts.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.workstation">
|
|
<summary>
|
|
The client workstation's name.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.workstationOffset">
|
|
<summary>
|
|
The offset at which the client workstation's name data starts.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.sessionKey">
|
|
<summary>
|
|
The session key value which is used by the session security mechanism
|
|
during key exchange.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.sessionKeyOffset">
|
|
<summary>
|
|
The offset at which the session key data starts.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.OSVersion">
|
|
<summary>
|
|
Contains the data present in the OS version structure.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.Ntlm.Type3Message.encoding">
|
|
<summary>
|
|
The encoding used for transmitting the contents of the various
|
|
security buffers.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.SaslCramMd5">
|
|
<summary>
|
|
Implements the Sasl Cram-Md5 authentication method as described in
|
|
RFC 2195.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslCramMd5.#ctor">
|
|
<summary>
|
|
Private constructor for use with Sasl.SaslFactory.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslCramMd5.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Creates and initializes a new instance of the SaslCramMd5 class
|
|
using the specified username and password.
|
|
</summary>
|
|
<param name="username">The username to authenticate with.</param>
|
|
<param name="password">The plaintext password to authenticate
|
|
with.</param>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the username
|
|
or the password parameter is null.</exception>
|
|
<exception cref="T:System.ArgumentException">Thrown if the username
|
|
parameter is empty.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslCramMd5.ComputeResponse(System.Byte[])">
|
|
<summary>
|
|
Computes the client response to the specified Cram-Md5 challenge.
|
|
</summary>
|
|
<param name="challenge">The challenge sent by the server</param>
|
|
<returns>The response to the Cram-Md5 challenge.</returns>
|
|
<exception cref="T:S22.Imap.Auth.Sasl.SaslException">Thrown if the response could not
|
|
be computed.</exception>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslCramMd5.IsCompleted">
|
|
<summary>
|
|
True if the authentication exchange between client and server
|
|
has been completed.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslCramMd5.Name">
|
|
<summary>
|
|
The IANA name for the Cram-Md5 authentication mechanism as described
|
|
in RFC 2195.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslCramMd5.Username">
|
|
<summary>
|
|
The username to authenticate with.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslCramMd5.Password">
|
|
<summary>
|
|
The password to authenticate with.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.SaslDigestMd5">
|
|
<summary>
|
|
Implements the Sasl Cram-Md5 authentication method as described in
|
|
RFC 2831.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.SaslDigestMd5.Cnonce">
|
|
<summary>
|
|
The client nonce value used during authentication.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.SaslDigestMd5.Step">
|
|
<summary>
|
|
Cram-Md5 involves several steps.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslDigestMd5.#ctor">
|
|
<summary>
|
|
Private constructor for use with Sasl.SaslFactory.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslDigestMd5.#ctor(System.String,System.String,System.String)">
|
|
<summary>
|
|
Internal constructor used for unit testing.
|
|
</summary>
|
|
<param name="username">The username to authenticate with.</param>
|
|
<param name="password">The plaintext password to authenticate
|
|
with.</param>
|
|
<param name="cnonce">The client nonce value to use.</param>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the username
|
|
or the password parameter is null.</exception>
|
|
<exception cref="T:System.ArgumentException">Thrown if the username
|
|
parameter is empty.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslDigestMd5.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Creates and initializes a new instance of the SaslDigestMd5 class
|
|
using the specified username and password.
|
|
</summary>
|
|
<param name="username">The username to authenticate with.</param>
|
|
<param name="password">The plaintext password to authenticate
|
|
with.</param>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the username
|
|
or the password parameter is null.</exception>
|
|
<exception cref="T:System.ArgumentException">Thrown if the username
|
|
parameter is empty.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslDigestMd5.ComputeResponse(System.Byte[])">
|
|
<summary>
|
|
Computes the client response to the specified Digest-Md5 challenge.
|
|
</summary>
|
|
<param name="challenge">The challenge sent by the server</param>
|
|
<returns>The response to the Digest-Md5 challenge.</returns>
|
|
<exception cref="T:S22.Imap.Auth.Sasl.SaslException">Thrown if the response could not
|
|
be computed.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslDigestMd5.ParseDigestChallenge(System.String)">
|
|
<summary>
|
|
Parses the challenge string sent by the server in response to a Digest-Md5
|
|
authentication request.
|
|
</summary>
|
|
<param name="challenge">The challenge sent by the server as part of
|
|
"Step One" of the Digest-Md5 authentication mechanism.</param>
|
|
<returns>An initialized NameValueCollection instance made up of the
|
|
attribute/value pairs contained in the challenge.</returns>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the challenge parameter
|
|
is null.</exception>
|
|
<remarks>Refer to RFC 2831 section 2.1.1 for a detailed description of the
|
|
format of the challenge sent by the server.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslDigestMd5.ComputeDigestResponseValue(System.Collections.Specialized.NameValueCollection,System.String,System.String,System.String,System.String)">
|
|
<summary>
|
|
Computes the "response-value" hex-string which is part of the
|
|
Digest-MD5 challenge-response.
|
|
</summary>
|
|
<param name="challenge">A collection containing the attributes
|
|
and values of the challenge sent by the server.</param>
|
|
<param name="cnonce">The cnonce value to use for computing
|
|
the response-value.</param>
|
|
<param name="digestUri">The "digest-uri" string to use for
|
|
computing the response-value.</param>
|
|
<param name="username">The username to use for computing the
|
|
response-value.</param>
|
|
<param name="password">The password to use for computing the
|
|
response-value.</param>
|
|
<returns>A string containing a hash-value which is part of the
|
|
response sent by the client.</returns>
|
|
<remarks>Refer to RFC 2831, section 2.1.2.1 for a detailed
|
|
description of the computation of the response-value.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslDigestMd5.MD5(System.String,System.Text.Encoding)">
|
|
<summary>
|
|
Calculates the MD5 hash value for the specified string.
|
|
</summary>
|
|
<param name="s">The string to calculate the MD5 hash value for.</param>
|
|
<param name="encoding">The encoding to employ for encoding the
|
|
characters in the specified string into a sequence of bytes for
|
|
which the MD5 hash will be calculated.</param>
|
|
<returns>An MD5 hash as a 32-character hex-string.</returns>
|
|
<exception cref="T:System.ArgumentException">Thrown if the input string
|
|
is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslDigestMd5.Dquote(System.String)">
|
|
<summary>
|
|
Encloses the specified string in double-quotes.
|
|
</summary>
|
|
<param name="s">The string to enclose in double-quote characters.</param>
|
|
<returns>The enclosed string.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslDigestMd5.GenerateCnonce">
|
|
<summary>
|
|
Generates a random cnonce-value which is a "client-specified data string
|
|
which must be different each time a digest-response is sent".
|
|
</summary>
|
|
<returns>A random "cnonce-value" string.</returns>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslDigestMd5.IsCompleted">
|
|
<summary>
|
|
True if the authentication exchange between client and server
|
|
has been completed.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslDigestMd5.Name">
|
|
<summary>
|
|
The IANA name for the Digest-Md5 authentication mechanism as described
|
|
in RFC 2195.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslDigestMd5.Username">
|
|
<summary>
|
|
The username to authenticate with.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslDigestMd5.Password">
|
|
<summary>
|
|
The password to authenticate with.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.SaslNtlm">
|
|
<summary>
|
|
Implements the Sasl NTLM authentication method which is used in various
|
|
Microsoft network protocol implementations.
|
|
</summary>
|
|
<remarks>Implemented with the help of the excellent documentation on
|
|
NTLM composed by Eric Glass.</remarks>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.SaslNtlm.step">
|
|
<summary>
|
|
NTLM involves several steps.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslNtlm.#ctor">
|
|
<summary>
|
|
Private constructor for use with Sasl.SaslFactory.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslNtlm.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Creates and initializes a new instance of the SaslNtlm class
|
|
using the specified username and password.
|
|
</summary>
|
|
<param name="username">The username to authenticate with.</param>
|
|
<param name="password">The plaintext password to authenticate
|
|
with.</param>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the username
|
|
or the password parameter is null.</exception>
|
|
<exception cref="T:System.ArgumentException">Thrown if the username
|
|
parameter is empty.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslNtlm.ComputeResponse(System.Byte[])">
|
|
<summary>
|
|
Computes the client response to the specified NTLM challenge.
|
|
</summary>
|
|
<param name="challenge">The challenge sent by the server</param>
|
|
<returns>The response to the NTLM challenge.</returns>
|
|
<exception cref="T:S22.Imap.Auth.Sasl.SaslException">Thrown if the response could not
|
|
be computed.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslNtlm.ComputeInitialResponse(System.Byte[])">
|
|
<summary>
|
|
Computes the initial client response to an NTLM challenge.
|
|
</summary>
|
|
<param name="challenge">The challenge sent by the server. Since
|
|
NTLM expects an initial client response, this will usually be
|
|
empty.</param>
|
|
<returns>The initial response to the NTLM challenge.</returns>
|
|
<exception cref="T:S22.Imap.Auth.Sasl.SaslException">Thrown if the response could not
|
|
be computed.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslNtlm.ComputeChallengeResponse(System.Byte[])">
|
|
<summary>
|
|
Computes the actual challenge response to an NTLM challenge
|
|
which is sent as part of an NTLM type 2 message.
|
|
</summary>
|
|
<param name="challenge">The challenge sent by the server.</param>
|
|
<returns>The response to the NTLM challenge.</returns>
|
|
<exception cref="T:S22.Imap.Auth.Sasl.SaslException">Thrown if the challenge
|
|
response could not be computed.</exception>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslNtlm.IsCompleted">
|
|
<summary>
|
|
True if the authentication exchange between client and server
|
|
has been completed.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslNtlm.Name">
|
|
<summary>
|
|
The IANA name for the NTLM authentication mechanism.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslNtlm.Username">
|
|
<summary>
|
|
The username to authenticate with.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslNtlm.Password">
|
|
<summary>
|
|
The password to authenticate with.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.SaslNtlmv2">
|
|
<summary>
|
|
Implements the Sasl NTLMv2 authentication method which addresses
|
|
some of the security issues present in NTLM version 1.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslNtlmv2.#ctor">
|
|
<summary>
|
|
Private constructor for use with Sasl.SaslFactory.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslNtlmv2.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Creates and initializes a new instance of the SaslNtlmv2 class
|
|
using the specified username and password.
|
|
</summary>
|
|
<param name="username">The username to authenticate with.</param>
|
|
<param name="password">The plaintext password to authenticate
|
|
with.</param>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the username
|
|
or the password parameter is null.</exception>
|
|
<exception cref="T:System.ArgumentException">Thrown if the username
|
|
parameter is empty.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslNtlmv2.ComputeResponse(System.Byte[])">
|
|
<summary>
|
|
Computes the client response to the specified NTLM challenge.
|
|
</summary>
|
|
<param name="challenge">The challenge sent by the server</param>
|
|
<returns>The response to the NTLM challenge.</returns>
|
|
<exception cref="T:S22.Imap.Auth.Sasl.SaslException">Thrown if the response could not
|
|
be computed.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslNtlmv2.ComputeChallengeResponse(System.Byte[])">
|
|
<summary>
|
|
Computes the actual challenge response to an NTLM challenge
|
|
which is sent as part of an NTLM type 2 message.
|
|
</summary>
|
|
<param name="challenge">The challenge sent by the server.</param>
|
|
<returns>The response to the NTLM challenge.</returns>
|
|
<exception cref="T:S22.Imap.Auth.Sasl.SaslException">Thrown if the challenge
|
|
response could not be computed.</exception>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.SaslOAuth">
|
|
<summary>
|
|
Implements the Sasl OAuth authentication method.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslOAuth.#ctor">
|
|
<summary>
|
|
Private constructor for use with Sasl.SaslFactory.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslOAuth.#ctor(System.String)">
|
|
<summary>
|
|
Creates and initializes a new instance of the SaslOAuth class
|
|
using the specified username and password.
|
|
</summary>
|
|
<param name="accessToken">The username to authenticate with.</param>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the accessToken
|
|
parameter is null.</exception>
|
|
<exception cref="T:System.ArgumentException">Thrown if the accessToken
|
|
parameter is empty.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslOAuth.ComputeResponse(System.Byte[])">
|
|
<summary>
|
|
Computes the client response for a OAuth challenge.
|
|
</summary>
|
|
<param name="challenge">The challenge sent by the server.</param>
|
|
<returns>The response to the OAuth challenge.</returns>
|
|
<exception cref="T:S22.Imap.Auth.Sasl.SaslException">Thrown if the response could not
|
|
be computed.</exception>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslOAuth.IsCompleted">
|
|
<summary>
|
|
True if the authentication exchange between client and server
|
|
has been completed.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslOAuth.Name">
|
|
<summary>
|
|
The IANA name for the OAuth authentication mechanism.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslOAuth.AccessToken">
|
|
<summary>
|
|
The access token to authenticate with.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.SaslOAuth2">
|
|
<summary>
|
|
Implements the Sasl OAuth 2.0 authentication method.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Auth.Sasl.Mechanisms.SaslOAuth2.Step">
|
|
<summary>
|
|
The server sends an error response in case authentication fails
|
|
which must be acknowledged.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslOAuth2.#ctor">
|
|
<summary>
|
|
Private constructor for use with Sasl.SaslFactory.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslOAuth2.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Creates and initializes a new instance of the SaslOAuth class
|
|
using the specified username and password.
|
|
</summary>
|
|
<param name="username">The username to authenticate with.</param>
|
|
<param name="accessToken">The username to authenticate with.</param>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the username
|
|
or the accessToken parameter is null.</exception>
|
|
<exception cref="T:System.ArgumentException">Thrown if the username or
|
|
the accessToken parameter is empty.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslOAuth2.ComputeResponse(System.Byte[])">
|
|
<summary>
|
|
Computes the client response to an XOAUTH2 challenge.
|
|
</summary>
|
|
<param name="challenge">The challenge sent by the server.</param>
|
|
<returns>The response to the OAuth2 challenge.</returns>
|
|
<exception cref="T:S22.Imap.Auth.Sasl.SaslException">Thrown if the response could not
|
|
be computed.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslOAuth2.ComputeInitialResponse(System.Byte[])">
|
|
<summary>
|
|
Computes the initial client response to an XOAUTH2 challenge.
|
|
</summary>
|
|
<param name="challenge">The challenge sent by the server.</param>
|
|
<returns>The response to the OAuth2 challenge.</returns>
|
|
<exception cref="T:S22.Imap.Auth.Sasl.SaslException">Thrown if the response could not
|
|
be computed.</exception>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslOAuth2.IsCompleted">
|
|
<summary>
|
|
True if the authentication exchange between client and server
|
|
has been completed.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslOAuth2.Name">
|
|
<summary>
|
|
The IANA name for the OAuth 2.0 authentication mechanism.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslOAuth2.Username">
|
|
<summary>
|
|
The username to authenticate with.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslOAuth2.AccessToken">
|
|
<summary>
|
|
The access token to authenticate with.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.Mechanisms.SaslPlain">
|
|
<summary>
|
|
Implements the Sasl Plain authentication method as described in
|
|
RFC 4616.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslPlain.#ctor">
|
|
<summary>
|
|
Private constructor for use with Sasl.SaslFactory.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslPlain.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Creates and initializes a new instance of the SaslPlain class
|
|
using the specified username and password.
|
|
</summary>
|
|
<param name="username">The username to authenticate with.</param>
|
|
<param name="password">The plaintext password to authenticate
|
|
with.</param>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the username
|
|
or the password parameter is null.</exception>
|
|
<exception cref="T:System.ArgumentException">Thrown if the username
|
|
parameter is empty.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.Mechanisms.SaslPlain.ComputeResponse(System.Byte[])">
|
|
<summary>
|
|
Computes the client response for a plain-challenge.
|
|
</summary>
|
|
<param name="challenge">The challenge sent by the server. For the
|
|
"plain" mechanism this will usually be empty.</param>
|
|
<returns>The response for the "plain"-challenge.</returns>
|
|
<exception cref="T:S22.Imap.Auth.Sasl.SaslException">Thrown if the response could not
|
|
be computed.</exception>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslPlain.IsCompleted">
|
|
<summary>
|
|
True if the authentication exchange between client and server
|
|
has been completed.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslPlain.Name">
|
|
<summary>
|
|
The IANA name for the Plain authentication mechanism as described
|
|
in RFC 4616.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslPlain.Username">
|
|
<summary>
|
|
The username to authenticate with.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.Mechanisms.SaslPlain.Password">
|
|
<summary>
|
|
The plain-text password to authenticate with.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.SaslException">
|
|
<summary>
|
|
The exception is thrown when a Sasl-related error or unexpected condition occurs.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.SaslException.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the SaslException class
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.SaslException.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the SaslException class with its message
|
|
string set to <paramref name="message"/>.
|
|
</summary>
|
|
<param name="message">A description of the error. The content of message is intended
|
|
to be understood by humans.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.SaslException.#ctor(System.String,System.Exception)">
|
|
<summary>
|
|
Initializes a new instance of the SaslException class with its message
|
|
string set to <paramref name="message"/> and a reference to the inner exception that
|
|
is the cause of this exception.
|
|
</summary>
|
|
<param name="message">A description of the error. The content of message is intended
|
|
to be understood by humans.</param>
|
|
<param name="inner">The exception that is the cause of the current exception.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.SaslException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
|
|
<summary>
|
|
Initializes a new instance of the SaslException class with the specified
|
|
serialization and context information.
|
|
</summary>
|
|
<param name="info">An object that holds the serialized object data about the exception
|
|
being thrown. </param>
|
|
<param name="context">An object that contains contextual information about the source
|
|
or destination. </param>
|
|
</member>
|
|
<member name="T:S22.Imap.Auth.Sasl.SaslFactory">
|
|
<summary>
|
|
A factory class for producing instances of Sasl mechanisms.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.SaslFactory.Create(System.String)">
|
|
<summary>
|
|
Creates an instance of the Sasl mechanism with the specified
|
|
name.
|
|
</summary>
|
|
<param name="name">The name of the Sasl mechanism of which an
|
|
instance will be created.</param>
|
|
<returns>An instance of the Sasl mechanism with the specified name.</returns>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the name parameter
|
|
is null.</exception>
|
|
<exception cref="T:S22.Imap.Auth.Sasl.SaslException">Thrown if the Sasl mechanism with the
|
|
specified name is not registered with Sasl.SaslFactory.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.SaslFactory.Add(System.String,System.Type)">
|
|
<summary>
|
|
Registers a Sasl mechanism with the factory using the specified name.
|
|
</summary>
|
|
<param name="name">The name with which to register the Sasl mechanism
|
|
with the factory class.</param>
|
|
<param name="t">The type of the class implementing the Sasl mechanism.
|
|
The implementing class must be a subclass of Sasl.SaslMechanism.</param>
|
|
<exception cref="T:System.ArgumentNullException">Thrown if the name or the t
|
|
parameter is null.</exception>
|
|
<exception cref="T:System.ArgumentException">Thrown if the class represented
|
|
by the specified type does not derive from Sasl.SaslMechanism.</exception>
|
|
<exception cref="T:S22.Imap.Auth.Sasl.SaslException">Thrown if the Sasl mechanism could not
|
|
be registered with the factory. Refer to the inner exception for error
|
|
details.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Auth.Sasl.SaslFactory.#cctor">
|
|
<summary>
|
|
Static class constructor. Initializes static properties.
|
|
</summary>
|
|
</member>
|
|
<member name="P:S22.Imap.Auth.Sasl.SaslFactory.Mechanisms">
|
|
<summary>
|
|
A dictionary of Sasl mechanisms registered with the factory class.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.SearchCondition">
|
|
<summary>
|
|
Represents chainable search conditions that can be used with the Search method.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.All">
|
|
<summary>
|
|
Finds all messages in the mailbox.
|
|
</summary>
|
|
<returns>A SearchCondition object representing the "all" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Text(System.String)">
|
|
<summary>
|
|
Finds messages that contain the specified string in the header or body of the message.
|
|
</summary>
|
|
<param name="text">String to search messages for.</param>
|
|
<returns>A SearchCondition object representing the "text" search criterion.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The text parameter is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.BCC(System.String)">
|
|
<summary>
|
|
Finds messages that contain the specified string in the envelope structure's BCC field.
|
|
</summary>
|
|
<param name="text">String to search the envelope structure's BCC field for.</param>
|
|
<returns>A SearchCondition object representing the "BCC" search criterion.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The text parameter is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Before(System.DateTime)">
|
|
<summary>
|
|
Finds messages whose internal date (disregarding time and timezone) is earlier than the
|
|
specified date.
|
|
</summary>
|
|
<param name="date">The date to compare the message's internal date with.</param>
|
|
<returns>A SearchCondition object representing the "Before" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Body(System.String)">
|
|
<summary>
|
|
Finds messages that contain the specified string in the body of the message.
|
|
</summary>
|
|
<param name="text">String to search the message body for.</param>
|
|
<returns>A SearchCondition object representing the "Body" search criterion.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The text parameter is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Cc(System.String)">
|
|
<summary>
|
|
Finds messages that contain the specified string in the envelope structure's CC field.
|
|
</summary>
|
|
<param name="text">String to search the envelope structure's CC field for.</param>
|
|
<returns>A SearchCondition object representing the "CC" search criterion.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The text parameter is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.From(System.String)">
|
|
<summary>
|
|
Finds messages that contain the specified string in the envelope structure's FROM field.
|
|
</summary>
|
|
<param name="text">String to search the envelope structure's FROM field for.</param>
|
|
<returns>A SearchCondition object representing the "FROM" search criterion.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The text parameter is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Header(System.String,System.String)">
|
|
<summary>
|
|
Finds messages that have a header with the specified field-name and that contains the
|
|
specified string in the text of the header.
|
|
</summary>
|
|
<param name="name">field-name of the header to search for.</param>
|
|
<param name="text">String to search for in the text of the header.</param>
|
|
<returns>A SearchCondition object representing the "HEADER" search criterion.</returns>
|
|
<remarks>
|
|
If the string to search is zero-length, this matches all messages that have a header line
|
|
with the specified field-name regardless of the contents.
|
|
</remarks>
|
|
<exception cref="T:System.ArgumentNullException">The name parameter or the text parameter is
|
|
null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Keyword(System.String)">
|
|
<summary>
|
|
Finds messages with the specified keyword flag set.
|
|
</summary>
|
|
<param name="text">The keyword flag to search for.</param>
|
|
<returns>A SearchCondition object representing the "KEYWORD" search criterion.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The text parameter is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Larger(System.Int64)">
|
|
<summary>
|
|
Finds messages with a size larger than the specified number of bytes.
|
|
</summary>
|
|
<param name="size">Minimum size, in bytes a message must have to be included in the search
|
|
result.</param>
|
|
<returns>A SearchCondition object representing the "LARGER" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Smaller(System.Int64)">
|
|
<summary>
|
|
Finds messages with a size smaller than the specified number of bytes.
|
|
</summary>
|
|
<param name="size">Maximum size, in bytes a message must have to be included in the search
|
|
result.</param>
|
|
<returns>A SearchCondition object representing the "SMALLER" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.SentBefore(System.DateTime)">
|
|
<summary>
|
|
Finds messages whose Date: header (disregarding time and timezone) is earlier than the
|
|
specified date.
|
|
</summary>
|
|
<param name="date">The date to compare the Date: header field with.</param>
|
|
<returns>A SearchCondition object representing the "SENTBEFORE" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.SentOn(System.DateTime)">
|
|
<summary>
|
|
Finds messages whose Date: header (disregarding time and timezone) is within the specified
|
|
date.
|
|
</summary>
|
|
<param name="date">The date to compare the Date: header field with.</param>
|
|
<returns>A SearchCondition object representing the "SENTON" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.SentSince(System.DateTime)">
|
|
<summary>
|
|
Finds messages whose Date: header (disregarding time and timezone) is within or later than
|
|
the specified date.
|
|
</summary>
|
|
<param name="date">The date to compare the Date: header field with.</param>
|
|
<returns>A SearchCondition object representing the "SENTSINCE" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Subject(System.String)">
|
|
<summary>
|
|
Finds messages that contain the specified string in the envelope structure's SUBJECT field.
|
|
</summary>
|
|
<param name="text">String to search the envelope structure's SUBJECT field for.</param>
|
|
<returns>A SearchCondition object representing the "SUBJECT" search criterion.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The text parameter is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.To(System.String)">
|
|
<summary>
|
|
Finds messages that contain the specified string in the envelope structure's TO field.
|
|
</summary>
|
|
<param name="text">String to search the envelope structure's TO field for.</param>
|
|
<returns>A SearchCondition object representing the "TO" search criterion.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The text parameter is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.UID(System.UInt32[])">
|
|
<summary>
|
|
Finds messages with unique identifiers corresponding to the specified unique identifier set.
|
|
</summary>
|
|
<param name="uids">One or several unique identifiers (UID).</param>
|
|
<returns>A SearchCondition object representing the "UID" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.GreaterThan(System.UInt32)">
|
|
<summary>
|
|
Finds messages with a unique identifier greater than the specified unique identifier.
|
|
</summary>
|
|
<param name="uid">A unique identifier (UID).</param>
|
|
<returns>A SearchCondition object representing the "UID" search criterion.</returns>
|
|
<remarks>
|
|
Because of the nature of the IMAP search mechanism, the result set will always contain the
|
|
UID of the last message in the mailbox, even if said UID is smaller than the UID specified.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.LessThan(System.UInt32)">
|
|
<summary>
|
|
Finds messages with a unique identifier less than the specified unique identifier.
|
|
</summary>
|
|
<param name="uid">A unique identifier (UID).</param>
|
|
<returns>A SearchCondition object representing the "UID" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Unkeyword(System.String)">
|
|
<summary>
|
|
Finds messages that do not have the specified keyword flag set.
|
|
</summary>
|
|
<param name="text">The IMAP keyword flag to search for.</param>
|
|
<returns>A SearchCondition object representing the "UNKEYWORD" search criterion.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The text parameter is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Answered">
|
|
<summary>
|
|
Finds messages that have the \Answered flag set.
|
|
</summary>
|
|
<returns>A SearchCondition object representing the "ANSWERED" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Deleted">
|
|
<summary>
|
|
Finds messages that have the \Deleted flag set.
|
|
</summary>
|
|
<returns>A SearchCondition object representing the "DELETED" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Draft">
|
|
<summary>
|
|
Finds messages that have the \Draft flag set.
|
|
</summary>
|
|
<returns>A SearchCondition object representing the "DRAFT" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Flagged">
|
|
<summary>
|
|
Finds messages that have the \Flagged flag set.
|
|
</summary>
|
|
<returns>A SearchCondition object representing the "FLAGGED" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.New">
|
|
<summary>
|
|
Finds messages that have the \Recent flag set but not the \Seen flag.
|
|
</summary>
|
|
<returns>A SearchCondition object representing the "NEW" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Old">
|
|
<summary>
|
|
Finds messages that do not have the \Recent flag set.
|
|
</summary>
|
|
<returns>A SearchCondition object representing the "OLD" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Recent">
|
|
<summary>
|
|
Finds messages that have the \Recent flag set.
|
|
</summary>
|
|
<returns>A SearchCondition object representing the "RECENT" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Seen">
|
|
<summary>
|
|
Finds messages that have the \Seen flag set.
|
|
</summary>
|
|
<returns>A SearchCondition object representing the "SEEN" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Unanswered">
|
|
<summary>
|
|
Finds messages that do not have the \Answered flag set.
|
|
</summary>
|
|
<returns>A SearchCondition object representing the "UNANSWERED" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Undeleted">
|
|
<summary>
|
|
Finds messages that do not have the \Deleted flag set.
|
|
</summary>
|
|
<returns>A SearchCondition object representing the "UNDELETED" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Undraft">
|
|
<summary>
|
|
Finds messages that do not have the \Draft flag set.
|
|
</summary>
|
|
<returns>A SearchCondition object representing the "UNDRAFT" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Unflagged">
|
|
<summary>
|
|
Finds messages that do not have the \Flagged flag set.
|
|
</summary>
|
|
<returns>A SearchCondition object representing the "UNFLAGGED" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Unseen">
|
|
<summary>
|
|
Finds messages that do not have the \Seen flag set.
|
|
</summary>
|
|
<returns>A SearchCondition object representing the "UNSEEN" search criterion.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.And(S22.Imap.SearchCondition)">
|
|
<summary>
|
|
Logically ANDs multiple search conditions, meaning a message will only be included in the
|
|
search result if both of the ANDed conditions are met.
|
|
</summary>
|
|
<param name="other">A search condition to logically AND this SearchCondition instance
|
|
with.</param>
|
|
<returns>A new SearchCondition instance which can be further chained with other search
|
|
conditions.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The other parameter is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Not(S22.Imap.SearchCondition)">
|
|
<summary>
|
|
Logically negates search conditions, meaning a message will only be included in the search
|
|
result if the specified conditions are not met.
|
|
</summary>
|
|
<param name="other">A search condition that must not be met by a message for it to be
|
|
included in the search result set.</param>
|
|
<returns>A new SearchCondition instance which can be further chained with other search
|
|
conditions.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The other parameter is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Or(S22.Imap.SearchCondition)">
|
|
<summary>
|
|
Logically ORs multiple search conditions, meaning a message will be included in the search
|
|
result if it meets at least either of the conditions.
|
|
</summary>
|
|
<param name="other">A search condition to logically OR this SearchCondition instance
|
|
with.</param>
|
|
<returns>A new SearchCondition instance which can be further chained with other search
|
|
conditions.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The other parameter is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Join(System.String,S22.Imap.SearchCondition,S22.Imap.SearchCondition)">
|
|
<summary>
|
|
Joins two SearchCondition objects into a new one using the specified logical operator.
|
|
</summary>
|
|
<param name="condition">The logical operator to use for joining the search conditions.
|
|
Possible values are "OR", "NOT" and the empty string "" which denotes a logical AND.</param>
|
|
<param name="left">The first SearchCondition object</param>
|
|
<param name="right">The second SearchCondition object</param>
|
|
<returns>A new SearchCondition object representing the two search conditions joined by the
|
|
specified logical operator.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.Join``1(System.String,System.Collections.Generic.IEnumerable{``0})">
|
|
<summary>
|
|
Concatenates the members of a collection, using the specified separator between each
|
|
member.
|
|
</summary>
|
|
<typeparam name="T">The type of the members of values.</typeparam>
|
|
<param name="seperator">The string to use as a separator.</param>
|
|
<param name="values">A collection that contains the objects to concatenate.</param>
|
|
<returns>A string that consists of the members of values delimited by the separator
|
|
string. If values has no members, the method returns System.String.Empty.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The values parameter is null.</exception>
|
|
<remarks>This is already part of the String class in .NET 4.0 and newer but is needed
|
|
for backwards compatibility with .NET 3.5.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.SearchCondition.ToString">
|
|
<summary>
|
|
Constructs a string from the SearchCondition object using the proper syntax as is required
|
|
for the IMAP SEARCH command.
|
|
</summary>
|
|
<returns>A string representing this SearchCondition instance that can be used with the IMAP
|
|
SEARCH command.</returns>
|
|
</member>
|
|
<member name="T:S22.Imap.SearchCondition.Fields">
|
|
<summary>
|
|
The search keys which can be used with the IMAP SEARCH command, as are defined in section
|
|
6.4.4 of RFC 3501.
|
|
</summary>
|
|
</member>
|
|
<member name="T:S22.Imap.Util">
|
|
<summary>
|
|
A static utility class containing methods for decoding encoded non-ASCII data as well as
|
|
extension methods for some classes of the base class library.
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.QuoteString(System.String)">
|
|
<summary>
|
|
Returns a copy of the string enclosed in double-quotes and with escaped CRLF, back-slash
|
|
and double-quote characters (as is expected by some commands of the IMAP protocol).
|
|
</summary>
|
|
<param name="value">Extends the System.String class</param>
|
|
<returns>A copy of the string enclosed in double-quotes and properly escaped as is required
|
|
by the IMAP protocol.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.IsASCII(System.String)">
|
|
<summary>
|
|
Returns true if the string contains only ASCII characters.
|
|
</summary>
|
|
<param name="s">Extension method for the String class.</param>
|
|
<returns>true if the string contains only ASCII characters; Otherwise false.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.ToChunks(System.String,System.Int32)">
|
|
<summary>
|
|
Splits a string into chunks of the specified number of characters.
|
|
</summary>
|
|
<param name="str">Extension method for the String class.</param>
|
|
<param name="characters">The length of a chunk, measured in characters.</param>
|
|
<returns>An array of string chunks.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.Contains(System.String,System.String,System.StringComparison)">
|
|
<summary>
|
|
Determines whether the specified string occurs within this string.
|
|
</summary>
|
|
<param name="str">Extension method for the String class.</param>
|
|
<param name="value">The string to seek.</param>
|
|
<param name="comparer">One of the enumeration values that specifies the rules for the
|
|
search.</param>
|
|
<returns>true if the value parameter occurs within this string, or if value is the empty
|
|
string (""); otherwise, false.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The value parameter is null.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.Raise``1(System.EventHandler{``0},System.Object,``0)">
|
|
<summary>
|
|
Raises the event. Ensures the event is only raised, if it is not null.
|
|
</summary>
|
|
<typeparam name="T">Extends System.EventHandler class.</typeparam>
|
|
<param name="event">Extends System.EventHandler class.</param>
|
|
<param name="sender">The sender of the event.</param>
|
|
<param name="args">The event arguments associated with this event.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.ThrowIfNull``1(``0,System.String)">
|
|
<summary>
|
|
Throws an ArgumentNullException if the given data item is null.
|
|
</summary>
|
|
<param name="data">The item to check for nullity.</param>
|
|
<param name="name">The name to use when throwing an exception, if necessary.</param>
|
|
<remarks>Courtesy of Jon Skeet.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.ThrowIfNull``1(``0)">
|
|
<summary>
|
|
Throws an ArgumentNullException if the given data item is null.
|
|
</summary>
|
|
<param name="data">The item to check for nullity.</param>
|
|
<remarks>Courtesy of Jon Skeet.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.ThrowIfNullOrEmpty(System.String)">
|
|
<summary>
|
|
Throws an ArgumentNullException if the given string is null or throws an ArgumentException
|
|
if the given string is empty.
|
|
</summary>
|
|
<param name="s">The string to check for nullity and emptiness.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.ThrowIfNullOrEmpty(System.String,System.String)">
|
|
<summary>
|
|
Throws an ArgumentNullException if the given string is null or throws an ArgumentException
|
|
if the given string is empty.
|
|
</summary>
|
|
<param name="s">The string to check for nullity and emptiness.</param>
|
|
<param name="name">The name to use when throwing an exception, if necessary.</param>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.ReadUInt16(System.IO.BinaryReader,System.Boolean)">
|
|
<summary>
|
|
Reads an unsigned short value from the underlying stream, optionally using big-endian byte
|
|
ordering.
|
|
</summary>
|
|
<param name="reader">Extension method for BinaryReader.</param>
|
|
<param name="bigEndian">Set to true to interpret the short value as big endian value.</param>
|
|
<returns>The 16-byte unsigned short value read from the underlying stream.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.DecodeWords(System.String)">
|
|
<summary>
|
|
Decodes a string composed of one or several MIME 'encoded-words'.
|
|
</summary>
|
|
<param name="words">A string to composed of one or several MIME 'encoded-words'.</param>
|
|
<exception cref="T:System.FormatException">An unknown encoding (other than Q-Encoding or Base64) is
|
|
encountered.</exception>
|
|
<returns>A concatenation of all enconded-words in the passed string</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.HandleFillData(System.Text.StringBuilder,System.String)">
|
|
<summary>
|
|
Internal function reuse to add separation between multiple 'encoded-word's correctly.
|
|
</summary>
|
|
</member>
|
|
<member name="F:S22.Imap.Util.rxDecodeWord">
|
|
<summary>
|
|
The regular expression for matching encoded-words. This also accounts for the extension for
|
|
including language information (as defined in RFC2231).
|
|
</summary>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.DecodeWord(System.String)">
|
|
<summary>
|
|
Decodes a MIME 'encoded-word' string.
|
|
</summary>
|
|
<param name="word">The encoded word to decode</param>
|
|
<exception cref="T:System.FormatException">An unknown encoding (other than Q-Encoding or Base64) is
|
|
encountered.</exception>
|
|
<returns>A decoded string</returns>
|
|
<remarks>MIME encoded-word syntax is a way to encode strings that contain non-ASCII data.
|
|
Commonly used encodings for the encoded-word sytax are Q-Encoding and Base64. For an
|
|
in-depth description, refer to RFC 2047.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.QDecode(System.String,System.Text.Encoding)">
|
|
<summary>
|
|
Takes a Q-encoded string and decodes it using the specified encoding.
|
|
</summary>
|
|
<param name="value">The Q-encoded string to decode.</param>
|
|
<param name="encoding">The encoding to use for encoding the returned string.</param>
|
|
<exception cref="T:System.FormatException">The string is not a valid Q-encoded string.</exception>
|
|
<returns>The Q-decoded string.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.QPDecode(System.String,System.Text.Encoding)">
|
|
<summary>
|
|
Takes a quoted-printable encoded string and decodes it using the specified encoding.
|
|
</summary>
|
|
<param name="value">The quoted-printable-encoded string to decode.</param>
|
|
<param name="encoding">The encoding to use for encoding the returned string.</param>
|
|
<exception cref="T:System.FormatException">The string is not a valid quoted-printable encoded
|
|
string.</exception>
|
|
<returns>A quoted-printable decoded string.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.Rfc2231Decode(System.String)">
|
|
<summary>
|
|
Decodes the specified MIME parameter value.
|
|
</summary>
|
|
<param name="value">The MIME parameter value to decode.</param>
|
|
<returns>The decoded MIME parameter value.</returns>
|
|
<exception cref="T:System.FormatException">The specified value is not a valid Rfc2231-encoded
|
|
string.</exception>
|
|
<remarks>Refer to RFC2231 for the details of the encoding mechanism.</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.Base64Decode(System.String)">
|
|
<summary>
|
|
Takes a Base64-encoded string and decodes it.
|
|
</summary>
|
|
<param name="value">The Base64-encoded string to decode.</param>
|
|
<returns>A byte array containing the Base64-decoded bytes of the input string.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The value parameter is null.</exception>
|
|
<exception cref="T:System.FormatException">The length of value, ignoring white-space
|
|
characters, is not zero or a multiple of 4, or the format of value is invalid, or the value
|
|
contains a non-base-64 character, more than two padding characters, or a non-white
|
|
space-character among the padding characters.</exception>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.UTF7Encode(System.String)">
|
|
<summary>
|
|
Takes a UTF-16 encoded string and encodes it as modified UTF-7.
|
|
</summary>
|
|
<param name="s">The string to encode.</param>
|
|
<returns>A UTF-7 encoded string</returns>
|
|
<remarks>IMAP uses a modified version of UTF-7 for encoding international mailbox names. For
|
|
details, refer to RFC 3501 section 5.1.3 (Mailbox International Naming Convention).</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.UTF7Decode(System.String)">
|
|
<summary>
|
|
Takes a modified UTF-7 encoded string and decodes it.
|
|
</summary>
|
|
<param name="s">The UTF-7 encoded string to decode.</param>
|
|
<returns>A UTF-16 encoded "standard" C# string</returns>
|
|
<exception cref="T:System.FormatException">The input string is not a properly UTF-7 encoded
|
|
string.</exception>
|
|
<remarks>IMAP uses a modified version of UTF-7 for encoding international mailbox names. For
|
|
details, refer to RFC 3501 section 5.1.3 (Mailbox International Naming Convention).</remarks>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.GetEncoding(System.String)">
|
|
<summary>
|
|
This just wraps Encoding.GetEncoding in a try-catch block to ensure it never fails. If the
|
|
encoding can not be determined ASCII is returned as a default.
|
|
</summary>
|
|
<param name="name">The code page name of the preferred encoding. Any value returned by
|
|
System.Text.Encoding.WebName is a valid input.</param>
|
|
<returns>The System.Text.Encoding associated with the specified code page or Encoding.ASCII
|
|
if the specified code page could not be resolved.</returns>
|
|
</member>
|
|
<member name="M:S22.Imap.Util.BuildSequenceSet(System.Collections.Generic.IEnumerable{System.UInt32})">
|
|
<summary>
|
|
Converts the specified enumerable collection of UIDs into an IMAP sequence-set.
|
|
</summary>
|
|
<param name="uids">An enumerable collection of UIDs.</param>
|
|
<returns>An IMAP sequence-set suitable for use with IMAP commands.</returns>
|
|
<exception cref="T:System.ArgumentNullException">The uids parameter is null.</exception>
|
|
<exception cref="T:System.ArgumentException">The specified collection of UIDs is empty.</exception>
|
|
<remarks> Refer to RFC3501, 9.Formal Syntax "sequence-set" for a description of IMAP
|
|
sequence-sets.</remarks>
|
|
</member>
|
|
</members>
|
|
</doc>
|