MimeKit A MIME part with a Content-Type of application/pgp-encrypted. An application/pgp-encrypted part will typically be the first child of a part and contains only a Version header. Initializes a new instance of the class based on the . This constructor is used by . Information used by the constructor. is null. Initializes a new instance of the class. Creates a new MIME part with a Content-Type of application/pgp-encrypted and content matching "Version: 1\n". Dispatches to the specific visit method for this MIME entity. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. A MIME part with a Content-Type of application/pgp-signature. An application/pgp-signature part contains detatched pgp signature data and is typically contained within a part. To verify the signature, use the one of the Verify methods on the parent multipart/signed part. Initializes a new instance of the class based on the . This constructor is used by . Information used by the constructor. is null. Initializes a new instance of the class with a Content-Type of application/pgp-signature. Creates a new MIME part with a Content-Type of application/pgp-signature and the as its content. The content stream. is null. does not support reading. -or- does not support seeking. Dispatches to the specific visit method for this MIME entity. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. An S/MIME part with a Content-Type of application/pkcs7-mime. An application/pkcs7-mime is an S/MIME part and may contain encrypted, signed or compressed data (or any combination of the above). Initializes a new instance of the class. This constructor is used by . Information used by the constructor. is null. Initializes a new instance of the class. Creates a new MIME part with a Content-Type of application/pkcs7-mime and the as its content. Unless you are writing your own pkcs7 implementation, you'll probably want to use the , , and/or method to create new instances of this class. The S/MIME type. The content stream. is null. is not a valid value. does not support reading. -or- does not support seeking. Gets the value of the "smime-type" parameter. Gets the value of the "smime-type" parameter. The value of the "smime-type" parameter. Dispatches to the specific visit method for this MIME entity. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. Decompress the compressed-data. Decompresses the compressed-data using the specified . The decompressed . The S/MIME context to use for decompressing. is null. The "smime-type" parameter on the Content-Type header is not "compressed-data". An error occurred in the cryptographic message syntax subsystem. Decompress the compressed-data. Decompresses the compressed-data using the default . The decompressed . The "smime-type" parameter on the Content-Type header is not "compressed-data". An error occurred in the cryptographic message syntax subsystem. Decrypt the enveloped-data. Decrypts the enveloped-data using the specified . The decrypted . The S/MIME context to use for decrypting. The cancellation token. is null. The "smime-type" parameter on the Content-Type header is not "enveloped-data". The operation was cancelled via the cancellation token. An error occurred in the cryptographic message syntax subsystem. Decrypt the enveloped-data. Decrypts the enveloped-data using the default . The decrypted . The cancellation token. The "smime-type" parameter on the Content-Type header is not "certs-only". The operation was cancelled via the cancellation token. An error occurred in the cryptographic message syntax subsystem. Import the certificates contained in the application/pkcs7-mime content. Imports the certificates contained in the application/pkcs7-mime content. The S/MIME context to import certificates into. is null. The "smime-type" parameter on the Content-Type header is not "certs-only". An error occurred in the cryptographic message syntax subsystem. Verify the signed-data and return the unencapsulated . Verifies the signed-data and returns the unencapsulated . The list of digital signatures. The S/MIME context to use for verifying the signature. The unencapsulated entity. The cancellation token. is null. The "smime-type" parameter on the Content-Type header is not "signed-data". The extracted content could not be parsed as a MIME entity. The operation was cancelled via the cancellation token. An error occurred in the cryptographic message syntax subsystem. Verifies the signed-data and returns the unencapsulated . Verifies the signed-data using the default and returns the unencapsulated . The list of digital signatures. The unencapsulated entity. The cancellation token. The "smime-type" parameter on the Content-Type header is not "signed-data". The operation was cancelled via the cancellation token. An error occurred in the cryptographic message syntax subsystem. Compresses the specified entity. Compresses the specified entity using the specified . Most mail clients, even among those that support S/MIME, do not support compression. The compressed entity. The S/MIME context to use for compressing. The entity. is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. Compresses the specified entity. Compresses the specified entity using the default . Most mail clients, even among those that support S/MIME, do not support compression. The compressed entity. The entity. is null. An error occurred in the cryptographic message syntax subsystem. Encrypts the specified entity. Encrypts the entity to the specified recipients using the supplied . The encrypted entity. The S/MIME context to use for encrypting. The recipients. The entity. is null. -or- is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. Encrypts the specified entity. Encrypts the entity to the specified recipients using the default . The encrypted entity. The recipients. The entity. is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. Encrypts the specified entity. Encrypts the entity to the specified recipients using the supplied . The encrypted entity. The S/MIME context to use for encrypting. The recipients. The entity. is null. -or- is null. -or- is null. Valid certificates could not be found for one or more of the . A certificate could not be found for one or more of the . An error occurred in the cryptographic message syntax subsystem. Encrypts the specified entity. Encrypts the entity to the specified recipients using the default . The encrypted entity. The recipients. The entity. is null. -or- is null. Valid certificates could not be found for one or more of the . A certificate could not be found for one or more of the . An error occurred in the cryptographic message syntax subsystem. Cryptographically signs the specified entity. Signs the entity using the supplied signer and . For better interoperability with other mail clients, you should use instead as the multipart/signed format is supported among a much larger subset of mail client software. The signed entity. The S/MIME context to use for signing. The signer. The entity. is null. -or- is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. Cryptographically signs the specified entity. Signs the entity using the supplied signer and the default . For better interoperability with other mail clients, you should use instead as the multipart/signed format is supported among a much larger subset of mail client software. The signed entity. The signer. The entity. is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. Cryptographically signs the specified entity. Signs the entity using the supplied signer, digest algorithm and . For better interoperability with other mail clients, you should use instead as the multipart/signed format is supported among a much larger subset of mail client software. The signed entity. The S/MIME context to use for signing. The signer. The digest algorithm to use for signing. The entity. is null. -or- is null. -or- is null. A signing certificate could not be found for . An error occurred in the cryptographic message syntax subsystem. Cryptographically signs the specified entity. Signs the entity using the supplied signer, digest algorithm and the default . For better interoperability with other mail clients, you should use instead as the multipart/signed format is supported among a much larger subset of mail client software. The signed entity. The signer. The digest algorithm to use for signing. The entity. is null. -or- is null. A signing certificate could not be found for . An error occurred in the cryptographic message syntax subsystem. Cryptographically signs and encrypts the specified entity. Cryptographically signs entity using the supplied signer and then encrypts the result to the specified recipients. The signed and encrypted entity. The S/MIME context to use for signing and encrypting. The signer. The recipients. The entity. is null. -or- is null. -or- is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. Cryptographically signs and encrypts the specified entity. Cryptographically signs entity using the supplied signer and the default and then encrypts the result to the specified recipients. The signed and encrypted entity. The signer. The recipients. The entity. is null. -or- is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. Cryptographically signs and encrypts the specified entity. Cryptographically signs entity using the supplied signer and then encrypts the result to the specified recipients. The signed and encrypted entity. The S/MIME context to use for signing and encrypting. The signer. The digest algorithm to use for signing. The recipients. The entity. is null. -or- is null. -or- is null. -or- is null. A signing certificate could not be found for . -or- A certificate could not be found for one or more of the . An error occurred in the cryptographic message syntax subsystem. Cryptographically signs and encrypts the specified entity. Cryptographically signs entity using the supplied signer and the default and then encrypts the result to the specified recipients. The signed and encrypted entity. The signer. The digest algorithm to use for signing. The recipients. The entity. is null. -or- is null. -or- is null. A signing certificate could not be found for . -or- A certificate could not be found for one or more of the . An error occurred in the cryptographic message syntax subsystem. An S/MIME part with a Content-Type of application/pkcs7-signature. An application/pkcs7-signature part contains detatched pkcs7 signature data and is typically contained within a part. To verify the signature, use one of the Verify methods on the parent multipart/signed part. Initializes a new instance of the class. This constructor is used by . Information used by the constructor. is null. Initializes a new instance of the class with a Content-Type of application/pkcs7-signature. Creates a new MIME part with a Content-Type of application/pkcs7-signature and the as its content. The content stream. is null. does not support reading. -or- does not support seeking. Dispatches to the specific visit method for this MIME entity. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. An ARC signer. An ARC signer. Initializes a new instance of the class. Creates a new . The domain that the signer represents. The selector subdividing the domain. The signature algorithm. is null. -or- is null. Initializes a new instance of the class. Creates a new . The signer's private key. The domain that the signer represents. The selector subdividing the domain. The signature algorithm. is null. -or- is null. -or- is null. is not a private key. Initializes a new instance of the class. Creates a new . The file containing the private key. The domain that the signer represents. The selector subdividing the domain. The signature algorithm. is null. -or- is null. -or- is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . The file did not contain a private key. is an invalid file path. The specified file path could not be found. The user does not have access to read the specified file. An I/O error occurred. Initializes a new instance of the class. Creates a new . The stream containing the private key. The domain that the signer represents. The selector subdividing the domain. The signature algorithm. is null. -or- is null. -or- is null. The file did not contain a private key. An I/O error occurred. Generate an ARC-Authentication-Results header. Generates an ARC-Authentication-Results header. If the returned contains a with a equal to "arc", then the will be used as the cv= tag value in the ARC-Seal header generated by the . The format options. The message to create the ARC-Authentication-Results header for. The cancellation token. The ARC-Authentication-Results header or null if the should not sign the message. Asynchronously generate an ARC-Authentication-Results header. Asynchronously generates an ARC-Authentication-Results header. If the returned contains a with a equal to "arc", then the will be used as the cv= tag value in the ARC-Seal header generated by the . The format options. The message to create the ARC-Authentication-Results header for. The cancellation token. The ARC-Authentication-Results header or null if the should not sign the message. Get the timestamp value. Gets the timestamp to use as the t= value in the ARC-Message-Signature and ARC-Seal headers. A value representing the timestamp value. Digitally sign and seal a message using ARC. Digitally signs and seals a message using ARC. The formatting options. The message to sign. The list of header fields to sign. The cancellation token. is null. -or- is null. -or- is null. does not contain the 'From' header. -or- contains one or more of the following headers: Return-Path, Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature. One or more ARC headers either did not contain an instance tag or the instance tag was invalid. Asynchronously digitally sign and seal a message using ARC. Asynchronously digitally signs and seals a message using ARC. An awaitable task. The formatting options. The message to sign. The list of header fields to sign. The cancellation token. is null. -or- is null. -or- is null. does not contain the 'From' header. -or- contains one or more of the following headers: Return-Path, Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature. One or more ARC headers either did not contain an instance tag or the instance tag was invalid. Digitally sign and seal a message using ARC. Digitally signs and seals a message using ARC. The message to sign. The list of header fields to sign. The cancellation token. is null. -or- is null. does not contain the 'From' header. -or- contains one or more of the following headers: Return-Path, Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature. One or more ARC headers either did not contain an instance tag or the instance tag was invalid. Asynchronously digitally sign and seal a message using ARC. Asynchronously digitally signs and seals a message using ARC. An awaitable task. The message to sign. The list of header fields to sign. The cancellation token. is null. -or- is null. does not contain the 'From' header. -or- contains one or more of the following headers: Return-Path, Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature. One or more ARC headers either did not contain an instance tag or the instance tag was invalid. Digitally sign and seal a message using ARC. Digitally signs and seals a message using ARC. The formatting options. The message to sign. The list of header fields to sign. The cancellation token. is null. -or- is null. -or- is null. does not contain the 'From' header. -or- contains one or more of the following headers: Return-Path, Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature. One or more ARC headers either did not contain an instance tag or the instance tag was invalid. Asynchronously digitally sign and seal a message using ARC. Asynchronously digitally signs and seals a message using ARC. An awaitable task. The formatting options. The message to sign. The list of header fields to sign. The cancellation token. is null. -or- is null. -or- is null. does not contain the 'From' header. -or- contains one or more of the following headers: Return-Path, Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature. One or more ARC headers either did not contain an instance tag or the instance tag was invalid. Digitally sign and seal a message using ARC. Digitally signs and seals a message using ARC. The message to sign. The list of header fields to sign. The cancellation token. is null. -or- is null. does not contain the 'From' header. -or- contains one or more of the following headers: Return-Path, Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature. One or more ARC headers either did not contain an instance tag or the instance tag was invalid. Asynchronously digitally sign and seal a message using ARC. Asynchronously digitally signs and seals a message using ARC. An awaitable task. The message to sign. The list of header fields to sign. The cancellation token. is null. -or- is null. does not contain the 'From' header. -or- contains one or more of the following headers: Return-Path, Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature. One or more ARC headers either did not contain an instance tag or the instance tag was invalid. An ARC signature validation result. An ARC signature validation result. No signatures to validate. The validation passed. The validation failed. An ARC header validation result. Represents an ARC header and its signature validation result. Initializes a new instance of the class. The ARC header. is null. Initializes a new instance of the class. Creates a new . The ARC header. The signature validation result. is null. Get the signature validation result. Gets the signature validation result. The signature validation result. Get the ARC header. Gets the ARC header. The ARC header. An ARC validation result. Represents the results of ArcVerifier.Verify or ArcVerifier.VerifyAsync. If no ARC headers are found on the , then the result will be and both and will be null. If ARC headers are found on the but could not be parsed, then the result will be and both and will be null. Initializes a new instance of the class. Creates a new . The signature validation results of the entire chain. The validation results for the ARC-Message-Signature header. The validation results for the ARC-Seal headers. Get the validation results for the ARC-Message-Signature header. Gets the validation results for the ARC-Message-Signature header. The validation results for the ARC-Message-Signature header or null if the ARC-Message-Signature header was not found. Get the validation results for each of the ARC-Seal headers. Gets the validation results for each of the ARC-Seal headers in their instance order. The array of validation results for the ARC-Seal headers or null if no ARC-Seal headers were found. Get the signature validation results of the entire chain. Gets the signature validation results of the entire chain. The signature validation results of the entire chain. An ARC verifier. Validates Authenticated Received Chains. Initializes a new instance of the class. Creates a new . The public key locator. is null. Verify the ARC signature chain. Verifies the ARC signature chain. The ARC validation result. The formatting options. The message to verify. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. Asynchronously verify the ARC signature chain. Asynchronously verifies the ARC signature chain. The ARC validation result. The formatting options. The message to verify. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. Verify the ARC signature chain. Verifies the ARC signature chain. The ARC validation result. The message to verify. The cancellation token. is null. The operation was canceled via the cancellation token. Asynchronously verify the ARC signature chain. Asynchronously verifies the ARC signature chain. The ARC validation result. The message to verify. The cancellation token. is null. The operation was canceled via the cancellation token. Extension methods for System.Security.Cryptography.AsymmetricAlgorithm. Extension methods for System.Security.Cryptography.AsymmetricAlgorithm. Convert an AsymmetricAlgorithm into a BouncyCastle AsymmetricKeyParameter. Converts an AsymmetricAlgorithm into a BouncyCastle AsymmetricKeyParameter. Currently, only RSA and DSA keys are supported. The Bouncy Castle AsymmetricKeyParameter. The key. is null. is an unsupported asymmetric algorithm. Convert an AsymmetricAlgorithm into a BouncyCastle AsymmetricCipherKeyPair. Converts an AsymmetricAlgorithm into a BouncyCastle AsymmetricCipherKeyPair. Currently, only RSA and DSA keys are supported. The Bouncy Castle AsymmetricCipherKeyPair. The key. is null. is a public key. is an unsupported asymmetric algorithm. Convert a BouncyCastle AsymmetricKeyParameter into an AsymmetricAlgorithm. Converts a BouncyCastle AsymmetricKeyParameter into an AsymmetricAlgorithm. Currently, only RSA and DSA keys are supported. The AsymmetricAlgorithm. The AsymmetricKeyParameter. is null. is an unsupported asymmetric key parameter. Convert a BouncyCastle AsymmetricCipherKeyPair into an AsymmetricAlgorithm. Converts a BouncyCastle AsymmetricCipherKeyPair into an AsymmetricAlgorithm. Currently, only RSA and DSA keys are supported. The AsymmetricAlgorithm. The AsymmetricCipherKeyPair. is null. is an unsupported asymmetric algorithm. A parsed representation of the Authentication-Results header. The Authentication-Results header is used with electronic mail messages to indicate the results of message authentication efforts. Any receiver-side software, such as mail filters or Mail User Agents (MUAs), can use this header field to relay that information in a convenient and meaningful way to users or to make sorting and filtering decisions. Initializes a new instance of the class. Creates a new . The authentication service identifier. is null. Get the authentication service identifier. Gets the authentication service identifier. The authentication service identifier is the authserv-id token as defined in rfc7601. The authserv-id token. Get or set the instance value. Gets or sets the instance value. This value will only be set if the represents an ARC-Authentication-Results header value. The instance. Get or set the Authentication-Results version. Gets or sets the Authentication-Results version. The version value is the authres-version token as defined in rfc7601. The authres-version token. Get the list of authentication results. Gets the list of authentication results. The list of authentication results. Serializes the to a string. Creates a string-representation of the . The serialized string. Tries to parse the given input buffer into a new instance. Parses an Authentication-Results header value from the supplied buffer starting at the given index and spanning across the specified number of bytes. true if the authentication results were successfully parsed; otherwise, false. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. The parsed authentication results. is null. and do not specify a valid range in the byte array. Tries to parse the given input buffer into a new instance. Parses an Authentication-Results header value from the supplied buffer. true if the authentication results were successfully parsed; otherwise, false. The input buffer. The parsed authentication results. is null. Parse the specified input buffer into a new instance of the class. Parses an Authentication-Results header value from the supplied buffer starting at the given index and spanning across the specified number of bytes. The parsed . The input buffer. The start index of the buffer. The length of the buffer. is null. and do not specify a valid range in the byte array. The could not be parsed. Parse the specified input buffer into a new instance of the class. Parses an Authentication-Results header value from the supplied buffer. The parsed . The input buffer. is null. The could not be parsed. An authentication method results. An authentication method results. Initializes a new instance of the class. Creates a new . The method used for authentication. is null. Initializes a new instance of the class. Creates a new . The method used for authentication. The result of the authentication method. is null. -or- is null. Get the authentication method. Gets the authentication method. The authentication method. Get the authentication method version. Gets the authentication method version. The authentication method version. Get the authentication method results. Gets the authentication method results. The authentication method results. Get the comment regarding the authentication method result. Gets the comment regarding the authentication method result. The comment regarding the authentication method result. Get the action taken for the authentication method result. Gets the action taken for the authentication method result. The action taken for the authentication method result. Get the reason for the authentication method result. Gets the reason for the authentication method result. The reason for the authentication method result. Get the properties used by the authentication method. Gets the properties used by the authentication method. The properties used by the authentication method. Serializes the to a string. Creates a string-representation of the . The serialized string. An authentication method property. An authentication method property. Initializes a new instance of the class. Creates a new . The property type. The name of the property. The value of the property. is null. -or- is null. -or- is null. Get the type of the property. Gets the type of the property. The type of the property. Get the property name. Gets the property name. The name of the property. Get the property value. Gets the property value. The value of the property. Serializes the to a string. Creates a string-representation of the . The serialized string. Extension methods for use with BouncyCastle X509Certificates. Extension methods for use with BouncyCastle X509Certificates. Convert a BouncyCastle certificate into an X509Certificate2. Converts a BouncyCastle certificate into an X509Certificate2. The X509Certificate2. The BouncyCastle certificate. is null. Gets the issuer name info. For a list of available identifiers, see . The issuer name info. The certificate. The name identifier. is null. Gets the issuer name info. For a list of available identifiers, see . The issuer name info. The certificate. The name identifier. is null. Gets the common name of the certificate. Gets the common name of the certificate. The common name. The certificate. is null. Gets the subject name of the certificate. Gets the subject name of the certificate. The subject name. The certificate. is null. Gets the subject email address of the certificate. The email address component of the certificate's Subject identifier is sometimes used as a way of looking up certificates for a particular user if a fingerprint is not available. The subject email address. The certificate. is null. Gets the fingerprint of the certificate. A fingerprint is a SHA-1 hash of the raw certificate data and is often used as a unique identifier for a particular certificate in a certificate store. The fingerprint. The certificate. is null. Gets the public key algorithm for the certificate. Gets the public key algorithm for the ceretificate. The public key algorithm. The certificate. is null. Gets the key usage flags. The X.509 Key Usage Flags are used to determine which operations a certificate may be used for. The key usage flags. The certificate. is null. Get the encryption algorithms that can be used with an X.509 certificate. Scans the X.509 certificate for the S/MIME capabilities extension. If found, the supported encryption algorithms will be decoded and returned. If no extension can be found, the algorithm is returned. The encryption algorithms. The X.509 certificate. is null. A Secure MIME (S/MIME) cryptography context. An abstract S/MIME context built around the BouncyCastle API. Initializes a new instance of the class. Creates a new Get or set whether or not certificate revocation lists should be downloaded when verifying signatures. Gets or sets whether or not certificate revocation lists should be downloaded when verifying signatures. If enabled, the will attempt to automatically download Certificate Revocation Lists (CRLs) from the internet based on the CRL Distribution Point extension on each certificate. Enabling this feature opens the client up to potential privacy risks. An attacker can generate a custom X.509 certificate containing a CRL Distribution Point or OCSP URL pointing to an attacker-controlled server, thereby getting a notification when the user decrypts the message or verifies its digital signature. true if CRLs should be downloaded automatically; otherwise, false. Get the X.509 certificate matching the specified selector. Gets the first certificate that matches the specified selector. This method is used when constructing a certificate chain if the S/MIME signature does not include a signer's certificate. The certificate on success; otherwise null. The search criteria for the certificate. Get the private key for the certificate matching the specified selector. Gets the private key for the first certificate that matches the specified selector. This method is used when signing or decrypting content. The private key on success; otherwise, null. The search criteria for the private key. Get the trusted anchors. A trusted anchor is a trusted root-level X.509 certificate, generally issued by a certificate authority (CA). This method is used to build a certificate chain while verifying signed content. The trusted anchors. Get the intermediate certificates. An intermediate certificate is any certificate that exists between the root certificate issued by a Certificate Authority (CA) and the certificate at the end of the chain. This method is used to build a certificate chain while verifying signed content. The intermediate certificates. Get the certificate revocation lists. A Certificate Revocation List (CRL) is a list of certificate serial numbers issued by a particular Certificate Authority (CA) that have been revoked, either by the CA itself or by the owner of the revoked certificate. The certificate revocation lists. Get the date & time for the next scheduled certificate revocation list update for the specified issuer. Gets the date & time for the next scheduled certificate revocation list update for the specified issuer. The date & time for the next update (in UTC). The issuer. Get the for the specified mailbox. Constructs a with the appropriate certificate and for the specified mailbox. If the mailbox is a , the property will be used instead of the mailbox address. A . The mailbox. A certificate for the specified could not be found. Get a collection of CmsRecipients for the specified mailboxes. Gets a collection of CmsRecipients for the specified mailboxes. A . The mailboxes. is null. A certificate for one or more of the specified could not be found. Get the for the specified mailbox. Constructs a with the appropriate signing certificate for the specified mailbox. If the mailbox is a , the property will be used instead of the mailbox address for database lookups. A . The mailbox. The preferred digest algorithm. A certificate for the specified could not be found. Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate. Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate. This method is called when decoding digital signatures that include S/MIME capabilities in the metadata, allowing custom implementations to update the X.509 certificate records with the list of preferred encryption algorithms specified by the sending client. The certificate. The encryption algorithm capabilities of the client (in preferred order). The timestamp. Cryptographically signs and encapsulates the content using the specified signer. Cryptographically signs and encapsulates the content using the specified signer. A new instance containing the detached signature data. The signer. The content. is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. Cryptographically signs and encapsulates the content using the specified signer and digest algorithm. Cryptographically signs and encapsulates the content using the specified signer and digest algorithm. A new instance containing the detached signature data. The signer. The digest algorithm to use for signing. The content. is null. -or- is null. is out of range. The specified is not supported by this context. A signing certificate could not be found for . An error occurred in the cryptographic message syntax subsystem. Cryptographically signs the content using the specified signer. Cryptographically signs the content using the specified signer. A new instance containing the detached signature data. The signer. The content. is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. Cryptographically signs the content using the specified signer and digest algorithm. Cryptographically signs the content using the specified signer and digest algorithm. A new instance containing the detached signature data. The signer. The digest algorithm to use for signing. The content. is null. -or- is null. is out of range. The specified is not supported by this context. A signing certificate could not be found for . An error occurred in the cryptographic message syntax subsystem. Build a certificate chain. Builds a certificate chain for the provided certificate. This method is ideal for use with custom implementations when it is desirable to include the certificate chain in the signature. The certificate to build the chain for. The certificate chain, including the specified certificate. Attempts to map a to a . Attempts to map a to a . true if the algorithm identifier was successfully mapped; otherwise, false. The algorithm identifier. The encryption algorithm. is null. Attempts to map a to a . Attempts to map a to a . true if the algorithm identifier was successfully mapped; otherwise, false. The algorithm identifier. The encryption algorithm. is null. Get the list of digital signatures. Gets the list of digital signatures. This method is useful to call from within any custom Verify method that you may implement in your own class. The digital signatures. The CMS signed data parser. Whether or not the operation should be done asynchronously. The cancellation token. Verify the specified content using the detached signature data. Verifies the specified content using the detached signature data. A list of the digital signatures. The content. The detached signature data. The cancellation token. is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. The operation was cancelled via the cancellation token. Asynchronously verify the specified content using the detached signature data. Verifies the specified content using the detached signature data. A list of the digital signatures. The content. The detached signature data. The cancellation token. is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. The operation was cancelled via the cancellation token. Verify the digital signatures of the specified signed data and extract the original content. Verifies the digital signatures of the specified signed data and extracts the original content. The list of digital signatures. The signed data. The extracted MIME entity. The cancellation token. is null. The extracted content could not be parsed as a MIME entity. An error occurred in the cryptographic message syntax subsystem. The operation was cancelled via the cancellation token. Verify the digital signatures of the specified signed data and extract the original content. Verifies the digital signatures of the specified signed data and extracts the original content. The extracted content stream. The signed data. The digital signatures. The cancellation token. is null. An error occurred in the cryptographic message syntax subsystem. The operation was cancelled via the cancellation token. Encrypt the specified content for the specified recipients. Encrypts the specified content for the specified recipients. A new instance containing the encrypted content. The recipients. The content. is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. Encrypt the specified content for the specified recipients. Encrypts the specified content for the specified recipients. A new instance containing the encrypted data. The recipients. The content. is null. -or- is null. A certificate for one or more of the could not be found. A certificate could not be found for one or more of the . An error occurred in the cryptographic message syntax subsystem. Decrypt the specified encryptedData. Decrypts the specified encryptedData. The decrypted . The encrypted data. The cancellation token. is null. An error occurred in the cryptographic message syntax subsystem. The operation was cancelled via the cancellation token. Decrypt the specified encryptedData to an output stream. Decrypts the specified encryptedData to an output stream. The encrypted data. The output stream. is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. Export the certificates for the specified mailboxes. Exports the certificates for the specified mailboxes. A new instance containing the exported keys. The mailboxes. is null. No mailboxes were specified. A certificate for one or more of the could not be found. An error occurred in the cryptographic message syntax subsystem. Releases all resources used by the object. Call when you are finished using the . The method leaves the in an unusable state. After calling , you must release all references to the so the garbage collector can reclaim the memory that the was occupying. An exception that is thrown when a certificate could not be found for a specified mailbox. An exception that is thrown when a certificate could not be found for a specified mailbox. Initializes a new instance of the class. Creates a new . The serialization info. The stream context. is null. Initializes a new instance of the class. Creates a new . The mailbox that could not be resolved to a valid certificate. A message explaining the error. When overridden in a derived class, sets the with information about the exception. Sets the with information about the exception. The serialization info. The streaming context. is null. Gets the mailbox address that could not be resolved to a certificate. Gets the mailbox address that could not be resolved to a certificate. The mailbox address. An S/MIME recipient. If the X.509 certificates are known for each of the recipients, you may wish to use a as opposed to having the do its own certificate lookups for each . Initializes a new instance of the class. Creates a new based on the provided certificate. If the X.509 certificate contains an S/MIME capability extension, the initial value of the property will be set to whatever encryption algorithms are defined by the S/MIME capability extension, otherwise int will be initialized to a list containing only the Triple-Des encryption algorithm which should be safe to assume for all modern S/MIME v3.x client implementations. The recipient's certificate. The recipient identifier type. is null. Initializes a new instance of the class. Creates a new , loading the certificate from the specified stream. If the X.509 certificate contains an S/MIME capability extension, the initial value of the property will be set to whatever encryption algorithms are defined by the S/MIME capability extension, otherwise int will be initialized to a list containing only the Triple-Des encryption algorithm which should be safe to assume for all modern S/MIME v3.x client implementations. The stream containing the recipient's certificate. The recipient identifier type. is null. The specified file does not contain a certificate. An I/O error occurred. Initializes a new instance of the class. Creates a new , loading the certificate from the specified file. If the X.509 certificate contains an S/MIME capability extension, the initial value of the property will be set to whatever encryption algorithms are defined by the S/MIME capability extension, otherwise int will be initialized to a list containing only the Triple-Des encryption algorithm which should be safe to assume for all modern S/MIME v3.x client implementations. The file containing the recipient's certificate. The recipient identifier type. is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . is an invalid file path. The specified file path could not be found. The user does not have access to read the specified file. The specified file does not contain a certificate. An I/O error occurred. Initializes a new instance of the class. Creates a new based on the provided certificate. If the X.509 certificate contains an S/MIME capability extension, the initial value of the property will be set to whatever encryption algorithms are defined by the S/MIME capability extension, otherwise int will be initialized to a list containing only the Triple-Des encryption algorithm which should be safe to assume for all modern S/MIME v3.x client implementations. The recipient's certificate. The recipient identifier type. is null. Gets the recipient's certificate. The certificate is used for the purpose of encrypting data. The certificate. Gets the recipient identifier type. Specifies how the certificate should be looked up on the recipient's end. The recipient identifier type. Gets or sets the known S/MIME encryption capabilities of the recipient's mail client, in their preferred order. Provides the with an array of encryption algorithms that are known to be supported by the recpipient's client software and should be in the recipient's order of preference. The encryption algorithms. A collection of objects. If the X.509 certificates are known for each of the recipients, you may wish to use a as opposed to using the methods that take a list of objects. Initializes a new instance of the class. Creates a new . Gets the number of recipients in the collection. Indicates the number of recipients in the collection. The number of recipients in the collection. Gets a value indicating whether this instance is read only. A is never read-only. true if this instance is read only; otherwise, false. Adds the specified recipient. Adds the specified recipient. The recipient. is null. Clears the recipient collection. Removes all of the recipients from the collection. Checks if the collection contains the specified recipient. Determines whether or not the collection contains the specified recipient. true if the specified recipient exists; otherwise false. The recipient. is null. Copies all of the recipients in the to the specified array. Copies all of the recipients within the into the array, starting at the specified array index. The array. The array index. is null. is out of range. Removes the specified recipient. Removes the specified recipient. true if the recipient was removed; otherwise false. The recipient. is null. Gets an enumerator for the collection of recipients. Gets an enumerator for the collection of recipients. The enumerator. Gets an enumerator for the collection of recipients. Gets an enumerator for the collection of recipients. The enumerator. An S/MIME signer. If the X.509 certificate is known for the signer, you may wish to use a as opposed to having the do its own certificate lookup for the signer's . Initializes a new instance of the class. The initial value of the will be set to and both the and properties will be initialized to empty tables. Initializes a new instance of the class. The initial value of the will be set to and both the and properties will be initialized to empty tables. The chain of certificates starting with the signer's certificate back to the root. The signer's private key. is null. -or- is null. did not contain any certificates. -or- The certificate cannot be used for signing. -or- is not a private key. Initializes a new instance of the class. The initial value of the will be set to and both the and properties will be initialized to empty tables. The signer's certificate. The signer's private key. is null. -or- is null. cannot be used for signing. -or- is not a private key. Initializes a new instance of the class. Creates a new , loading the X.509 certificate and private key from the specified stream. The initial value of the will be set to and both the and properties will be initialized to empty tables. The raw certificate and key data in pkcs12 format. The password to unlock the stream. is null. -or- is null. does not contain a private key. -or- does not contain a certificate that could be used for signing. An I/O error occurred. Initializes a new instance of the class. Creates a new , loading the X.509 certificate and private key from the specified file. The initial value of the will be set to and both the and properties will be initialized to empty tables. The raw certificate and key data in pkcs12 format. The password to unlock the stream. is null. -or- is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . -or- does not contain a private key. -or- does not contain a certificate that could be used for signing. is an invalid file path. The specified file path could not be found. The user does not have access to read the specified file. An I/O error occurred. Initializes a new instance of the class. The initial value of the will be set to and both the and properties will be initialized to empty tables. The signer's certificate. is null. cannot be used for signing. Get the signer's certificate. The signer's certificate that contains a public key that can be used for verifying the digital signature. The signer's certificate. Get the certificate chain. Gets the certificate chain. The certificate chain. Get or set the digest algorithm. Specifies which digest algorithm to use to generate the cryptographic hash of the content being signed. The digest algorithm. Get the private key. The private key used for signing. The private key. Get or set the RSA signature padding scheme. Gets or sets the signature padding scheme to use for signing when the is an RSA key. The signature padding scheme. Get or set the signed attributes. A table of attributes that should be included in the signature. The signed attributes. Get or set the unsigned attributes. A table of attributes that should not be signed in the signature, but still included in transport. The unsigned attributes. An abstract cryptography context. Generally speaking, applications should not use a directly, but rather via higher level APIs such as , and . Initializes a new instance of the class. Creates a new . By default, only the 3DES encryption algorithm and the SHA-1 digest algorithm are enabled. Get the signature protocol. The signature protocol is used by in order to determine what the protocol parameter of the Content-Type header should be. The signature protocol. Get the encryption protocol. The encryption protocol is used by in order to determine what the protocol parameter of the Content-Type header should be. The encryption protocol. Get the key exchange protocol. The key exchange protocol is really only used for OpenPGP. The key exchange protocol. Get the preferred rank order for the encryption algorithms; from the most preferred to the least. Gets the preferred rank order for the encryption algorithms; from the most preferred to the least. The preferred encryption algorithm ranking. Get the enabled encryption algorithms in ranked order. Gets the enabled encryption algorithms in ranked order. The enabled encryption algorithms. Enable the encryption algorithm. Enables the encryption algorithm. The encryption algorithm. Disable the encryption algorithm. Disables the encryption algorithm. The encryption algorithm. Check whether the specified encryption algorithm is enabled. Determines whether the specified encryption algorithm is enabled. true if the specified encryption algorithm is enabled; otherwise, false. The encryption algorithm. Get the preferred rank order for the digest algorithms; from the most preferred to the least. Gets the preferred rank order for the digest algorithms; from the most preferred to the least. The preferred encryption algorithm ranking. Get the enabled digest algorithms in ranked order. Gets the enabled digest algorithms in ranked order. The enabled encryption algorithms. Enable the digest algorithm. Enables the digest algorithm. The digest algorithm. Disable the digest algorithm. Disables the digest algorithm. The digest algorithm. Check whether the specified digest algorithm is enabled. Determines whether the specified digest algorithm is enabled. true if the specified digest algorithm is enabled; otherwise, false. The digest algorithm. Check whether or not the specified protocol is supported by the . Used in order to make sure that the protocol parameter value specified in either a multipart/signed or multipart/encrypted part is supported by the supplied cryptography context. true if the protocol is supported; otherwise false The protocol. is null. Get the string name of the digest algorithm for use with the micalg parameter of a multipart/signed part. Maps the to the appropriate string identifier as used by the micalg parameter value of a multipart/signed Content-Type header. The micalg value. The digest algorithm. is out of range. Get the digest algorithm from the micalg parameter value in a multipart/signed part. Maps the micalg parameter value string back to the appropriate . The digest algorithm. The micalg parameter value. is null. Check whether or not a particular mailbox address can be used for signing. Checks whether or not as particular mailbocx address can be used for signing. true if the mailbox address can be used for signing; otherwise, false. The signer. is null. Check whether or not the cryptography context can encrypt to a particular recipient. Checks whether or not the cryptography context can be used to encrypt to a particular recipient. true if the cryptography context can be used to encrypt to the designated recipient; otherwise, false. The recipient's mailbox address. is null. Cryptographically sign the content. Cryptographically signs the content using the specified signer and digest algorithm. A new instance containing the detached signature data. The signer. The digest algorithm to use for signing. The content. is null. -or- is null. is out of range. The specified is not supported by this context. A signing certificate could not be found for . Verify the specified content using the detached signatureData. Verifies the specified content using the detached signatureData. A list of digital signatures. The content. The signature data. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. Asynchronously verify the specified content using the detached signatureData. Verifies the specified content using the detached signatureData. A list of digital signatures. The content. The signature data. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. Encrypt the specified content for the specified recipients. Encrypts the specified content for the specified recipients. A new instance containing the encrypted data. The recipients. The content. is null. -or- is null. A certificate could not be found for one or more of the . Decrypt the specified encryptedData. Decrypts the specified encryptedData. The decrypted . The encrypted data. The cancellation token. is null. The operation was cancelled via the cancellation token. Imports the public certificates or keys from the specified stream. Imports the public certificates or keys from the specified stream. The raw certificate or key data. is null. Importing keys is not supported by this cryptography context. Exports the keys for the specified mailboxes. Exports the keys for the specified mailboxes. A new instance containing the exported keys. The mailboxes. is null. was empty. Exporting keys is not supported by this cryptography context. Releases the unmanaged resources used by the and optionally releases the managed resources. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only the unmanaged resources. Releases all resources used by the object. Call when you are finished using the . The method leaves the in an unusable state. After calling , you must release all references to the so the garbage collector can reclaim the memory that the was occupying. Creates a new for the specified protocol. Creates a new for the specified protocol. The default types can over overridden by calling the method with the preferred type. The for the protocol. The protocol. is null. There are no supported s that support the specified . Registers a default or . Registers the specified type as the default or . A custom subclass of or . is null. is not a subclass of or . -or- does not have a parameterless constructor. Registers a default factory. Registers a factory that will return a new instance of the default . A factory that creates a new instance of . is null. Registers a default factory. Registers a factory that will return a new instance of the default . A factory that creates a new instance of . is null. Useful extensions for working with System.Data types. Creates a with the specified name and value and then adds it to the command's parameters. The database command. The parameter name. The parameter value. A default implementation that uses an SQLite database as a certificate and private key store. The default S/MIME context is designed to be usable on any platform where there exists a .NET runtime by storing certificates, CRLs, and (encrypted) private keys in a SQL database. The default database path for certificates, private keys and CRLs. On Microsoft Windows-based systems, this path will be something like C:\Users\UserName\AppData\Roaming\mimekit\smime.db. On Unix systems such as Linux and Mac OS X, this path will be ~/.mimekit/smime.db. Initializes a new instance of the class. Allows the program to specify its own location for the SQLite database. If the file does not exist, it will be created and the necessary tables and indexes will be constructed. Requires linking with Mono.Data.Sqlite. The path to the SQLite database. The password used for encrypting and decrypting the private keys. is null. -or- is null. The specified file path is empty. Mono.Data.Sqlite is not available. The user does not have access to read the specified file. An error occurred reading the file. Initializes a new instance of the class. Allows the program to specify its own password for the default database. Requires linking with Mono.Data.Sqlite. The password used for encrypting and decrypting the private keys. Mono.Data.Sqlite is not available. The user does not have access to read the database at the default location. An error occurred reading the database at the default location. Initializes a new instance of the class. Not recommended for production use as the password to unlock the private keys is hard-coded. Requires linking with Mono.Data.Sqlite. Mono.Data.Sqlite is not available. The user does not have access to read the database at the default location. An error occurred reading the database at the default location. Initializes a new instance of the class. This constructor is useful for supplying a custom . The certificate database. is null. Check whether or not a particular mailbox address can be used for signing. Checks whether or not as particular mailbocx address can be used for signing. true if the mailbox address can be used for signing; otherwise, false. The signer. is null. Check whether or not the cryptography context can encrypt to a particular recipient. Checks whether or not the cryptography context can be used to encrypt to a particular recipient. true if the cryptography context can be used to encrypt to the designated recipient; otherwise, false. The recipient's mailbox address. is null. Gets the X.509 certificate matching the specified selector. Gets the first certificate that matches the specified selector. The certificate on success; otherwise null. The search criteria for the certificate. Gets the private key for the certificate matching the specified selector. Gets the private key for the first certificate that matches the specified selector. The private key on success; otherwise null. The search criteria for the private key. Gets the trusted anchors. A trusted anchor is a trusted root-level X.509 certificate, generally issued by a Certificate Authority (CA). The trusted anchors. Gets the intermediate certificates. An intermediate certificate is any certificate that exists between the root certificate issued by a Certificate Authority (CA) and the certificate at the end of the chain. The intermediate certificates. Gets the certificate revocation lists. A Certificate Revocation List (CRL) is a list of certificate serial numbers issued by a particular Certificate Authority (CA) that have been revoked, either by the CA itself or by the owner of the revoked certificate. The certificate revocation lists. Get the date & time for the next scheduled certificate revocation list update for the specified issuer. Gets the date & time for the next scheduled certificate revocation list update for the specified issuer. The date & time for the next update (in UTC). The issuer. Gets the for the specified mailbox. Constructs a with the appropriate certificate and for the specified mailbox. If the mailbox is a , the property will be used instead of the mailbox address for database lookups. A . The recipient's mailbox address. A certificate for the specified could not be found. Gets the for the specified mailbox. Constructs a with the appropriate signing certificate for the specified mailbox. If the mailbox is a , the property will be used instead of the mailbox address for database lookups. A . The signer's mailbox address. The preferred digest algorithm. A certificate for the specified could not be found. Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate. Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate. The certificate. The encryption algorithm capabilities of the client (in preferred order). The timestamp in coordinated universal time (UTC). Imports a certificate. Imports the specified certificate into the database. The certificate. is null. Imports a certificate revocation list. Imports the specified certificate revocation list. The certificate revocation list. is null. Imports certificates and keys from a pkcs12-encoded stream. Imports all of the certificates and keys from the pkcs12-encoded stream. The raw certificate and key data. The password to unlock the data. is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. Imports a certificate. Imports the certificate. If the certificate already exists in the database and is true, then the IsTrusted state is updated otherwise the certificate is added to the database with the specified trust. The certificate. true if the certificate is trusted; otherwise, false. is null. Imports a DER-encoded certificate stream. Imports the certificate(s). The raw certificate(s). true if the certificates are trusted; othewrwise, false. is null. Releases the unmanaged resources used by the and optionally releases the managed resources. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only the unmanaged resources. A digest algorithm. Digest algorithms are secure hashing algorithms that are used to generate unique fixed-length signatures for arbitrary data. The most commonly used digest algorithms are currently MD5 and SHA-1, however, MD5 was successfully broken in 2008 and should be avoided. In late 2013, Microsoft announced that they would be retiring their use of SHA-1 in their products by 2016 with the assumption that its days as an unbroken digest algorithm were numbered. It is speculated that the SHA-1 digest algorithm will be vulnerable to collisions, and thus no longer considered secure, by 2018. Microsoft and other vendors plan to move to the SHA-2 suite of digest algorithms which includes the following 4 variants: SHA-224, SHA-256, SHA-384, and SHA-512. No digest algorithm specified. The MD5 digest algorithm. The SHA-1 digest algorithm. The Ripe-MD/160 digest algorithm. The double-SHA digest algorithm. The MD2 digest algorithm. The TIGER/192 digest algorithm. The HAVAL 5-pass 160-bit digest algorithm. The SHA-256 digest algorithm. The SHA-384 digest algorithm. The SHA-512 digest algorithm. The SHA-224 digest algorithm. The MD4 digest algorithm. A collection of digital signatures. When verifying a digitally signed MIME part such as a or a , you will get back a collection of digital signatures. Typically, a signed message will only have a single signature (created by the sender of the message), but it is possible for there to be multiple signatures. Initializes a new instance of the class. Creates a new . The signatures. An exception that is thrown when an error occurrs in . For more information about the error condition, check the property. Initializes a new instance of the class. Creates a new . The serialization info. The stream context. is null. Initializes a new instance of the class. Creates a new . The key identifier. The error message. The inner exception. Initializes a new instance of the class. Creates a new . The key identifier. The error message. Initializes a new instance of the class. Creates a new . The error message. The inner exception. Initializes a new instance of the class. Creates a new . The error message. When overridden in a derived class, sets the with information about the exception. Sets the with information about the exception. The serialization info. The streaming context. is null. Get the key identifier, if available. Gets the key identifier, if available. The key identifier. A base implementation for DKIM body filters. A base implementation for DKIM body filters. Get or set whether the last filtered character was a newline. Gets or sets whether the last filtered character was a newline. Get or set whether the current line is empty. Gets or sets whether the current line is empty. Get or set the number of consecutive empty lines encountered. Gets or sets the number of consecutive empty lines encountered. Initializes a new instance of the class. Creates a new . A DKIM canonicalization algorithm. Empirical evidence demonstrates that some mail servers and relay systems modify email in transit, potentially invalidating a signature. There are two competing perspectives on such modifications. For most signers, mild modification of email is immaterial to the authentication status of the email. For such signers, a canonicalization algorithm that survives modest in-transit modification is preferred. Other signers demand that any modification of the email, however minor, result in a signature verification failure. These signers prefer a canonicalization algorithm that does not tolerate in-transit modification of the signed email. The simple canonicalization algorithm tolerates almost no modification by mail servers while the message is in-transit. The relaxed canonicalization algorithm tolerates common modifications by mail servers while the message is in-transit such as whitespace replacement and header field line rewrapping. A DKIM hash stream. A DKIM hash stream. Initializes a new instance of the class. Creates a new . The signature algorithm. The max length of data to hash. Generate the hash. Generates the hash. The hash. Checks whether or not the stream supports reading. A is not readable. true if the stream supports reading; otherwise, false. Checks whether or not the stream supports writing. A is always writable. true if the stream supports writing; otherwise, false. Checks whether or not the stream supports seeking. A is not seekable. true if the stream supports seeking; otherwise, false. Checks whether or not reading and writing to the stream can timeout. Writing to a cannot timeout. true if reading and writing to the stream can timeout; otherwise, false. Gets the length of the stream, in bytes. The length of a indicates the number of bytes that have been written to it. The length of the stream in bytes. The stream has been disposed. Gets or sets the current position within the stream. Since it is possible to seek within a , it is possible that the position will not always be identical to the length of the stream, but typically it will be. The position of the stream. An I/O error occurred. The stream does not support seeking. The stream has been disposed. Reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. Reading from a is not supported. The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. The buffer to read data into. The offset into the buffer to start reading data. The number of bytes to read. The stream has been disposed. The stream does not support reading. Writes a sequence of bytes to the stream and advances the current position within this stream by the number of bytes written. Increments the property by the number of bytes written. If the updated position is greater than the current length of the stream, then the property will be updated to be identical to the position. The buffer to write. The offset of the first byte to write. The number of bytes to write. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support writing. An I/O error occurred. Sets the position within the current stream. Updates the within the stream. The new position within the stream. The offset into the stream relative to the . The origin to seek from. is not a valid . The stream has been disposed. Clears all buffers for this stream and causes any buffered data to be written to the underlying device. Since a does not actually do anything other than count bytes, this method is a no-op. The stream has been disposed. Sets the length of the stream. Sets the to the specified value and updates to the specified value if (and only if) the current position is greater than the new length value. The desired length of the stream in bytes. is out of range. The stream has been disposed. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only the unmanaged resources. A base class for implemnentations of . The class provides a helpful method for parsing DNS TXT records in order to extract the public key. Get the public key from a DNS TXT record. Gets the public key from a DNS TXT record. The DNS TXT record. The public key. The is null. There was an error parsing the DNS TXT record. Locate and retrieve the public key for the given domain and selector. Locates and retrieves the public key for the given domain and selector. The public key. A colon-separated list of query methods used to retrieve the public key. The default is "dns/txt". The domain. The selector. The cancellation token. Asynchronously locate and retrieve the public key for the given domain and selector. Locates and retrieves the public key for the given domain and selector. The public key. A colon-separated list of query methods used to retrieve the public key. The default is "dns/txt". The domain. The selector. The cancellation token. A filter for the DKIM relaxed body canonicalization. A filter for the DKIM relaxed body canonicalization. Initializes a new instance of the class. Creates a new . Filter the specified input. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The length of the input buffer, starting at . The output index. The output length. If set to true, all internally buffered data should be flushed to the output buffer. Resets the filter. Resets the filter. A DKIM signature algorithm. A DKIM signature algorithm. The RSA-SHA1 signature algorithm. The RSA-SHA256 signature algorithm. The Ed25519-SHA256 signature algorithm. A DKIM signature stream. A DKIM signature stream. Initializes a new instance of the class. Creates a new . The digest signer. is null. Get the digest signer. Gets the digest signer. The signer. Generate the signature. Generates the signature. The signature. Verify the DKIM signature. Verifies the DKIM signature. true if signature is valid; otherwise, false. The base64 encoded DKIM signature from the b= parameter. is null. Checks whether or not the stream supports reading. A is not readable. true if the stream supports reading; otherwise, false. Checks whether or not the stream supports writing. A is always writable. true if the stream supports writing; otherwise, false. Checks whether or not the stream supports seeking. A is not seekable. true if the stream supports seeking; otherwise, false. Checks whether or not reading and writing to the stream can timeout. Writing to a cannot timeout. true if reading and writing to the stream can timeout; otherwise, false. Gets the length of the stream, in bytes. The length of a indicates the number of bytes that have been written to it. The length of the stream in bytes. The stream has been disposed. Gets or sets the current position within the stream. Since it is possible to seek within a , it is possible that the position will not always be identical to the length of the stream, but typically it will be. The position of the stream. An I/O error occurred. The stream does not support seeking. The stream has been disposed. Reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. Reading from a is not supported. The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. The buffer to read data into. The offset into the buffer to start reading data. The number of bytes to read. The stream has been disposed. The stream does not support reading. Writes a sequence of bytes to the stream and advances the current position within this stream by the number of bytes written. Increments the property by the number of bytes written. If the updated position is greater than the current length of the stream, then the property will be updated to be identical to the position. The buffer to write. The offset of the first byte to write. The number of bytes to write. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support writing. An I/O error occurred. Sets the position within the current stream. Updates the within the stream. The new position within the stream. The offset into the stream relative to the . The origin to seek from. is not a valid . The stream has been disposed. Clears all buffers for this stream and causes any buffered data to be written to the underlying device. Since a does not actually do anything other than count bytes, this method is a no-op. The stream has been disposed. Sets the length of the stream. Sets the to the specified value and updates to the specified value if (and only if) the current position is greater than the new length value. The desired length of the stream in bytes. is out of range. The stream has been disposed. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only the unmanaged resources. A DKIM signer. A DKIM signer. Initializes a new instance of the class. Creates a new . Due to the recognized weakness of the SHA-1 hash algorithm and the wide availability of the SHA-256 hash algorithm (it has been a required part of DKIM since it was originally standardized in 2007), it is recommended that NOT be used. The domain that the signer represents. The selector subdividing the domain. The signature algorithm. is null. -or- is null. Initializes a new instance of the class. Creates a new . Due to the recognized weakness of the SHA-1 hash algorithm and the wide availability of the SHA-256 hash algorithm (it has been a required part of DKIM since it was originally standardized in 2007), it is recommended that NOT be used. The signer's private key. The domain that the signer represents. The selector subdividing the domain. The signature algorithm. is null. -or- is null. -or- is null. is not a private key. Initializes a new instance of the class. Creates a new . Due to the recognized weakness of the SHA-1 hash algorithm and the wide availability of the SHA-256 hash algorithm (it has been a required part of DKIM since it was originally standardized in 2007), it is recommended that NOT be used. The file containing the private key. The domain that the signer represents. The selector subdividing the domain. The signature algorithm. is null. -or- is null. -or- is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . The file did not contain a private key. is an invalid file path. The specified file path could not be found. The user does not have access to read the specified file. An I/O error occurred. Initializes a new instance of the class. Creates a new . Due to the recognized weakness of the SHA-1 hash algorithm and the wide availability of the SHA-256 hash algorithm (it has been a required part of DKIM since it was originally standardized in 2007), it is recommended that NOT be used. The stream containing the private key. The domain that the signer represents. The selector subdividing the domain. The signature algorithm. is null. -or- is null. -or- is null. The file did not contain a private key. An I/O error occurred. Get or set the agent or user identifier. Gets or sets the agent or user identifier. The agent or user identifier. Get or set the public key query method. Gets or sets the public key query method. The value should be a colon-separated list of query methods used to retrieve the public key (plain-text; OPTIONAL, default is "dns/txt"). Each query method is of the form "type[/options]", where the syntax and semantics of the options depend on the type and specified options. The public key query method. Get the timestamp value. Gets the timestamp to use as the t= value in the DKIM-Signature header. A value representing the timestamp value. Digitally sign the message using a DomainKeys Identified Mail (DKIM) signature. Digitally signs the message using a DomainKeys Identified Mail (DKIM) signature. The formatting options. The message to sign. The list of header fields to sign. is null. -or- is null. -or- is null. does not contain the 'From' header. -or- contains one or more of the following headers: Return-Path, Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature. Digitally sign the message using a DomainKeys Identified Mail (DKIM) signature. Digitally signs the message using a DomainKeys Identified Mail (DKIM) signature. The message to sign. The headers to sign. is null. -or- is null. does not contain the 'From' header. -or- contains one or more of the following headers: Return-Path, Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature. Digitally sign the message using a DomainKeys Identified Mail (DKIM) signature. Digitally signs the message using a DomainKeys Identified Mail (DKIM) signature. The formatting options. The message to sign. The list of header fields to sign. is null. -or- is null. -or- is null. does not contain the 'From' header. -or- contains one or more of the following headers: Return-Path, Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature. Digitally sign the message using a DomainKeys Identified Mail (DKIM) signature. Digitally signs the message using a DomainKeys Identified Mail (DKIM) signature. The message to sign. The headers to sign. is null. -or- is null. does not contain the 'From' header. -or- contains one or more of the following headers: Return-Path, Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature. A base class for DKIM and ARC signers. The base class for and . Initializes a new instance of the class. Creates a new . Due to the recognized weakness of the SHA-1 hash algorithm and the wide availability of the SHA-256 hash algorithm (it has been a required part of DKIM since it was originally standardized in 2007), it is recommended that NOT be used. The domain that the signer represents. The selector subdividing the domain. The signature algorithm. is null. -or- is null. Get the domain that the signer represents. Gets the domain that the signer represents. The domain. Get the selector subdividing the domain. Gets the selector subdividing the domain. The selector. Get or set the algorithm to use for signing. Gets or sets the algorithm to use for signing. Creates a new . Due to the recognized weakness of the SHA-1 hash algorithm and the wide availability of the SHA-256 hash algorithm (it has been a required part of DKIM since it was originally standardized in 2007), it is recommended that NOT be used. The signature algorithm. Get or set the canonicalization algorithm to use for the message body. Gets or sets the canonicalization algorithm to use for the message body. The canonicalization algorithm. Get or set the canonicalization algorithm to use for the message headers. Gets or sets the canonicalization algorithm to use for the message headers. The canonicalization algorithm. Gets the private key. The private key used for signing. The private key. Create the digest signing context. Creates a new digest signing context. The digest signer. The is not supported. A filter for the DKIM simple body canonicalization. A filter for the DKIM simple body canonicalization. Initializes a new instance of the class. Creates a new . Filter the specified input. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The length of the input buffer, starting at . The output index. The output length. If set to true, all internally buffered data should be flushed to the output buffer. Resets the filter. Resets the filter. A DKIM-Signature verifier. Verifies DomainKeys Identified Mail (DKIM) signatures. Initializes a new instance of the class. Creates a new . The public key locator. is null. Verify the specified DKIM-Signature header. Verifies the specified DKIM-Signature header. true if the DKIM-Signature is valid; otherwise, false. The formatting options. The message to verify. The DKIM-Signature header. The cancellation token. is null. -or- is null. -or- is null. is not a DKIM-Signature header. The DKIM-Signature header value is malformed. The operation was canceled via the cancellation token. Asynchronously verify the specified DKIM-Signature header. Verifies the specified DKIM-Signature header. true if the DKIM-Signature is valid; otherwise, false. The formatting options. The message to verify. The DKIM-Signature header. The cancellation token. is null. -or- is null. -or- is null. is not a DKIM-Signature header. The DKIM-Signature header value is malformed. The operation was canceled via the cancellation token. Verify the specified DKIM-Signature header. Verifies the specified DKIM-Signature header. true if the DKIM-Signature is valid; otherwise, false. The message to verify. The DKIM-Signature header. The cancellation token. is null. -or- is null. is not a DKIM-Signature header. The DKIM-Signature header value is malformed. The operation was canceled via the cancellation token. Asynchronously verify the specified DKIM-Signature header. Verifies the specified DKIM-Signature header. true if the DKIM-Signature is valid; otherwise, false. The message to verify. The DKIM-Signature header. The cancellation token. is null. -or- is null. is not a DKIM-Signature header. The DKIM-Signature header value is malformed. The operation was canceled via the cancellation token. A base class for DKIM and ARC verifiers. The base class for and . Initializes a new instance of the class. Initializes the . The public key locator. is null. Get the public key locator. Gets the public key locator. The public key locator. Get or set the minimum allowed RSA key length. Gets the minimum allowed RSA key length. The DKIM specifications specify a single signing algorithm, RSA, and recommend key sizes of 1024 to 2048 bits (but require verification of 512-bit keys). As discussed in US-CERT Vulnerability Note VU#268267, the operational community has recognized that shorter keys compromise the effectiveness of DKIM. While 1024-bit signatures are common, stronger signatures are not. Widely used DNS configuration software places a practical limit on key sizes, because the software only handles a single 256-octet string in a TXT record, and RSA keys significantly longer than 1024 bits don't fit in 256 octets. Enable a DKIM signature algorithm. Enables the specified DKIM signature algorithm. Due to the recognized weakness of the SHA-1 hash algorithm and the wide availability of the SHA-256 hash algorithm (it has been a required part of DKIM since it was originally standardized in 2007), it is recommended that NOT be enabled. The DKIM signature algorithm. Disable a DKIM signature algorithm. Disables the specified DKIM signature algorithm. Due to the recognized weakness of the SHA-1 hash algorithm and the wide availability of the SHA-256 hash algorithm (it has been a required part of DKIM since it was originally standardized in 2007), it is recommended that NOT be enabled. The DKIM signature algorithm. Check whether a DKIM signature algorithm is enabled. Determines whether the specified DKIM signature algorithm is enabled. Due to the recognized weakness of the SHA-1 hash algorithm and the wide availability of the SHA-256 hash algorithm (it has been a required part of DKIM since it was originally standardized in 2007), it is recommended that NOT be enabled. true if the specified DKIM signature algorithm is enabled; otherwise, false. The DKIM signature algorithm. Create the digest signing context. Creates a new digest signing context that uses the specified algorithm. The DKIM signature algorithm. The public key. The digest signer. Encryption algorithms supported by S/MIME and OpenPGP. Represents the available encryption algorithms for use with S/MIME and OpenPGP. RC-2/40 was required by all S/MIME v2 implementations. However, since the mid-to-late 1990's, RC-2/40 has been considered to be extremely weak and starting with S/MIME v3.0 (published in 1999), all S/MIME implementations are required to implement support for Triple-DES (aka 3DES) and should no longer encrypt using RC-2/40 unless explicitly requested to do so by the user. These days, most S/MIME implementations support the AES-128 and AES-256 algorithms which are the recommended algorithms specified in S/MIME v3.2 and should be preferred over the use of Triple-DES unless the client capabilities of one or more of the recipients is unknown (or only supports Triple-DES). The AES 128-bit encryption algorithm. The AES 192-bit encryption algorithm. The AES 256-bit encryption algorithm. The Camellia 128-bit encryption algorithm. The Camellia 192-bit encryption algorithm. The Camellia 256-bit encryption algorithm. The Cast-5 128-bit encryption algorithm. The DES 56-bit encryption algorithm. This is extremely weak encryption and should not be used without consent from the user. The Triple-DES encryption algorithm. This is the weakest recommended encryption algorithm for use starting with S/MIME v3 and should only be used as a fallback if it is unknown what encryption algorithms are supported by the recipient's mail client. The IDEA 128-bit encryption algorithm. The Blowfish encryption algorithm. The Twofish encryption algorithm. The RC2 40-bit encryption algorithm (S/MIME only). This is extremely weak encryption and should not be used without consent from the user. The RC2 64-bit encryption algorithm (S/MIME only). This is very weak encryption and should not be used without consent from the user. The RC2 128-bit encryption algorithm (S/MIME only). The SEED 128-bit encryption algorithm (S/MIME only). A that uses the GnuPG keyrings. A that uses the GnuPG keyrings. Initializes a new instance of the class. Creates a new . An interface for a digital certificate. An interface for a digital certificate. Gets the public key algorithm supported by the certificate. Gets the public key algorithm supported by the certificate. The public key algorithm. Gets the date that the certificate was created. Gets the date that the certificate was created. The creation date. Gets the expiration date of the certificate. Gets the expiration date of the certificate. The expiration date. Gets the fingerprint of the certificate. Gets the fingerprint of the certificate. The fingerprint. Gets the email address of the owner of the certificate. Gets the email address of the owner of the certificate. The email address. Gets the name of the owner of the certificate. Gets the name of the owner of the certificate. The name of the owner. An interface for a digital signature. An interface for a digital signature. Gets certificate used by the signer. Gets certificate used by the signer. The signer's certificate. Gets the public key algorithm used for the signature. Gets the public key algorithm used for the signature. The public key algorithm. Gets the digest algorithm used for the signature. Gets the digest algorithm used for the signature. The digest algorithm. Gets the creation date of the digital signature. Gets the creation date of the digital signature. The creation date. Verifies the digital signature. Verifies the digital signature. true if the signature is valid; otherwise false. An error verifying the signature has occurred. An interface for a service which locates and retrieves DKIM public keys (probably via DNS). An interface for a service which locates and retrieves DKIM public keys (probably via DNS). Since MimeKit itself does not implement DNS, it is up to the client to implement public key lookups via DNS. Locate and retrieve the public key for the given domain and selector. Locates and retrieves the public key for the given domain and selector. The public key. A colon-separated list of query methods used to retrieve the public key. The default is "dns/txt". The domain. The selector. The cancellation token. Asynchronously locate and retrieve the public key for the given domain and selector. Locates and retrieves the public key for the given domain and selector. The public key. A colon-separated list of query methods used to retrieve the public key. The default is "dns/txt". The domain. The selector. The cancellation token. An interface for an X.509 Certificate database. An X.509 certificate database is used for storing certificates, metdata related to the certificates (such as encryption algorithms supported by the associated client), certificate revocation lists (CRLs), and private keys. Find the specified certificate. Searches the database for the specified certificate, returning the matching record with the desired fields populated. The matching record if found; otherwise null. The certificate. The desired fields. Finds the certificates matching the specified selector. Searches the database for certificates matching the selector, returning all matching certificates. The matching certificates. The match selector or null to return all certificates. Finds the private keys matching the specified selector. Searches the database for certificate records matching the selector, returning the private keys for each matching record. The matching certificates. The match selector or null to return all private keys. Finds the certificate records for the specified mailbox. Searches the database for certificates matching the specified mailbox that are valid for the date and time specified, returning all matching records populated with the desired fields. The matching certificate records populated with the desired fields. The mailbox. The date and time. true if a private key is required. The desired fields. Finds the certificate records matching the specified selector. Searches the database for certificate records matching the selector, returning all of the matching records populated with the desired fields. The matching certificate records populated with the desired fields. The match selector or null to match all certificates. true if only trusted certificates should be returned. The desired fields. Add the specified certificate record. Adds the specified certificate record to the database. The certificate record. Remove the specified certificate record. Removes the specified certificate record from the database. The certificate record. Update the specified certificate record. Updates the specified fields of the record in the database. The certificate record. The fields to update. Finds the CRL records for the specified issuer. Searches the database for CRL records matching the specified issuer, returning all matching records populated with the desired fields. The matching CRL records populated with the desired fields. The issuer. The desired fields. Finds the specified certificate revocation list. Searches the database for the specified CRL, returning the matching record with the desired fields populated. The matching record if found; otherwise null. The certificate revocation list. The desired fields. Add the specified CRL record. Adds the specified CRL record to the database. The CRL record. Remove the specified CRL record. Removes the specified CRL record from the database. The CRL record. Update the specified CRL record. Updates the specified fields of the record in the database. The CRL record. Gets a certificate revocation list store. Gets a certificate revocation list store. A certificate recovation list store. A multipart MIME part with a ContentType of multipart/encrypted containing an encrypted MIME part. This mime-type is common when dealing with PGP/MIME but is not used for S/MIME. Initializes a new instance of the class. This constructor is used by . Information used by the constructor. is null. Initializes a new instance of the class. Creates a new . Dispatches to the specific visit method for this MIME entity. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. Create a multipart/encrypted MIME part by signing and encrypting the specified entity. Signs the entity using the supplied signer and digest algorithm and then encrypts to the specified recipients, encapsulating the result in a new multipart/encrypted part. A new instance containing the signed and encrypted version of the specified entity. The OpenPGP cryptography context to use for singing and encrypting. The signer to use to sign the entity. The digest algorithm to use for signing. The encryption algorithm. The recipients for the encrypted entity. The entity to sign and encrypt. is null. -or- is null. -or- is null. -or- is null. cannot be used for signing. -or- One or more of the recipient keys cannot be used for encrypting. -or- No recipients were specified. The was out of range. The is not supported. -or- The is not supported. The user chose to cancel the password prompt. 3 bad attempts were made to unlock the secret key. Create a multipart/encrypted MIME part by signing and encrypting the specified entity. Signs the entity using the supplied signer and digest algorithm and then encrypts to the specified recipients, encapsulating the result in a new multipart/encrypted part. A new instance containing the signed and encrypted version of the specified entity. The OpenPGP cryptography context to use for signing and encrypting. The signer to use to sign the entity. The digest algorithm to use for signing. The recipients for the encrypted entity. The entity to sign and encrypt. is null. -or- is null. -or- is null. -or- is null. The private key for could not be found. A public key for one or more of the could not be found. The user chose to cancel the password prompt. 3 bad attempts were made to unlock the secret key. Create a multipart/encrypted MIME part by signing and encrypting the specified entity. Signs the entity using the supplied signer and digest algorithm and then encrypts to the specified recipients, encapsulating the result in a new multipart/encrypted part. A new instance containing the signed and encrypted version of the specified entity. The signer to use to sign the entity. The digest algorithm to use for signing. The encryption algorithm. The recipients for the encrypted entity. The entity to sign and encrypt. is null. -or- is null. -or- is null. cannot be used for signing. -or- One or more of the recipient keys cannot be used for encrypting. -or- No recipients were specified. The was out of range. A default has not been registered. -or- The is not supported. -or- The is not supported. The user chose to cancel the password prompt. 3 bad attempts were made to unlock the secret key. Create a multipart/encrypted MIME part by signing and encrypting the specified entity. Signs the entity using the supplied signer and digest algorithm and then encrypts to the specified recipients, encapsulating the result in a new multipart/encrypted part. A new instance containing the signed and encrypted version of the specified entity. The signer to use to sign the entity. The digest algorithm to use for signing. The recipients for the encrypted entity. The entity to sign and encrypt. is null. -or- is null. -or- is null. A default has not been registered. The private key for could not be found. A public key for one or more of the could not be found. The user chose to cancel the password prompt. 3 bad attempts were made to unlock the secret key. Create a multipart/encrypted MIME part by signing and encrypting the specified entity. Signs the entity using the supplied signer and digest algorithm and then encrypts to the specified recipients, encapsulating the result in a new multipart/encrypted part. A new instance containing the signed and encrypted version of the specified entity. The OpenPGP cryptography context to use for singing and encrypting. The signer to use to sign the entity. The digest algorithm to use for signing. The encryption algorithm. The recipients for the encrypted entity. The entity to sign and encrypt. is null. -or- is null. -or- is null. -or- is null. cannot be used for signing. -or- One or more of the recipient keys cannot be used for encrypting. -or- No recipients were specified. The was out of range. The is not supported. -or- The is not supported. The user chose to cancel the password prompt. 3 bad attempts were made to unlock the secret key. Create a multipart/encrypted MIME part by signing and encrypting the specified entity. Signs the entity using the supplied signer and digest algorithm and then encrypts to the specified recipients, encapsulating the result in a new multipart/encrypted part. A new instance containing the signed and encrypted version of the specified entity. The OpenPGP cryptography context to use for singing and encrypting. The signer to use to sign the entity. The digest algorithm to use for signing. The recipients for the encrypted entity. The entity to sign and encrypt. is null. -or- is null. -or- is null. -or- is null. cannot be used for signing. -or- One or more of the recipient keys cannot be used for encrypting. -or- No recipients were specified. The was out of range. The is not supported. The user chose to cancel the password prompt. 3 bad attempts were made to unlock the secret key. Create a multipart/encrypted MIME part by signing and encrypting the specified entity. Signs the entity using the supplied signer and digest algorithm and then encrypts to the specified recipients, encapsulating the result in a new multipart/encrypted part. A new instance containing the signed and encrypted version of the specified entity. The signer to use to sign the entity. The digest algorithm to use for signing. The encryption algorithm. The recipients for the encrypted entity. The entity to sign and encrypt. is null. -or- is null. -or- is null. cannot be used for signing. -or- One or more of the recipient keys cannot be used for encrypting. -or- No recipients were specified. The was out of range. A default has not been registered. -or- The is not supported. -or- The is not supported. The user chose to cancel the password prompt. 3 bad attempts were made to unlock the secret key. Create a multipart/encrypted MIME part by signing and encrypting the specified entity. Signs the entity using the supplied signer and digest algorithm and then encrypts to the specified recipients, encapsulating the result in a new multipart/encrypted part. A new instance containing the signed and encrypted version of the specified entity. The signer to use to sign the entity. The digest algorithm to use for signing. The recipients for the encrypted entity. The entity to sign and encrypt. is null. -or- is null. -or- is null. cannot be used for signing. -or- One or more of the recipient keys cannot be used for encrypting. -or- No recipients were specified. The was out of range. A default has not been registered. -or- The is not supported. The user chose to cancel the password prompt. 3 bad attempts were made to unlock the secret key. Create a multipart/encrypted MIME part by encrypting the specified entity. Encrypts the entity to the specified recipients, encapsulating the result in a new multipart/encrypted part. A new instance containing the encrypted version of the specified entity. The OpenPGP cryptography context to use for encrypting. The encryption algorithm. The recipients for the encrypted entity. The entity to sign and encrypt. is null. -or- is null. -or- is null. One or more of the recipient keys cannot be used for encrypting. THe specified encryption algorithm is not supported. Create a multipart/encrypted MIME part by encrypting the specified entity. Encrypts the entity to the specified recipients, encapsulating the result in a new multipart/encrypted part. A new instance containing the encrypted version of the specified entity. The OpenPGP cryptography context to use for encrypting. The recipients for the encrypted entity. The entity to sign and encrypt. is null. -or- is null. -or- is null. A public key for one or more of the could not be found. Create a multipart/encrypted MIME part by encrypting the specified entity. Encrypts the entity to the specified recipients, encapsulating the result in a new multipart/encrypted part. A new instance containing the encrypted version of the specified entity. The encryption algorithm. The recipients for the encrypted entity. The entity to sign and encrypt. is null. -or- is null. One or more of the recipient keys cannot be used for encrypting. A default has not been registered. -or- The specified encryption algorithm is not supported. Create a multipart/encrypted MIME part by encrypting the specified entity. Encrypts the entity to the specified recipients, encapsulating the result in a new multipart/encrypted part. A new instance containing the encrypted version of the specified entity. The recipients for the encrypted entity. The entity to sign and encrypt. is null. -or- is null. A default has not been registered. A public key for one or more of the could not be found. Create a multipart/encrypted MIME part by encrypting the specified entity. Encrypts the entity to the specified recipients, encapsulating the result in a new multipart/encrypted part. A new instance containing the encrypted version of the specified entity. The OpenPGP cryptography context to use for encrypting. The encryption algorithm. The recipients for the encrypted entity. The entity to sign and encrypt. is null. -or- is null. -or- is null. One or more of the recipient keys cannot be used for encrypting. THe specified encryption algorithm is not supported. Create a multipart/encrypted MIME part by encrypting the specified entity. Encrypts the entity to the specified recipients, encapsulating the result in a new multipart/encrypted part. A new instance containing the encrypted version of the specified entity. The OpenPGP cryptography context to use for encrypting. The recipients for the encrypted entity. The entity to sign and encrypt. is null. -or- is null. -or- is null. One or more of the recipient keys cannot be used for encrypting. Create a multipart/encrypted MIME part by encrypting the specified entity. Encrypts the entity to the specified recipients, encapsulating the result in a new multipart/encrypted part. A new instance containing the encrypted version of the specified entity. The encryption algorithm. The recipients for the encrypted entity. The entity to sign and encrypt. is null. -or- is null. One or more of the recipient keys cannot be used for encrypting. A default has not been registered. -or- The specified encryption algorithm is not supported. Create a multipart/encrypted MIME part by encrypting the specified entity. Encrypts the entity to the specified recipients, encapsulating the result in a new multipart/encrypted part. A new instance containing the encrypted version of the specified entity. The recipients for the encrypted entity. The entity to sign and encrypt. is null. -or- is null. One or more of the recipient keys cannot be used for encrypting. A default has not been registered. Decrypts the part. Decrypts the and extracts any digital signatures in cases where the content was also signed. The decrypted entity. The OpenPGP cryptography context to use for decrypting. A list of digital signatures if the data was both signed and encrypted. The cancellation token. is null. The protocol parameter was not specified. -or- The multipart is malformed in some way. The provided does not support the protocol parameter. The private key could not be found to decrypt the encrypted data. The user chose to cancel the password prompt. -or- The operation was cancelled via the cancellation token. 3 bad attempts were made to unlock the secret key. Decrypts the part. Decrypts the part. The decrypted entity. The OpenPGP cryptography context to use for decrypting. The cancellation token. is null. The protocol parameter was not specified. -or- The multipart is malformed in some way. The provided does not support the protocol parameter. The private key could not be found to decrypt the encrypted data. The user chose to cancel the password prompt. -or- The operation was cancelled via the cancellation token. 3 bad attempts were made to unlock the secret key. Decrypts the part. Decrypts the and extracts any digital signatures in cases where the content was also signed. The decrypted entity. A list of digital signatures if the data was both signed and encrypted. The cancellation token. The protocol parameter was not specified. -or- The multipart is malformed in some way. A suitable for decrypting could not be found. The private key could not be found to decrypt the encrypted data. The user chose to cancel the password prompt. -or- The operation was cancelled via the cancellation token. 3 bad attempts were made to unlock the secret key. Decrypts the part. Decrypts the part. The decrypted entity. The cancellation token. The protocol parameter was not specified. -or- The multipart is malformed in some way. A suitable for decrypting could not be found. The private key could not be found to decrypt the encrypted data. The user chose to cancel the password prompt. -or- The operation was cancelled via the cancellation token. 3 bad attempts were made to unlock the secret key. A signed multipart, as used by both S/MIME and PGP/MIME protocols. The first child of a multipart/signed is the content while the second child is the detached signature data. Any other children are not defined and could be anything. Initializes a new instance of the class. This constructor is used by . Information used by the constructor. is null. Initializes a new instance of the class. Creates a new . Dispatches to the specific visit method for this MIME entity. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. Creates a new . Cryptographically signs the entity using the supplied signer and digest algorithm in order to generate a detached signature and then adds the entity along with the detached signature data to a new multipart/signed part. A new instance. The cryptography context to use for signing. The signer. The digest algorithm to use for signing. The entity to sign. is null. -or- is null. -or- is null. The was out of range. The is not supported. A signing certificate could not be found for . The private key could not be found for . An error occurred in the cryptographic message syntax subsystem. Creates a new . Cryptographically signs the entity using the supplied signer and digest algorithm in order to generate a detached signature and then adds the entity along with the detached signature data to a new multipart/signed part. A new instance. The OpenPGP context to use for signing. The signer. The digest algorithm to use for signing. The entity to sign. is null. -or- is null. -or- is null. cannot be used for signing. The was out of range. The is not supported. An error occurred in the OpenPGP subsystem. Creates a new . Cryptographically signs the entity using the supplied signer and digest algorithm in order to generate a detached signature and then adds the entity along with the detached signature data to a new multipart/signed part. A new instance. The signer. The digest algorithm to use for signing. The entity to sign. is null. -or- is null. cannot be used for signing. The was out of range. A cryptography context suitable for signing could not be found. -or- The is not supported. An error occurred in the OpenPGP subsystem. Creates a new . Cryptographically signs the entity using the supplied signer in order to generate a detached signature and then adds the entity along with the detached signature data to a new multipart/signed part. A new instance. The S/MIME context to use for signing. The signer. The entity to sign. is null. -or- is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. Creates a new . Cryptographically signs the entity using the supplied signer in order to generate a detached signature and then adds the entity along with the detached signature data to a new multipart/signed part. A new instance. The signer. The entity to sign. is null. -or- is null. A cryptography context suitable for signing could not be found. An error occurred in the cryptographic message syntax subsystem. Prepare the MIME entity for transport using the specified encoding constraints. Prepares the MIME entity for transport using the specified encoding constraints. The encoding constraint. The maximum number of octets allowed per line (not counting the CRLF). Must be between 60 and 998 (inclusive). is not between 60 and 998 (inclusive). -or- is not a valid value. Verify the multipart/signed part. Verifies the multipart/signed part using the supplied cryptography context. A signer info collection. The cryptography context to use for verifying the signature. The cancellation token. is null. The multipart is malformed in some way. does not support verifying the signature part. The operation was cancelled via the cancellation token. An error occurred in the cryptographic message syntax subsystem. Verify the multipart/signed part. Verifies the multipart/signed part using the supplied cryptography context. A signer info collection. The cryptography context to use for verifying the signature. The cancellation token. is null. The multipart is malformed in some way. does not support verifying the signature part. The operation was cancelled via the cancellation token. An error occurred in the cryptographic message syntax subsystem. Verify the multipart/signed part. Verifies the multipart/signed part using the default cryptography context. A signer info collection. The cancellation token. The protocol parameter was not specified. -or- The multipart is malformed in some way. A cryptography context suitable for verifying the signature could not be found. The operation was cancelled via the cancellation token. An error occurred in the cryptographic message syntax subsystem. Asynchronously verify the multipart/signed part. Verifies the multipart/signed part using the default cryptography context. A signer info collection. The cancellation token. The protocol parameter was not specified. -or- The multipart is malformed in some way. A cryptography context suitable for verifying the signature could not be found. The operation was cancelled via the cancellation token. An error occurred in the cryptographic message syntax subsystem. A filter to strip off data before and after an armored OpenPGP block. Filters out data before and after armored OpenPGP blocks. Initializes a new instance of the class. Creates a new . An OpenPGP begin marker. An OpenPGP end marker. Filter the specified input. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The length of the input buffer, starting at . The output index. The output length. If set to true, all internally buffered data should be flushed to the output buffer. Resets the filter. Resets the filter. An abstract OpenPGP cryptography context which can be used for PGP/MIME. Generally speaking, applications should not use a directly, but rather via higher level APIs such as and . Initializes a new instance of the class. Subclasses choosing to use this constructor MUST set the , , , and the properties themselves. Initializes a new instance of the class. Creates a new using the specified public and private keyring paths. The public keyring file path. The secret keyring file path. is null. -or- is null. An error occurred while reading one of the keyring files. An error occurred while parsing one of the keyring files. Get or set the default encryption algorithm. Gets or sets the default encryption algorithm. The encryption algorithm. The specified encryption algorithm is not supported. Get or set the key server to use when automatically retrieving keys. Gets or sets the key server to use when verifying keys that are not already in the public keychain. Only HTTP and HKP protocols are supported. The key server. is not an absolute URI. Get or set whether unknown PGP keys should automtically be retrieved. Gets or sets whether or not the should automatically fetch keys as needed from the keyserver when verifying signatures. Requires a valid to be set. true if unknown PGP keys should automatically be retrieved; otherwise, false. Get the public keyring path. Gets the public keyring path. The public key ring path. Get the secret keyring path. Gets the secret keyring path. The secret key ring path. Get the public keyring bundle. Gets the public keyring bundle. The public keyring bundle. Get the secret keyring bundle. Gets the secret keyring bundle. The secret keyring bundle. Get the signature protocol. The signature protocol is used by in order to determine what the protocol parameter of the Content-Type header should be. The signature protocol. Get the encryption protocol. The encryption protocol is used by in order to determine what the protocol parameter of the Content-Type header should be. The encryption protocol. Get the key exchange protocol. Gets the key exchange protocol. The key exchange protocol. Check whether or not the specified protocol is supported. Used in order to make sure that the protocol parameter value specified in either a multipart/signed or multipart/encrypted part is supported by the supplied cryptography context. true if the protocol is supported; otherwise false The protocol. is null. Get the string name of the digest algorithm for use with the micalg parameter of a multipart/signed part. Maps the to the appropriate string identifier as used by the micalg parameter value of a multipart/signed Content-Type header. For example: AlgorithmName pgp-md5 pgp-sha1 pgp-ripemd160 pgp-md2 pgp-tiger192 pgp-haval-5-160 pgp-sha256 pgp-sha384 pgp-sha512 pgp-sha224 The micalg value. The digest algorithm. is out of range. Get the digest algorithm from the micalg parameter value in a multipart/signed part. Maps the micalg parameter value string back to the appropriate . The digest algorithm. The micalg parameter value. is null. Enumerate all public keyrings. Enumerates all public keyrings. The list of available public keyrings. Enumerate all public keys. Enumerates all public keys. The list of available public keys. Enumerate the public keyrings for a particular mailbox. Enumerates all public keyrings for the specified mailbox. The public keys. Mailbox. is null. Enumerate the public keys for a particular mailbox. Enumerates all public keys for the specified mailbox. The public keys. The mailbox address. is null. Enumerate all secret keyrings. Enumerates all secret keyrings. The list of available secret keyrings. Enumerate all secret keys. Enumerates all secret keys. The list of available secret keys. Enumerate the secret keyrings for a particular mailbox. Enumerates all secret keyrings for the specified mailbox. The secret keys. The mailbox address. is null. Enumerate the secret keys for a particular mailbox. Enumerates all secret keys for the specified mailbox. The public keys. The mailbox address. is null. Get the public key associated with the mailbox address. Gets a valid public key associated with the mailbox address that can be used for encryption. The public encryption key. The mailbox. is null. The public key for the specified could not be found. Get the public keys for the specified mailbox addresses. Gets a list of valid public keys for the specified mailbox addresses that can be used for encryption. The encryption keys. The mailboxes. is null. A public key for one or more of the could not be found. Get the signing key associated with the mailbox address. Gets the signing key associated with the mailbox address. The signing key. The mailbox. is null. A private key for the specified could not be found. Gets the password for key. Gets the password for key. The password for key. The key. The user chose to cancel the password request. Gets the private key from the specified secret key. Gets the private key from the specified secret key. The private key. The secret key. is null. The user chose to cancel the password prompt. 3 bad attempts were made to unlock the secret key. Generate a new key pair. Generates a new RSA key pair. The mailbox to generate the key pair for. The password to be set on the secret key. The expiration date for the generated key pair. The symmetric key algorithm to use. The source of randomness to use when generating the key pair. is null. -or- is null. is not a date in the future. Sign a public key. Signs a public key using the specified secret key. Most OpenPGP implementations use to make their "key signatures". Some implementations are known to use the other certification types, but few differentiate between them. The secret key to use for signing. The public key to sign. The digest algorithm. The certification to give the signed key. is null. -or- is null. Gets the equivalent for the specified . Maps a to the equivalent . The hash algorithm. The digest algorithm. is out of range. is not a supported digest algorithm. Check whether or not a particular mailbox address can be used for signing. Checks whether or not as particular mailbocx address can be used for signing. true if the mailbox address can be used for signing; otherwise, false. The signer. is null. Check whether or not the cryptography context can encrypt to a particular recipient. Checks whether or not the cryptography context can be used to encrypt to a particular recipient. true if the cryptography context can be used to encrypt to the designated recipient; otherwise, false. The recipient's mailbox address. is null. Cryptographically signs the content. Cryptographically signs the content using the specified signer and digest algorithm. A new instance containing the detached signature data. The signer. The digest algorithm to use for signing. The content. is null. -or- is null. is out of range. The specified is not supported by this context. A signing key could not be found for . The user chose to cancel the password prompt. 3 bad attempts were made to unlock the secret key. Cryptographically signs the content. Cryptographically signs the content using the specified signer and digest algorithm. A new instance containing the detached signature data. The signer. The digest algorithm to use for signing. The content. is null. -or- is null. cannot be used for signing. The was out of range. The is not supported. The user chose to cancel the password prompt. 3 bad attempts were made to unlock the secret key. Gets the equivalent for the specified . Gets the equivalent for the specified . The digest algorithm. The hash algorithm. is out of range. does not have an equivalent value. Gets the equivalent for the specified . Gets the equivalent for the specified . The public-key algorithm. The public-key algorithm. is out of range. does not have an equivalent value. Verify the specified content using the detached signatureData. Verifies the specified content using the detached signatureData. If any of the signatures were made with an unrecognized key and is enabled, an attempt will be made to retrieve said key(s). The can be used to cancel key retrieval. A list of digital signatures. The content. The signature data. The cancellation token. is null. -or- is null. does not contain valid PGP signature data. Asynchronously verify the specified content using the detached signatureData. Verifies the specified content using the detached signatureData. If any of the signatures were made with an unrecognized key and is enabled, an attempt will be made to retrieve said key(s). The can be used to cancel key retrieval. A list of digital signatures. The content. The signature data. The cancellation token. is null. -or- is null. does not contain valid PGP signature data. Encrypt the specified content for the specified recipients. Encrypts the specified content for the specified recipients. A new instance containing the encrypted data. The recipients. The content. is null. -or- is null. One or more of the recipient keys cannot be used for encrypting. -or- No recipients were specified. A public key could not be found for one or more of the . Encrypt the specified content for the specified recipients. Encrypts the specified content for the specified recipients. A new instance containing the encrypted data. The encryption algorithm. The recipients. The content. is null. -or- is null. One or more of the recipient keys cannot be used for encrypting. -or- No recipients were specified. A public key could not be found for one or more of the . The specified encryption algorithm is not supported. Encrypt the specified content for the specified recipients. Encrypts the specified content for the specified recipients. A new instance containing the encrypted data. The encryption algorithm. The recipients. The content. is null. -or- is null. One or more of the recipient keys cannot be used for encrypting. -or- No recipients were specified. The specified encryption algorithm is not supported. Encrypt the specified content for the specified recipients. Encrypts the specified content for the specified recipients. A new instance containing the encrypted data. The recipients. The content. is null. -or- is null. One or more of the recipient keys cannot be used for encrypting. -or- No recipients were specified. Cryptographically sign and encrypt the specified content for the specified recipients. Cryptographically signs and encrypts the specified content for the specified recipients. A new instance containing the encrypted data. The signer. The digest algorithm to use for signing. The recipients. The content. is null. -or- is null. -or- is null. is out of range. One or more of the recipient keys cannot be used for encrypting. -or- No recipients were specified. The specified is not supported by this context. The private key could not be found for . A public key could not be found for one or more of the . The user chose to cancel the password prompt. 3 bad attempts were made to unlock the secret key. Cryptographically sign and encrypt the specified content for the specified recipients. Cryptographically signs and encrypts the specified content for the specified recipients. A new instance containing the encrypted data. The signer. The digest algorithm to use for signing. The encryption algorithm. The recipients. The content. is null. -or- is null. -or- is null. cannot be used for signing. -or- One or more of the recipient keys cannot be used for encrypting. -or- No recipients were specified. The specified encryption algorithm is not supported. The user chose to cancel the password prompt. 3 bad attempts were made to unlock the secret key. Cryptographically sign and encrypt the specified content for the specified recipients. Cryptographically signs and encrypts the specified content for the specified recipients. A new instance containing the encrypted data. The signer. The digest algorithm to use for signing. The encryption algorithm. The recipients. The content. is null. -or- is null. -or- is null. cannot be used for signing. -or- One or more of the recipient keys cannot be used for encrypting. -or- No recipients were specified. The specified encryption algorithm is not supported. The user chose to cancel the password prompt. 3 bad attempts were made to unlock the secret key. Cryptographically sign and encrypt the specified content for the specified recipients. Cryptographically signs and encrypts the specified content for the specified recipients. A new instance containing the encrypted data. The signer. The digest algorithm to use for signing. The recipients. The content. is null. -or- is null. -or- is null. cannot be used for signing. -or- One or more of the recipient keys cannot be used for encrypting. -or- No recipients were specified. The user chose to cancel the password prompt. 3 bad attempts were made to unlock the secret key. Decrypt an encrypted stream and extract the digital signers if the content was also signed. Decrypts an encrypted stream and extracts the digital signers if the content was also signed. If any of the signatures were made with an unrecognized key and is enabled, an attempt will be made to retrieve said key(s). The can be used to cancel key retrieval. The list of digital signatures if the data was both signed and encrypted; otherwise, null. The encrypted data. The stream to write the decrypted data to. The cancellation token. is null. -or- is null. The private key could not be found to decrypt the stream. The user chose to cancel the password prompt. -or- The operation was cancelled via the cancellation token. 3 bad attempts were made to unlock the secret key. An OpenPGP error occurred. Asynchronously decrypt an encrypted stream and extract the digital signers if the content was also signed. Decrypts an encrypted stream and extracts the digital signers if the content was also signed. If any of the signatures were made with an unrecognized key and is enabled, an attempt will be made to retrieve said key(s). The can be used to cancel key retrieval. The list of digital signatures if the data was both signed and encrypted; otherwise, null. The encrypted data. The stream to write the decrypted data to. The cancellation token. is null. -or- is null. The private key could not be found to decrypt the stream. The user chose to cancel the password prompt. -or- The operation was cancelled via the cancellation token. 3 bad attempts were made to unlock the secret key. An OpenPGP error occurred. Decrypts the specified encryptedData and extracts the digital signers if the content was also signed. Decrypts the specified encryptedData and extracts the digital signers if the content was also signed. The decrypted . The encrypted data. A list of digital signatures if the data was both signed and encrypted. The cancellation token. is null. The private key could not be found to decrypt the stream. The user chose to cancel the password prompt. -or- The operation was cancelled via the cancellation token. 3 bad attempts were made to unlock the secret key. An OpenPGP error occurred. Decrypts the specified encryptedData. Decrypts the specified encryptedData. The decrypted . The encrypted data. The cancellation token. is null. The private key could not be found to decrypt the stream. The user chose to cancel the password prompt. -or- The operation was cancelled via the cancellation token. 3 bad attempts were made to unlock the secret key. An OpenPGP error occurred. Saves the public key-ring bundle. Atomically saves the public key-ring bundle to the path specified by . Called by if any public keys were successfully imported. An error occured while saving the public key-ring bundle. Saves the secret key-ring bundle. Atomically saves the secret key-ring bundle to the path specified by . Called by if any secret keys were successfully imported. An error occured while saving the secret key-ring bundle. Imports a public pgp keyring. Imports a public pgp keyring. The pgp keyring. is null. Imports a public pgp keyring bundle. Imports a public pgp keyring bundle. The pgp keyring bundle. is null. Imports public pgp keys from the specified stream. Imports public pgp keys from the specified stream. The raw key data. is null. An error occurred while parsing the raw key-ring data -or- An error occured while saving the public key-ring bundle. Imports a secret pgp keyring. Imports a secret pgp keyring. The pgp keyring. is null. Imports a secret pgp keyring bundle. Imports a secret pgp keyring bundle. The pgp keyring bundle. is null. Exports the public keys for the specified mailboxes. Exports the public keys for the specified mailboxes. A new instance containing the exported public keys. The mailboxes associated with the public keys to export. is null. was empty. Exports the specified public keys. Exports the specified public keys. A new instance containing the exported public keys. The public keys to export. is null. Export the specified public keys. Exports the specified public keys. A new instance containing the exported public keys. The public keys to export. is null. Export the public keyrings for the specified mailboxes. Exports the public keyrings for the specified mailboxes. The mailboxes. The output stream. true if the output should be armored; otherwise, false. is null. -or- is null. An I/O error occurred. Export the specified public keys. Exports the specified public keys. A new instance containing the exported public keys. The public keys to export. The output stream. true if the output should be armored; otherwise, false. is null. -or- is null. An I/O error occurred. Export the public keyring bundle. Exports the public keyring bundle. The public keyring bundle to export. The output stream. true if the output should be armored; otherwise, false. is null. -or- is null. An I/O error occurred. Delete a public pgp keyring. Deletes a public pgp keyring. The pgp keyring. is null. Delete a secret pgp keyring. Deletes a secret pgp keyring. The pgp keyring. is null. Releases all resources used by the object. Call when you are finished using the . The method leaves the in an unusable state. After calling , you must release all references to the so the garbage collector can reclaim the memory that the was occupying. An enum expressing a type of OpenPGP data. An enum expressing a type of OpenPGP data. No OpenPGP data detected. The OpenPGP data is a signed message. The OpenPGP data is an encrypted message. The OpenPGP data is a public key. The OpenPGP data is a private key. A filter meant to aid in the detection of OpenPGP blocks. Detects OpenPGP block markers and their byte offsets. Initializes a new instance of the class. Creates a new . Get the byte offset of the BEGIN marker, if available. Gets the byte offset of the BEGIN marker if available. The byte offset. Get the byte offset of the END marker, if available. Gets the byte offset of the END marker if available. The byte offset. Get the type of OpenPGP data detected. Gets the type of OpenPGP data detected. The type of OpenPGP data detected. Filter the specified input. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The length of the input buffer, starting at . The output index. The output length. If set to true, all internally buffered data should be flushed to the output buffer. Resets the filter. Resets the filter. An OpenPGP digital certificate. An OpenPGP digital certificate. Gets the public key ring. Get the public key ring that is associated with. The key ring. Gets the public key. Get the public key. The public key. Gets the public key algorithm supported by the certificate. Gets the public key algorithm supported by the certificate. The public key algorithm. Gets the date that the certificate was created. Gets the date that the certificate was created. The creation date. Gets the expiration date of the certificate. Gets the expiration date of the certificate. The expiration date. Gets the fingerprint of the certificate. Gets the fingerprint of the certificate. The fingerprint. Gets the email address of the owner of the certificate. Gets the email address of the owner of the certificate. The email address. Gets the name of the owner of the certificate. Gets the name of the owner of the certificate. The name of the owner. An OpenPGP digital signature. An OpenPGP digital signature. Gets certificate used by the signer. Gets certificate used by the signer. The signer's certificate. Gets the public key algorithm used for the signature. Gets the public key algorithm used for the signature. The public key algorithm. Gets the digest algorithm used for the signature. Gets the digest algorithm used for the signature. The digest algorithm. Gets the creation date of the digital signature. Gets the creation date of the digital signature. The creation date. Verifies the digital signature. Verifies the digital signature. true if the signature is valid; otherwise false. An error verifying the signature has occurred. An OpenPGP key certification. An OpenPGP key certification. Generic certification of a User ID and Public-Key packet. The issuer of this certification does not make any particular assertion as to how well the certifier has checked that the owner of the key is in fact the person described by the User ID. Persona certification of a User ID and Public-Key packet. The issuer of this certification has not done any verification of the claim that the owner of this key is the User ID specified. Casual certification of a User ID and Public-Key packet. The issuer of this certification has done some casual verification of the claim of identity. Positive certification of a User ID and Public-Key packet. The issuer of this certification has done substantial verification of the claim of identity. An exception that is thrown when a private key could not be found for a specified mailbox or key id. An exception that is thrown when a private key could not be found for a specified mailbox or key id. Initializes a new instance of the class. Creates a new . The serialization info. The stream context. is null. Initializes a new instance of the class. Creates a new . The mailbox that could not be resolved to a valid private key. A message explaining the error. is null. Initializes a new instance of the class. Creates a new . The key id that could not be resolved to a valid certificate. A message explaining the error. is null. Initializes a new instance of the class. Creates a new . The key id that could not be resolved to a valid certificate. A message explaining the error. is null. When overridden in a derived class, sets the with information about the exception. Sets the with information about the exception. The serialization info. The streaming context. is null. Gets the key id that could not be found. Gets the key id that could not be found. The key id. An enumeration of public key algorithms. An enumeration of public key algorithms. No public key algorithm specified. The RSA algorithm. The RSA encryption-only algorithm. The RSA sign-only algorithm. The El-Gamal encryption-only algorithm. The DSA algorithm. The elliptic curve algorithm (aka EC or ECDH). The elliptic curve DSA algorithm (aka ECDSA). The El-Gamal algorithm. The Diffie-Hellman algorithm. The Edwards-Curve DSA algorithm (aka EdDSA). An exception that is thrown when a public key could not be found for a specified mailbox. An exception that is thrown when a public key could not be found for a specified mailbox. Initializes a new instance of the class. Creates a new . The serialization info. The stream context. is null. Initializes a new instance of the class. Creates a new . The mailbox that could not be resolved to a valid private key. A message explaining the error. When overridden in a derived class, sets the with information about the exception. Sets the with information about the exception. The serialization info. The streaming context. is null. Gets the key id that could not be found. Gets the key id that could not be found. The key id. The RSA signature padding schemes used by S/MIME. The RSA signature padding schemes used by S/MIME as described in rfc8017. The PKCS #1 v1.5 signature padding scheme. The Probibilistic Signature Scheme (PSS). A secure mailbox address which includes a fingerprint for a certificate. When signing or encrypting a message, it is necessary to look up the X.509 certificate in order to do the actual sign or encrypt operation. One way of accomplishing this is to use the email address of sender or recipient as a unique identifier. However, a better approach is to use the fingerprint (or 'thumbprint' in Microsoft parlance) of the user's certificate. Initializes a new instance of the class. Creates a new with the specified fingerprint. The character encoding to be used for encoding the name. The name of the mailbox. The route of the mailbox. The address of the mailbox. The fingerprint of the certificate belonging to the owner of the mailbox. is null. -or- is null. -or- is null. -or- is null. Initializes a new instance of the class. Creates a new with the specified fingerprint. The name of the mailbox. The route of the mailbox. The address of the mailbox. The fingerprint of the certificate belonging to the owner of the mailbox. is null. -or- is null. -or- is null. Initializes a new instance of the class. Creates a new with the specified fingerprint. The route of the mailbox. The address of the mailbox. The fingerprint of the certificate belonging to the owner of the mailbox. is null. -or- is null. -or- is null. Initializes a new instance of the class. Creates a new with the specified fingerprint. The character encoding to be used for encoding the name. The name of the mailbox. The address of the mailbox. The fingerprint of the certificate belonging to the owner of the mailbox. is null. -or- is null. -or- is null. Initializes a new instance of the class. Creates a new with the specified fingerprint. The name of the mailbox. The address of the mailbox. The fingerprint of the certificate belonging to the owner of the mailbox. is null. -or- is null. Initializes a new instance of the class. Creates a new with the specified address. The must be in the form user@example.com. This method cannot be used to parse a free-form email address that includes the name or encloses the address in angle brackets. To parse a free-form email address, use instead. The address of the mailbox. The fingerprint of the certificate belonging to the owner of the mailbox. is null. -or- is null. Gets the fingerprint of the certificate and/or key to use for signing or encrypting. A fingerprint is a SHA-1 hash of the raw certificate data and is often used as a unique identifier for a particular certificate in a certificate store. The fingerprint of the certificate. A Secure MIME (S/MIME) cryptography context. Generally speaking, applications should not use a directly, but rather via higher level APIs such as and . Initializes a new instance of the class. Enables the following encryption algorithms by default: Get the signature protocol. The signature protocol is used by in order to determine what the protocol parameter of the Content-Type header should be. The signature protocol. Get the encryption protocol. The encryption protocol is used by in order to determine what the protocol parameter of the Content-Type header should be. The encryption protocol. Get the key exchange protocol. Gets the key exchange protocol. The key exchange protocol. Check whether or not the specified protocol is supported by the . Used in order to make sure that the protocol parameter value specified in either a multipart/signed or multipart/encrypted part is supported by the supplied cryptography context. true if the protocol is supported; otherwise false The protocol. is null. Get the string name of the digest algorithm for use with the micalg parameter of a multipart/signed part. Maps the to the appropriate string identifier as used by the micalg parameter value of a multipart/signed Content-Type header. For example: AlgorithmName md2 md4 md5 sha-1 sha-224 sha-256 sha-384 sha-512 tiger-192 ripemd160 haval-5-160 The micalg value. The digest algorithm. is out of range. The specified is not supported by this context. Get the digest algorithm from the micalg parameter value in a multipart/signed part. Maps the micalg parameter value string back to the appropriate . Maps the micalg parameter value string back to the appropriate AlgorithmName md2 md4 md5 sha-1 sha-224 sha-256 sha-384 sha-512 tiger-192 ripemd160 haval-5-160 The digest algorithm. The micalg parameter value. is null. Get the OID for the digest algorithm. Gets the OID for the digest algorithm. The digest oid. The digest algorithm. is out of range. The specified is not supported by this context. Get the preferred encryption algorithm to use for encrypting to the specified recipients. Gets the preferred encryption algorithm to use for encrypting to the specified recipients based on the encryption algorithms supported by each of the recipients, the , and the . If the supported encryption algorithms are unknown for any recipient, it is assumed that the recipient supports at least the Triple-DES encryption algorithm. The preferred encryption algorithm. The recipients. Compresses the specified stream. Compresses the specified stream. A new instance containing the compressed content. The stream to compress. is null. An error occurred in the cryptographic message syntax subsystem. Decompress the specified stream. Decompress the specified stream. The decompressed mime part. The stream to decompress. is null. An error occurred in the cryptographic message syntax subsystem. Decompress the specified stream to an output stream. Decompress the specified stream to an output stream. The stream to decompress. The output stream. is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. Cryptographically signs and encapsulates the content using the specified signer. Cryptographically signs and encapsulates the content using the specified signer. A new instance containing the detached signature data. The signer. The content. is null. -or- is null. Cryptographically signs and encapsulates the content using the specified signer and digest algorithm. Cryptographically signs and encapsulates the content using the specified signer and digest algorithm. A new instance containing the detached signature data. The signer. The digest algorithm to use for signing. The content. is null. -or- is null. is out of range. The specified is not supported by this context. A signing certificate could not be found for . An error occurred in the cryptographic message syntax subsystem. Cryptographically signs the content using the specified signer. Cryptographically signs the content using the specified signer. A new instance containing the detached signature data. The signer. The content. is null. -or- is null. Verify the digital signatures of the specified signed data and extract the original content. Verifies the digital signatures of the specified signed data and extracts the original content. The list of digital signatures. The signed data. The extracted MIME entity. The cancellation token. is null. The extracted content could not be parsed as a MIME entity. The operation was cancelled via the cancellation token. Verify the digital signatures of the specified signed data and extract the original content. Verifies the digital signatures of the specified signed data and extracts the original content. The extracted content stream. The signed data. The digital signatures. The cancellation token. is null. An error occurred in the cryptographic message syntax subsystem. The operation was cancelled via the cancellation token. Encrypts the specified content for the specified recipients. Encrypts the specified content for the specified recipients. A new instance containing the encrypted content. The recipients. The content. is null. -or- is null. Decrypts the specified encryptedData to an output stream. Decrypts the specified encryptedData to an output stream. The encrypted data. The stream to write the decrypted data to. is null. -or- is null. Imports certificates and keys from a pkcs12-encoded stream. Imports certificates and keys from a pkcs12-encoded stream. The raw certificate and key data. The password to unlock the stream. is null. -or- is null. Importing keys is not supported by this cryptography context. Imports certificates and keys from a pkcs12 file. Imports certificates and keys from a pkcs12 file. The raw certificate and key data in pkcs12 format. The password to unlock the stream. is null. -or- is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . -or- does not contain a private key. -or- does not contain a certificate that could be used for signing. is an invalid file path. The specified file path could not be found. The user does not have access to read the specified file. An I/O error occurred. Importing keys is not supported by this cryptography context. Imports the specified certificate. Imports the specified certificate. The certificate. is null. Imports the specified certificate revocation list. Imports the specified certificate revocation list. The certificate revocation list. is null. Imports certificates (as from a certs-only application/pkcs-mime part) from the specified stream. Imports certificates (as from a certs-only application/pkcs-mime part) from the specified stream. The raw key data. is null. An error occurred in the cryptographic message syntax subsystem. An S/MIME digital certificate. An S/MIME digital certificate. Initializes a new instance of the class. Creates a new . An X.509 certificate. is null. Get the X.509 certificate. Gets the X.509 certificate. The certificate. Gets the public key algorithm supported by the certificate. Gets the public key algorithm supported by the certificate. The public key algorithm. Gets the date that the certificate was created. Gets the date that the certificate was created. The creation date. Gets the expiration date of the certificate. Gets the expiration date of the certificate. The expiration date. Gets the fingerprint of the certificate. Gets the fingerprint of the certificate. The fingerprint. Gets the email address of the owner of the certificate. Gets the email address of the owner of the certificate. The email address. Gets the name of the owner of the certificate. Gets the name of the owner of the certificate. The name of the owner. An S/MIME digital signature. An S/MIME digital signature. Initializes a new instance of the class. Creates a new . The information about the signer. The signer's certificate. is null. Gets the signer info. Gets the signer info. The signer info. Gets the list of encryption algorithms, in preferential order, that the signer's client supports. Gets the list of encryption algorithms, in preferential order, that the signer's client supports. The S/MIME encryption algorithms. Gets the certificate chain. If building the certificate chain failed, this value will be null and will be set. The certificate chain. The exception that occurred, if any, while building the certificate chain. This will only be set if building the certificate chain failed. The exception. Gets certificate used by the signer. Gets certificate used by the signer. The signer's certificate. Gets the public key algorithm used for the signature. Gets the public key algorithm used for the signature. The public key algorithm. Gets the digest algorithm used for the signature. Gets the digest algorithm used for the signature. The digest algorithm. Gets the creation date of the digital signature. Gets the creation date of the digital signature. The creation date in coordinated universal time (UTC). Verifies the digital signature. Verifies the digital signature. true if the signature is valid; otherwise false. An error verifying the signature has occurred. The type of S/MIME data that an application/pkcs7-mime part contains. The type of S/MIME data that an application/pkcs7-mime part contains. S/MIME compressed data. S/MIME enveloped data. S/MIME signed data. S/MIME certificate data. The S/MIME data type is unknown. An abstract X.509 certificate database built on generic SQL storage. An X.509 certificate database is used for storing certificates, metdata related to the certificates (such as encryption algorithms supported by the associated client), certificate revocation lists (CRLs), and private keys. This particular database uses SQLite to store the data. Initializes a new instance of the class. Creates a new using the provided database connection. The database . The password used for encrypting and decrypting the private keys. is null. -or- is null. Gets the command to create the certificates table. Constructs the command to create a certificates table suitable for storing objects. The . The . Gets the command to create the CRLs table. Constructs the command to create a CRLs table suitable for storing objects. The . The . Gets the database command to select the record matching the specified certificate. Gets the database command to select the record matching the specified certificate. The database command. The certificate. The fields to return. Get the database command to select the certificate records for the specified mailbox. Gets the database command to select the certificate records for the specified mailbox. The database command. The mailbox. The date and time for which the certificate should be valid. true The fields to return. Get the database command to select the requested certificate records. Gets the database command to select the requested certificate records. The database command. The certificate selector. true if only trusted certificates should be matched; otherwise, false. true if the certificate must have a private key; otherwise, false. The fields to return. Gets the database command to select the CRL records matching the specified issuer. Gets the database command to select the CRL records matching the specified issuer. The database command. The issuer. The fields to return. Gets the database command to select the record for the specified CRL. Gets the database command to select the record for the specified CRL. The database command. The X.509 CRL. The fields to return. Gets the database command to select all CRLs in the table. Gets the database command to select all CRLs in the table. The database command. Gets the database command to delete the specified certificate record. Gets the database command to delete the specified certificate record. The database command. The certificate record. Gets the database command to delete the specified CRL record. Gets the database command to delete the specified CRL record. The database command. The record. Gets the database command to insert the specified certificate record. Gets the database command to insert the specified certificate record. The database command. The certificate record. Gets the database command to insert the specified CRL record. Gets the database command to insert the specified CRL record. The database command. The CRL record. Gets the database command to update the specified record. Gets the database command to update the specified record. The database command. The certificate record. The fields to update. Gets the database command to update the specified CRL record. Gets the database command to update the specified CRL record. The database command. The CRL record. Releases the unmanaged resources used by the and optionally releases the managed resources. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only the unmanaged resources. An X.509 certificate database built on SQLite. An X.509 certificate database is used for storing certificates, metdata related to the certificates (such as encryption algorithms supported by the associated client), certificate revocation lists (CRLs), and private keys. This particular database uses SQLite to store the data. Initializes a new instance of the class. Creates a new and opens a connection to the SQLite database at the specified path using the Mono.Data.Sqlite binding to the native SQLite library. If Mono.Data.Sqlite is not available or if an alternative binding to the native SQLite library is preferred, then consider using instead. The file name. The password used for encrypting and decrypting the private keys. is null. -or- is null. The specified file path is empty. The user does not have access to read the specified file. An error occurred reading the file. Initializes a new instance of the class. Creates a new using the provided SQLite database connection. The SQLite connection. The password used for encrypting and decrypting the private keys. is null. -or- is null. Gets the command to create the certificates table. Constructs the command to create a certificates table suitable for storing objects. The . The . Gets the command to create the CRLs table. Constructs the command to create a CRLs table suitable for storing objects. The . The . The method to use for identifying a certificate. The method to use for identifying a certificate. The identifier type is unknown. Identify the certificate by its Issuer and Serial Number properties. Identify the certificate by the sha1 hash of its public key. An S/MIME context that does not persist certificates, private keys or CRLs. A is a special S/MIME context that does not use a persistent store for certificates, private keys, or CRLs. Instead, certificates, private keys, and CRLs are maintained in memory only. Initializes a new instance of the class. Creates a new . Check whether or not a particular mailbox address can be used for signing. Checks whether or not as particular mailbocx address can be used for signing. true if the mailbox address can be used for signing; otherwise, false. The signer. is null. Check whether or not the cryptography context can encrypt to a particular recipient. Checks whether or not the cryptography context can be used to encrypt to a particular recipient. true if the cryptography context can be used to encrypt to the designated recipient; otherwise, false. The recipient's mailbox address. is null. Gets the X.509 certificate matching the specified selector. Gets the first certificate that matches the specified selector. The certificate on success; otherwise null. The search criteria for the certificate. Gets the private key for the certificate matching the specified selector. Gets the private key for the first certificate that matches the specified selector. The private key on success; otherwise null. The search criteria for the private key. Gets the trusted anchors. A trusted anchor is a trusted root-level X.509 certificate, generally issued by a certificate authority (CA). The trusted anchors. Gets the intermediate certificates. An intermediate certificate is any certificate that exists between the root certificate issued by a Certificate Authority (CA) and the certificate at the end of the chain. The intermediate certificates. Gets the certificate revocation lists. A Certificate Revocation List (CRL) is a list of certificate serial numbers issued by a particular Certificate Authority (CA) that have been revoked, either by the CA itself or by the owner of the revoked certificate. The certificate revocation lists. Get the date & time for the next scheduled certificate revocation list update for the specified issuer. Gets the date & time for the next scheduled certificate revocation list update for the specified issuer. The date & time for the next update. The issuer. Gets the for the specified mailbox. Constructs a with the appropriate certificate and for the specified mailbox. If the mailbox is a , the property will be used instead of the mailbox address. A . The mailbox. A certificate for the specified could not be found. Gets the for the specified mailbox. Constructs a with the appropriate signing certificate for the specified mailbox. If the mailbox is a , the property will be used instead of the mailbox address for database lookups. A . The mailbox. The preferred digest algorithm. A certificate for the specified could not be found. Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate. Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate. The certificate. The encryption algorithm capabilities of the client (in preferred order). The timestamp. Imports certificates and keys from a pkcs12-encoded stream. Imports certificates and keys from a pkcs12-encoded stream. The raw certificate and key data in pkcs12 format. The password to unlock the stream. is null. -or- is null. Imports the specified certificate. Imports the specified certificate. The certificate. is null. Imports the specified certificate revocation list. Imports the specified certificate revocation list. The certificate revocation list. is null. A Secure MIME (S/MIME) cryptography context. An S/MIME cryptography context that uses for certificate storage and retrieval. Initializes a new instance of the class. Creates a new . The X.509 store location. Initializes a new instance of the class. Constructs an S/MIME context using the current user's X.509 store location. Gets the X.509 store location. Gets the X.509 store location. The store location. Check whether or not a particular mailbox address can be used for signing. Checks whether or not as particular mailbocx address can be used for signing. true if the mailbox address can be used for signing; otherwise, false. The signer. is null. Check whether or not the cryptography context can encrypt to a particular recipient. Checks whether or not the cryptography context can be used to encrypt to a particular recipient. true if the cryptography context can be used to encrypt to the designated recipient; otherwise, false. The recipient's mailbox address. is null. Get the certificate for the specified recipient. Gets the certificate for the specified recipient. If the mailbox is a , the property will be used instead of the mailbox address. The certificate to use for the recipient; otherwise, or null. The recipient's mailbox address. Get the for the specified mailbox. Constructs a with the appropriate certificate for the specified mailbox. If the mailbox is a , the property will be used instead of the mailbox address. A . The recipient's mailbox address. A certificate for the specified could not be found. Get a collection of for the specified mailboxes. Gets a collection of for the specified mailboxes. A . The recipient mailboxes. is null. A certificate for one or more of the specified could not be found. Get the certificate for the specified signer. Gets the certificate for the specified signer. If the mailbox is a , the property will be used instead of the mailbox address. The certificate to use for the signer; otherwise, or null. The signer's mailbox address. Get the for the specified mailbox. Constructs a with the appropriate signing certificate for the specified mailbox. If the mailbox is a , the property will be used instead of the mailbox address for database lookups. A . The signer's mailbox address. The preferred digest algorithm. A certificate for the specified could not be found. Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate. Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate. This method is called when decoding digital signatures that include S/MIME capabilities in the metadata, allowing custom implementations to update the X.509 certificate records with the list of preferred encryption algorithms specified by the sending client. The certificate. The encryption algorithm capabilities of the client (in preferred order). The timestamp. Cryptographically signs and encapsulates the content using the specified signer. Cryptographically signs and encapsulates the content using the specified signer. A new instance containing the detached signature data. The signer. The content. is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. Sign and encapsulate the content using the specified signer. Sign and encapsulate the content using the specified signer. A new instance containing the detached signature data. The signer. The digest algorithm to use for signing. The content. is null. -or- is null. is out of range. The specified is not supported by this context. A signing certificate could not be found for . An error occurred in the cryptographic message syntax subsystem. Cryptographically signs the content using the specified signer. Cryptographically signs the content using the specified signer. A new instance containing the detached signature data. The signer. The content. is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. Sign the content using the specified signer. Sign the content using the specified signer. A new instance containing the detached signature data. The signer. The digest algorithm to use for signing. The content. is null. -or- is null. is out of range. The specified is not supported by this context. A signing certificate could not be found for . An error occurred in the cryptographic message syntax subsystem. Attempts to map a to a . Attempts to map a to a . true if the algorithm identifier was successfully mapped; otherwise, false. The algorithm identifier. The encryption algorithm. is null. Verify the specified content using the detached signature data. Verifies the specified content using the detached signature data. A list of the digital signatures. The content. The detached signature data. The cancellation token. is null. -or- is null. The operation was cancelled via the cancellation token. An error occurred in the cryptographic message syntax subsystem. Asynchronously verify the specified content using the detached signature data. Verifies the specified content using the detached signature data. A list of the digital signatures. The content. The detached signature data. The cancellation token. is null. -or- is null. The operation was cancelled via the cancellation token. An error occurred in the cryptographic message syntax subsystem. Verify the digital signatures of the specified signed data and extract the original content. Verifies the digital signatures of the specified signed data and extracts the original content. The list of digital signatures. The signed data. The extracted MIME entity. The cancellation token. is null. The extracted content could not be parsed as a MIME entity. The operation was cancelled via the cancellation token. An error occurred in the cryptographic message syntax subsystem. Verify the digital signatures of the specified signed data and extract the original content. Verifies the digital signatures of the specified signed data and extracts the original content. The extracted content stream. The signed data. The digital signatures. The cancellation token. is null. The operation was cancelled via the cancellation token. An error occurred in the cryptographic message syntax subsystem. Gets the preferred encryption algorithm to use for encrypting to the specified recipients. Gets the preferred encryption algorithm to use for encrypting to the specified recipients based on the encryption algorithms supported by each of the recipients, the , and the . If the supported encryption algorithms are unknown for any recipient, it is assumed that the recipient supports at least the Triple-DES encryption algorithm. The preferred encryption algorithm. The recipients. Encrypts the specified content for the specified recipients. Encrypts the specified content for the specified recipients. A new instance containing the encrypted content. The recipients. The content. is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. Encrypts the specified content for the specified recipients. Encrypts the specified content for the specified recipients. A new instance containing the encrypted data. The recipients. The content. is null. -or- is null. A certificate for one or more of the could not be found. A certificate could not be found for one or more of the . An error occurred in the cryptographic message syntax subsystem. Decrypt the encrypted data. Decrypt the encrypted data. The decrypted . The encrypted data. The cancellation token. is null. An error occurred in the cryptographic message syntax subsystem. The operation was cancelled via the cancellation token. Decrypts the specified encryptedData to an output stream. Decrypts the specified encryptedData to an output stream. The encrypted data. The decrypted data. is null. -or- is null. An error occurred in the cryptographic message syntax subsystem. Import the specified certificate. Import the specified certificate. The store to import the certificate into. The certificate. is null. Import the specified certificate. Imports the specified certificate into the store. The certificate. is null. Import the specified certificate. Import the specified certificate. The store to import the certificate into. The certificate. is null. Import the specified certificate. Imports the specified certificate into the store. The certificate. is null. Import the specified certificate revocation list. Import the specified certificate revocation list. The certificate revocation list. is null. Imports certificates and keys from a pkcs12-encoded stream. Imports certificates and keys from a pkcs12-encoded stream. The raw certificate and key data. The password to unlock the stream. The storage flags to use when importing the certificate and private key. is null. -or- is null. Imports certificates and keys from a pkcs12-encoded stream. Imports certificates and keys from a pkcs12-encoded stream. The raw certificate and key data. The password to unlock the stream. is null. -or- is null. Exports the certificates for the specified mailboxes. Exports the certificates for the specified mailboxes. A new instance containing the exported keys. The mailboxes. is null. No mailboxes were specified. A certificate for one or more of the could not be found. An error occurred in the cryptographic message syntax subsystem. An S/MIME digital certificate. An S/MIME digital certificate that is used with the . Initializes a new instance of the class. Creates a new . An X.509 certificate. is null. Get the X.509 certificate. Gets the X.509 certificate. The certificate. Gets the public key algorithm supported by the certificate. Gets the public key algorithm supported by the certificate. The public key algorithm. Gets the date that the certificate was created. Gets the date that the certificate was created. The creation date. Gets the expiration date of the certificate. Gets the expiration date of the certificate. The expiration date. Gets the fingerprint of the certificate. Gets the fingerprint of the certificate. The fingerprint. Gets the email address of the owner of the certificate. Gets the email address of the owner of the certificate. The email address. Gets the name of the owner of the certificate. Gets the name of the owner of the certificate. The name of the owner. An S/MIME digital signature. An S/MIME digital signature that is used with the . Initializes a new instance of the class. Creates a new . The information about the signer. is null. Gets the signer info. Gets the signer info. The signer info. Gets the list of encryption algorithms, in preferential order, that the signer's client supports. Gets the list of encryption algorithms, in preferential order, that the signer's client supports. The S/MIME encryption algorithms. Gets certificate used by the signer. Gets certificate used by the signer. The signer's certificate. Gets the public key algorithm used for the signature. Gets the public key algorithm used for the signature. The public key algorithm. Gets the digest algorithm used for the signature. Gets the digest algorithm used for the signature. The digest algorithm. Gets the creation date of the digital signature. Gets the creation date of the digital signature. The creation date in coordinated universal time (UTC). Verifies the digital signature. Verifies the digital signature. true if the signature is valid; otherwise false. An error verifying the signature has occurred. Extension methods for X509Certificate2. Extension methods for X509Certificate2. Convert an X509Certificate2 into a BouncyCastle X509Certificate. Converts an X509Certificate2 into a BouncyCastle X509Certificate. The bouncy castle certificate. The certificate. is null. Gets the public key algorithm for the certificate. Gets the public key algorithm for the ceretificate. The public key algorithm. The certificate. is null. Get the encryption algorithms that can be used with an X.509 certificate. Scans the X.509 certificate for the S/MIME capabilities extension. If found, the supported encryption algorithms will be decoded and returned. If no extension can be found, the algorithm is returned. The encryption algorithms. The X.509 certificate. is null. An X.509 certificate chain. An X.509 certificate chain. Initializes a new instance of the class. Creates a new X.509 certificate chain. Initializes a new instance of the class. Creates a new X.509 certificate chain based on the specified collection of certificates. A collection of certificates. is null. Gets the index of the specified certificate within the chain. Finds the index of the specified certificate, if it exists. The index of the specified certificate if found; otherwise -1. The certificate to get the index of. is null. Inserts the certificate at the specified index. Inserts the certificate at the specified index in the certificates. The index to insert the certificate. The certificate. is null. is out of range. Removes the certificate at the specified index. Removes the certificate at the specified index. The index of the certificate to remove. is out of range. Gets or sets the certificate at the specified index. Gets or sets the certificate at the specified index. The internet certificate at the specified index. The index of the certificate to get or set. is null. is out of range. Gets the number of certificates in the chain. Indicates the number of certificates in the chain. The number of certificates. Gets a value indicating whether this instance is read only. A is never read-only. true if this instance is read only; otherwise, false. Adds the specified certificate to the chain. Adds the specified certificate to the chain. The certificate. is null. Adds the specified range of certificates to the chain. Adds the specified range of certificates to the chain. The certificates. is null. Clears the certificate chain. Removes all of the certificates from the chain. Checks if the chain contains the specified certificate. Determines whether or not the certificate chain contains the specified certificate. true if the specified certificate exists; otherwise false. The certificate. is null. Copies all of the certificates in the chain to the specified array. Copies all of the certificates within the chain into the array, starting at the specified array index. The array to copy the certificates to. The index into the array. is null. is out of range. Removes the specified certificate from the chain. Removes the specified certificate from the chain. true if the certificate was removed; otherwise false. The certificate. is null. Removes the specified range of certificates from the chain. Removes the specified range of certificates from the chain. The certificates. is null. Gets an enumerator for the list of certificates. Gets an enumerator for the list of certificates. The enumerator. Gets an enumerator for the list of certificates. Gets an enumerator for the list of certificates. The enumerator. Gets an enumerator of matching X.509 certificates based on the specified selector. Gets an enumerator of matching X.509 certificates based on the specified selector. The matching certificates. The match criteria. Gets a collection of matching X.509 certificates based on the specified selector. Gets a collection of matching X.509 certificates based on the specified selector. The matching certificates. The match criteria. An X.509 certificate database. An X.509 certificate database is used for storing certificates, metadata related to the certificates (such as encryption algorithms supported by the associated client), certificate revocation lists (CRLs), and private keys. Initializes a new instance of the class. The password is used to encrypt and decrypt private keys in the database and cannot be null. The password used for encrypting and decrypting the private keys. is null. Releases unmanaged resources and performs other cleanup operations before the is reclaimed by garbage collection. Releases unmanaged resources and performs other cleanup operations before the is reclaimed by garbage collection. Gets or sets the algorithm used for encrypting the private keys. The encryption algorithm should be one of the PBE (password-based encryption) algorithms supported by Bouncy Castle. The default algorithm is SHA-256 + AES256. The encryption algorithm. Gets or sets the minimum iterations. The default minimum number of iterations is 1024. The minimum iterations. Gets or sets the size of the salt. The default salt size is 20. The size of the salt. Gets the column names for the specified fields. Gets the column names for the specified fields. The column names. The fields. Gets the database command to select the record matching the specified certificate. Gets the database command to select the record matching the specified certificate. The database command. The certificate. The fields to return. Gets the database command to select the certificate records for the specified mailbox. Gets the database command to select the certificate records for the specified mailbox. The database command. The mailbox. The date and time for which the certificate should be valid. true if the certificate must have a private key; otherwise, false. The fields to return. Gets the database command to select certificate records matching the specified selector. Gets the database command to select certificate records matching the specified selector. The database command. The certificate selector. true if only trusted certificates should be matched; otherwise, false. true if the certificate must have a private key; otherwise, false. The fields to return. Gets the column names for the specified fields. Gets the column names for the specified fields. The column names. The fields. Gets the database command to select the CRL records matching the specified issuer. Gets the database command to select the CRL records matching the specified issuer. The database command. The issuer. The fields to return. Gets the database command to select the record for the specified CRL. Gets the database command to select the record for the specified CRL. The database command. The X.509 CRL. The fields to return. Gets the database command to select all CRLs in the table. Gets the database command to select all CRLs in the table. The database command. Gets the database command to delete the specified certificate record. Gets the database command to delete the specified certificate record. The database command. The certificate record. Gets the database command to delete the specified CRL record. Gets the database command to delete the specified CRL record. The database command. The record. Gets the value for the specified column. Gets the value for the specified column. The value. The certificate record. The column name. is not a known column name. Gets the value for the specified column. Gets the value for the specified column. The value. The CRL record. The column name. is not a known column name. Gets the database command to insert the specified certificate record. Gets the database command to insert the specified certificate record. The database command. The certificate record. Gets the database command to insert the specified CRL record. Gets the database command to insert the specified CRL record. The database command. The CRL record. Gets the database command to update the specified record. Gets the database command to update the specified record. The database command. The certificate record. The fields to update. Gets the database command to update the specified CRL record. Gets the database command to update the specified CRL record. The database command. The CRL record. Find the specified certificate. Searches the database for the specified certificate, returning the matching record with the desired fields populated. The matching record if found; otherwise null. The certificate. The desired fields. is null. Finds the certificates matching the specified selector. Searches the database for certificates matching the selector, returning all matching certificates. The matching certificates. The match selector or null to return all certificates. Finds the private keys matching the specified selector. Searches the database for certificate records matching the selector, returning the private keys for each matching record. The matching certificates. The match selector or null to return all private keys. Finds the certificate records for the specified mailbox. Searches the database for certificates matching the specified mailbox that are valid for the date and time specified, returning all matching records populated with the desired fields. The matching certificate records populated with the desired fields. The mailbox. The date and time. true if a private key is required. The desired fields. is null. Finds the certificate records matching the specified selector. Searches the database for certificate records matching the selector, returning all of the matching records populated with the desired fields. The matching certificate records populated with the desired fields. The match selector or null to match all certificates. true if only trusted certificates should be returned. The desired fields. Add the specified certificate record. Adds the specified certificate record to the database. The certificate record. is null. Remove the specified certificate record. Removes the specified certificate record from the database. The certificate record. is null. Update the specified certificate record. Updates the specified fields of the record in the database. The certificate record. The fields to update. is null. Finds the CRL records for the specified issuer. Searches the database for CRL records matching the specified issuer, returning all matching records populated with the desired fields. The matching CRL records populated with the desired fields. The issuer. The desired fields. is null. Finds the specified certificate revocation list. Searches the database for the specified CRL, returning the matching record with the desired fields populated. The matching record if found; otherwise null. The certificate revocation list. The desired fields. is null. Add the specified CRL record. Adds the specified CRL record to the database. The CRL record. is null. Remove the specified CRL record. Removes the specified CRL record from the database. The CRL record. is null. Update the specified CRL record. Updates the specified fields of the record in the database. The CRL record. is null. Gets a certificate revocation list store. Gets a certificate revocation list store. A certificate revocation list store. Gets a collection of matching certificates matching the specified selector. Gets a collection of matching certificates matching the specified selector. The matching certificates. The match criteria. Releases the unmanaged resources used by the and optionally releases the managed resources. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only the unmanaged resources. Releases all resource used by the object. Call when you are finished using the . The method leaves the in an unusable state. After calling , you must release all references to the so the garbage collector can reclaim the memory that the was occupying. X.509 certificate record fields. The record fields are used when querying the for certificates. The "id" field is typically just the ROWID in the database. The "trusted" field is a boolean value indicating whether the certificate is trusted. The "algorithms" field is used for storing the last known list of values that are supported by the client associated with the certificate. The "algorithms updated" field is used to store the timestamp of the most recent update to the Algorithms field. The "certificate" field is sued for storing the binary data of the actual certificate. The "private key" field is used to store the encrypted binary data of the private key associated with the certificate, if available. An X.509 certificate record. Represents an X.509 certificate record loaded from a database. Gets the identifier. The id is typically the ROWID of the certificate in the database and is not generally useful outside of the internals of the database implementation. The identifier. Gets the basic constraints of the certificate. Gets the basic constraints of the certificate. The basic constraints of the certificate. Gets or sets a value indicating whether the certificate is trusted. Indiciates whether or not the certificate is trusted. true if the certificate is trusted; otherwise, false. Gets the key usage flags for the certificate. Gets the key usage flags for the certificate. The X.509 key usage. Gets the starting date and time where the certificate is valid. Gets the starting date and time where the certificate is valid. The date and time in coordinated universal time (UTC). Gets the end date and time where the certificate is valid. Gets the end date and time where the certificate is valid. The date and time in coordinated universal time (UTC). Gets the certificate issuer's name. Gets the certificate issuer's name. The issuer's name. Gets the serial number of the certificate. Gets the serial number of the certificate. The serial number. Gets the subject email address. Gets the subject email address. The subject email address. Gets the fingerprint of the certificate. Gets the fingerprint of the certificate. The fingerprint. Gets or sets the encryption algorithm capabilities. Gets or sets the encryption algorithm capabilities. The encryption algorithms. Gets or sets the date when the algorithms were last updated. Gets or sets the date when the algorithms were last updated. The date the algorithms were updated. Gets the certificate. Gets the certificate. The certificate. Gets the private key. Gets the private key. The private key. Initializes a new instance of the class. Creates a new certificate record with a private key for storing in a . The certificate. The private key. is null. -or- is null. is not a private key. Initializes a new instance of the class. Creates a new certificate record for storing in a . The certificate. is null. Initializes a new instance of the class. This constructor is only meant to be used by implementors of when loading records from the database. A store for X.509 certificates and keys. A store for X.509 certificates and keys. Initializes a new instance of the class. Creates a new . Enumerates the certificates currently in the store. Enumerates the certificates currently in the store. The certificates. Gets the private key for the specified certificate. Gets the private key for the specified certificate, if it exists. The private key on success; otherwise null. The certificate. Adds the specified certificate to the store. Adds the specified certificate to the store. The certificate. is null. Adds the specified range of certificates to the store. Adds the specified range of certificates to the store. The certificates. is null. Removes the specified certificate from the store. Removes the specified certificate from the store. The certificate. is null. Removes the specified range of certificates from the store. Removes the specified range of certificates from the store. The certificates. is null. Imports the certificate(s) from the specified stream. Imports the certificate(s) from the specified stream. The stream to import. is null. An error occurred reading the stream. Imports the certificate(s) from the specified file. Imports the certificate(s) from the specified file. The name of the file to import. is null. The specified file could not be found. An error occurred reading the file. Imports the certificate(s) from the specified byte array. Imports the certificate(s) from the specified byte array. The raw certificate data. is null. Imports certificates and private keys from the specified stream. Imports certificates and private keys from the specified pkcs12 stream. The stream to import. The password to unlock the stream. is null. -or- is null. An error occurred reading the stream. Imports certificates and private keys from the specified file. Imports certificates and private keys from the specified pkcs12 stream. The name of the file to import. The password to unlock the file. is null. -or- is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . The specified file could not be found. The user does not have access to read the specified file. An error occurred reading the file. Imports certificates and private keys from the specified byte array. Imports certificates and private keys from the specified pkcs12 stream. The raw certificate data. The password to unlock the raw data. is null. -or- is null. Exports the certificates to an unencrypted stream. Exports the certificates to an unencrypted stream. The output stream. is null. An error occurred while writing to the stream. Exports the certificates to an unencrypted file. Exports the certificates to an unencrypted file. The file path to write to. is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . The specified path exceeds the maximum allowed path length of the system. A directory in the specified path does not exist. The user does not have access to create the specified file. An error occurred while writing to the stream. Exports the specified stream and password to a pkcs12 encrypted file. Exports the specified stream and password to a pkcs12 encrypted file. The output stream. The password to use to lock the private keys. is null. -or- is null. An error occurred while writing to the stream. Exports the specified stream and password to a pkcs12 encrypted file. Exports the specified stream and password to a pkcs12 encrypted file. The file path to write to. The password to use to lock the private keys. is null. -or- is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . The specified path exceeds the maximum allowed path length of the system. A directory in the specified path does not exist. The user does not have access to create the specified file. An error occurred while writing to the stream. Gets an enumerator of matching X.509 certificates based on the specified selector. Gets an enumerator of matching X.509 certificates based on the specified selector. The matching certificates. The match criteria. Gets a collection of matching X.509 certificates based on the specified selector. Gets a collection of matching X.509 certificates based on the specified selector. The matching certificates. The match criteria. X.509 certificate revocation list record fields. The record fields are used when querying the for certificate revocation lists. The "id" field is typically just the ROWID in the database. The "delta" field is a boolean value indicating whether the certificate revocation list is a delta. The "issuer name" field stores the issuer name of the certificate revocation list. The "this update" field stores the date and time of the most recent update. The "next update" field stores the date and time of the next scheduled update. The "crl" field stores the raw binary data of the certificate revocation list. An X.509 certificate revocation list (CRL) record. Represents an X.509 certificate revocation list record loaded from a database. Gets the identifier. The id is typically the ROWID of the certificate revocation list in the database and is not generally useful outside of the internals of the database implementation. The identifier. Gets whether or not this certificate revocation list is a delta. Indicates whether or not this certificate revocation list is a delta. true if th crl is delta; otherwise, false. Gets the issuer name of the certificate revocation list. Gets the issuer name of the certificate revocation list. The issuer's name. Gets the date and time of the most recent update. Gets the date and time of the most recent update. The date and time. Gets the date and time when the next CRL update will be published. Gets the date and time when the next CRL update will be published. The date and time. Gets the certificate revocation list. Gets the certificate revocation list. The certificate revocation list. Initializes a new instance of the class. Creates a new CRL record for storing in a . The certificate revocation list. is null. Initializes a new instance of the class. This constructor is only meant to be used by implementors of when loading records from the database. X.509 key usage flags. The X.509 Key Usage Flags can be used to determine what operations a certificate can be used for. A value of indicates that there are no restrictions on the use of the . No limitations for the key usage are set. The key may be used for anything. The key may only be used for enciphering data during key agreement. When both the bit and the bit are both set, the key may be used only for enciphering data while performing key agreement. The key may be used for verifying signatures on certificate revocation lists (CRLs). The key may be used for verifying signatures on certificates. The key is meant to be used for key agreement. The key may be used for data encipherment. The key is meant to be used for key encipherment. The key may be used to verify digital signatures used to provide a non-repudiation service. The key may be used for digitally signing data. The key may only be used for deciphering data during key agreement. When both the bit and the bit are both set, the key may be used only for deciphering data while performing key agreement. Incrementally decodes content encoded with the base64 encoding. Base64 is an encoding often used in MIME to encode binary content such as images and other types of multi-media to ensure that the data remains intact when sent via 7bit transports such as SMTP. Initializes a new instance of the class. Creates a new base64 decoder. Clone the with its current state. Creates a new with exactly the same state as the current decoder. A new with identical state. Gets the encoding. Gets the encoding that the decoder supports. The encoding. Estimates the length of the output. Estimates the number of bytes needed to decode the specified number of input bytes. The estimated output length. The input length. Decodes the specified input into the output buffer. Decodes the specified input into the output buffer. The output buffer should be large enough to hold all of the decoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. A pointer to the beginning of the input buffer. The length of the input buffer. A pointer to the beginning of the output buffer. Decodes the specified input into the output buffer. Decodes the specified input into the output buffer. The output buffer should be large enough to hold all of the decoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Resets the decoder. Resets the state of the decoder. Incrementally encodes content using the base64 encoding. Base64 is an encoding often used in MIME to encode binary content such as images and other types of multi-media to ensure that the data remains intact when sent via 7bit transports such as SMTP. Initializes a new instance of the class. Creates a new base64 encoder. true if this encoder will be used to encode rfc2047 encoded-word payloads; false otherwise. The maximum number of octets allowed per line (not counting the CRLF). Must be between 60 and 998 (inclusive). is not between 60 and 998 (inclusive). Initializes a new instance of the class. Creates a new base64 encoder. The maximum number of octets allowed per line (not counting the CRLF). Must be between 60 and 998 (inclusive). is not between 60 and 998 (inclusive). Clone the with its current state. Creates a new with exactly the same state as the current encoder. A new with identical state. Gets the encoding. Gets the encoding that the encoder supports. The encoding. Estimates the length of the output. Estimates the number of bytes needed to encode the specified number of input bytes. The estimated output length. The input length. Encodes the specified input into the output buffer. Encodes the specified input into the output buffer. The output buffer should be large enough to hold all of the encoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Encodes the specified input into the output buffer, flushing any internal buffer state as well. Encodes the specified input into the output buffer, flusing any internal state as well. The output buffer should be large enough to hold all of the encoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Resets the encoder. Resets the state of the encoder. Incrementally decodes content encoded with a Uri hex encoding. This is mostly meant for decoding parameter values encoded using the rules specified by rfc2184 and rfc2231. Initializes a new instance of the class. Creates a new hex decoder. Clone the with its current state. Creates a new with exactly the same state as the current decoder. A new with identical state. Gets the encoding. Gets the encoding that the decoder supports. The encoding. Estimates the length of the output. Estimates the number of bytes needed to decode the specified number of input bytes. The estimated output length. The input length. Decodes the specified input into the output buffer. Decodes the specified input into the output buffer. The output buffer should be large enough to hold all of the decoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. A pointer to the beginning of the input buffer. The length of the input buffer. A pointer to the beginning of the output buffer. Decodes the specified input into the output buffer. Decodes the specified input into the output buffer. The output buffer should be large enough to hold all of the decoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Resets the decoder. Resets the state of the decoder. Incrementally encodes content using a Uri hex encoding. This is mostly meant for decoding parameter values encoded using the rules specified by rfc2184 and rfc2231. Initializes a new instance of the class. Creates a new hex encoder. Clone the with its current state. Creates a new with exactly the same state as the current encoder. A new with identical state. Gets the encoding. Gets the encoding that the encoder supports. The encoding. Estimates the length of the output. Estimates the number of bytes needed to encode the specified number of input bytes. The estimated output length. The input length. Encodes the specified input into the output buffer. Encodes the specified input into the output buffer. The output buffer should be large enough to hold all of the encoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Encodes the specified input into the output buffer, flushing any internal buffer state as well. Encodes the specified input into the output buffer, flusing any internal state as well. The output buffer should be large enough to hold all of the encoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Resets the encoder. Resets the state of the encoder. An interface for incrementally decoding content. An interface for incrementally decoding content. Gets the encoding. Gets the encoding that the decoder supports. The encoding. Clone the with its current state. Creates a new with exactly the same state as the current decoder. A new with identical state. Estimates the length of the output. Estimates the number of bytes needed to decode the specified number of input bytes. The estimated output length. The input length. Decodes the specified input into the output buffer. Decodes the specified input into the output buffer. The output buffer should be large enough to hold all of the decoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. A pointer to the beginning of the input buffer. The length of the input buffer. A pointer to the beginning of the output buffer. Decodes the specified input into the output buffer. Decodes the specified input into the output buffer. The output buffer should be large enough to hold all of the decoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Resets the decoder. Resets the state of the decoder. An interface for incrementally encoding content. An interface for incrementally encoding content. Gets the encoding. Gets the encoding that the encoder supports. The encoding. Clone the with its current state. Creates a new with exactly the same state as the current encoder. A new with identical state. Estimates the length of the output. Estimates the number of bytes needed to encode the specified number of input bytes. The estimated output length. The input length. Encodes the specified input into the output buffer. Encodes the specified input into the output buffer. The output buffer should be large enough to hold all of the encoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Encodes the specified input into the output buffer, flushing any internal buffer state as well. Encodes the specified input into the output buffer, flusing any internal state as well. The output buffer should be large enough to hold all of the encoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Resets the encoder. Resets the state of the encoder. A pass-through decoder implementing the interface. Simply copies data as-is from the input buffer into the output buffer. Initializes a new instance of the class. The encoding to return in the property. Creates a new pass-through decoder. Clone the with its current state. Creates a new with exactly the same state as the current decoder. A new with identical state. Gets the encoding. Gets the encoding that the decoder supports. The encoding. Estimates the length of the output. Estimates the number of bytes needed to decode the specified number of input bytes. The estimated output length. The input length. Decodes the specified input into the output buffer. Copies the input buffer into the output buffer, verbatim. The number of bytes written to the output buffer. A pointer to the beginning of the input buffer. The length of the input buffer. A pointer to the beginning of the output buffer. Decodes the specified input into the output buffer. Copies the input buffer into the output buffer, verbatim. The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Resets the decoder. Resets the state of the decoder. A pass-through encoder implementing the interface. Simply copies data as-is from the input buffer into the output buffer. Initializes a new instance of the class. The encoding to return in the property. Creates a new pass-through encoder. Clone the with its current state. Creates a new with exactly the same state as the current encoder. A new with identical state. Gets the encoding. Gets the encoding that the encoder supports. The encoding. Estimates the length of the output. Estimates the number of bytes needed to encode the specified number of input bytes. The estimated output length. The input length. Encodes the specified input into the output buffer. Copies the input buffer into the output buffer, verbatim. The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Encodes the specified input into the output buffer, flushing any internal buffer state as well. Copies the input buffer into the output buffer, verbatim. The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Resets the encoder. Resets the state of the encoder. Q-Encoding mode. The encoding mode for the 'Q' encoding used in rfc2047. A mode for encoding phrases, as defined by rfc822. A mode for encoding text. Incrementally encodes content using a variation of the quoted-printable encoding that is specifically meant to be used for rfc2047 encoded-word tokens. The Q-Encoding is an encoding often used in MIME to encode textual content outside of the ASCII range within an rfc2047 encoded-word token in order to ensure that the text remains intact when sent via 7bit transports such as SMTP. Initializes a new instance of the class. Creates a new rfc2047 quoted-printable encoder. The rfc2047 encoding mode. Clone the with its current state. Creates a new with exactly the same state as the current encoder. A new with identical state. Gets the encoding. Gets the encoding that the encoder supports. The encoding. Estimates the length of the output. Estimates the number of bytes needed to encode the specified number of input bytes. The estimated output length. The input length. Encodes the specified input into the output buffer. Encodes the specified input into the output buffer. The output buffer should be large enough to hold all of the encoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Encodes the specified input into the output buffer, flushing any internal buffer state as well. Encodes the specified input into the output buffer, flusing any internal state as well. The output buffer should be large enough to hold all of the encoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Resets the encoder. Resets the state of the encoder. Incrementally decodes content encoded with the quoted-printable encoding. Quoted-Printable is an encoding often used in MIME to textual content outside of the ASCII range in order to ensure that the text remains intact when sent via 7bit transports such as SMTP. Initializes a new instance of the class. Creates a new quoted-printable decoder. true if this decoder will be used to decode rfc2047 encoded-word payloads; false otherwise. Initializes a new instance of the class. Creates a new quoted-printable decoder. Clone the with its current state. Creates a new with exactly the same state as the current decoder. A new with identical state. Gets the encoding. Gets the encoding that the decoder supports. The encoding. Estimates the length of the output. Estimates the number of bytes needed to decode the specified number of input bytes. The estimated output length. The input length. Decodes the specified input into the output buffer. Decodes the specified input into the output buffer. The output buffer should be large enough to hold all of the decoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. A pointer to the beginning of the input buffer. The length of the input buffer. A pointer to the beginning of the output buffer. Decodes the specified input into the output buffer. Decodes the specified input into the output buffer. The output buffer should be large enough to hold all of the decoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Resets the decoder. Resets the state of the decoder. Incrementally encodes content using the quoted-printable encoding. Quoted-Printable is an encoding often used in MIME to encode textual content outside of the ASCII range in order to ensure that the text remains intact when sent via 7bit transports such as SMTP. Initializes a new instance of the class. Creates a new quoted-printable encoder. Clone the with its current state. Creates a new with exactly the same state as the current encoder. A new with identical state. Gets the encoding. Gets the encoding that the encoder supports. The encoding. Estimates the length of the output. Estimates the number of bytes needed to encode the specified number of input bytes. The estimated output length. The input length. Encodes the specified input into the output buffer. Encodes the specified input into the output buffer. The output buffer should be large enough to hold all of the encoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Encodes the specified input into the output buffer, flushing any internal buffer state as well. Encodes the specified input into the output buffer, flusing any internal state as well. The output buffer should be large enough to hold all of the encoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Resets the encoder. Resets the state of the encoder. Incrementally decodes content encoded with the Unix-to-Unix encoding. The UUEncoding is an encoding that predates MIME and was used to encode binary content such as images and other types of multi-media to ensure that the data remained intact when sent via 7bit transports such as SMTP. These days, the UUEncoding has largely been deprecated in favour of the base64 encoding, however, some older mail clients still use it. Initializes a new instance of the class. Creates a new Unix-to-Unix decoder. If true, decoding begins immediately rather than after finding a begin-line. Initializes a new instance of the class. Creates a new Unix-to-Unix decoder. Clone the with its current state. Creates a new with exactly the same state as the current decoder. A new with identical state. Gets the encoding. Gets the encoding that the decoder supports. The encoding. Estimates the length of the output. Estimates the number of bytes needed to decode the specified number of input bytes. The estimated output length. The input length. Decodes the specified input into the output buffer. Decodes the specified input into the output buffer. The output buffer should be large enough to hold all of the decoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. A pointer to the beginning of the input buffer. The length of the input buffer. A pointer to the beginning of the output buffer. Decodes the specified input into the output buffer. Decodes the specified input into the output buffer. The output buffer should be large enough to hold all of the decoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Resets the decoder. Resets the state of the decoder. Incrementally encodes content using the Unix-to-Unix encoding. The UUEncoding is an encoding that predates MIME and was used to encode binary content such as images and other types of multi-media to ensure that the data remained intact when sent via 7bit transports such as SMTP. These days, the UUEncoding has largely been deprecated in favour of the base64 encoding, however, some older mail clients still use it. Initializes a new instance of the class. Creates a new Unix-to-Unix encoder. Clone the with its current state. Creates a new with exactly the same state as the current encoder. A new with identical state. Gets the encoding. Gets the encoding that the encoder supports. The encoding. Estimates the length of the output. Estimates the number of bytes needed to encode the specified number of input bytes. The estimated output length. The input length. Encodes the specified input into the output buffer. Encodes the specified input into the output buffer. The output buffer should be large enough to hold all of the encoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Encodes the specified input into the output buffer, flushing any internal buffer state as well. Encodes the specified input into the output buffer, flusing any internal state as well. The output buffer should be large enough to hold all of the encoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Resets the encoder. Resets the state of the encoder. Incrementally decodes content encoded with the yEnc encoding. The yEncoding is an encoding that is most commonly used with Usenet and is a binary encoding that includes a 32-bit cyclic redundancy check. For more information, see www.yenc.org. Initializes a new instance of the class. Creates a new yEnc decoder. If true, decoding begins immediately rather than after finding an =ybegin line. Initializes a new instance of the class. Creates a new yEnc decoder. Gets the checksum. Gets the checksum. The checksum. Clone the with its current state. Creates a new with exactly the same state as the current decoder. A new with identical state. Gets the encoding. Gets the encoding that the decoder supports. The encoding. Estimates the length of the output. Estimates the number of bytes needed to decode the specified number of input bytes. The estimated output length. The input length. Decodes the specified input into the output buffer. Decodes the specified input into the output buffer. The output buffer should be large enough to hold all of the decoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. A pointer to the beginning of the input buffer. The length of the input buffer. A pointer to the beginning of the output buffer. Decodes the specified input into the output buffer. Decodes the specified input into the output buffer. The output buffer should be large enough to hold all of the decoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Resets the decoder. Resets the state of the decoder. Incrementally encodes content using the yEnc encoding. The yEncoding is an encoding that is most commonly used with Usenet and is a binary encoding that includes a 32-bit cyclic redundancy check. For more information, see www.yenc.org. Initializes a new instance of the class. Creates a new yEnc encoder. The line length to use. is not within the range of 60 to 998. Gets the checksum. Gets the checksum. The checksum. Clone the with its current state. Creates a new with exactly the same state as the current encoder. A new with identical state. Gets the encoding. Gets the encoding that the encoder supports. The encoding. Estimates the length of the output. Estimates the number of bytes needed to encode the specified number of input bytes. The estimated output length. The input length. Encodes the specified input into the output buffer. Encodes the specified input into the output buffer. The output buffer should be large enough to hold all of the encoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Encodes the specified input into the output buffer, flushing any internal buffer state as well. Encodes the specified input into the output buffer, flusing any internal state as well. The output buffer should be large enough to hold all of the encoded input. For estimating the size needed for the output buffer, see . The number of bytes written to the output buffer. The input buffer. The starting index of the input buffer. The length of the input buffer. The output buffer. is null. -or- is null. and do not specify a valid range in the byte array. is not large enough to contain the encoded content. Use the method to properly determine the necessary length of the byte array. Resets the encoder. Resets the state of the encoder. A bounded stream, confined to reading and writing data to a limited subset of the overall source stream. Wraps an arbitrary stream, limiting I/O operations to a subset of the source stream. If the is -1, then the end of the stream is unbound. When a is set to parse a persistent stream, it will construct s using bounded streams instead of loading the content into memory. Initializes a new instance of the class. If the is less than 0, then the end of the stream is unbounded. The underlying stream. The offset in the base stream that will mark the start of this substream. The offset in the base stream that will mark the end of this substream. true to leave the baseStream open after the is disposed; otherwise, false. is null. is less than zero. -or- is greater than or equal to zero -and- is less than . Gets the underlying stream. All I/O is performed on the base stream. The underlying stream. Gets the start boundary offset of the underlying stream. The start boundary is the byte offset into the that marks the beginning of the substream. The start boundary offset of the underlying stream. Gets the end boundary offset of the underlying stream. The end boundary is the byte offset into the that marks the end of the substream. If the value is less than 0, then the end of the stream is treated as unbound. The end boundary offset of the underlying stream. Checks whether or not the underlying stream will remain open after the is disposed. Checks whether or not the underlying stream will remain open after the is disposed. true if the underlying stream should remain open after the is disposed; otherwise, false. Checks whether or not the stream supports reading. The will only support reading if the supports it. true if the stream supports reading; otherwise, false. Checks whether or not the stream supports writing. The will only support writing if the supports it. true if the stream supports writing; otherwise, false. Checks whether or not the stream supports seeking. The will only support seeking if the supports it. true if the stream supports seeking; otherwise, false. Checks whether or not I/O operations can timeout. The will only support timing out if the supports it. true if I/O operations can timeout; otherwise, false. Gets the length of the stream, in bytes. If the property is greater than or equal to 0, then the length will be calculated by subtracting the from the . If the end of the stream is unbound, then the will be subtracted from the length of the . The length of the stream in bytes. The stream does not support seeking. The stream has been disposed. Gets or sets the current position within the stream. The is relative to the . The position of the stream. An I/O error occurred. The stream does not support seeking. The stream has been disposed. Gets or sets a value, in miliseconds, that determines how long the stream will attempt to read before timing out. Gets or sets the 's read timeout. A value, in miliseconds, that determines how long the stream will attempt to read before timing out. Gets or sets a value, in miliseconds, that determines how long the stream will attempt to write before timing out. Gets or sets the 's write timeout. A value, in miliseconds, that determines how long the stream will attempt to write before timing out. Reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. Reads data from the , not allowing it to read beyond the . The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. The buffer to read data into. The offset into the buffer to start reading data. The number of bytes to read. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support reading. An I/O error occurred. Asynchronously reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. Reads data from the , not allowing it to read beyond the . The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. The buffer to read data into. The offset into the buffer to start reading data. The number of bytes to read. The cancellation token. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support reading. The operation was canceled via the cancellation token. An I/O error occurred. Writes a sequence of bytes to the stream and advances the current position within this stream by the number of bytes written. Writes data to the , not allowing it to write beyond the . The buffer to write. The offset of the first byte to write. The number of bytes to write. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support writing. An I/O error occurred. Asynchronously writes a sequence of bytes to the stream and advances the current position within this stream by the number of bytes written. Writes data to the , not allowing it to write beyond the . A task that represents the asynchronous write operation. The buffer to write. The offset of the first byte to write. The number of bytes to write. The cancellation token. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support writing. The operation was canceled via the cancellation token. An I/O error occurred. Sets the position within the current stream. Seeks within the confines of the and the . The new position within the stream. The offset into the stream relative to the . The origin to seek from. is not a valid . The stream has been disposed. The stream does not support seeking. An I/O error occurred. Clears all buffers for this stream and causes any buffered data to be written to the underlying device. Flushes the . The stream has been disposed. The stream does not support writing. An I/O error occurred. Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device. Flushes the . A task that represents the asynchronous flush operation. The cancellation token. The stream has been disposed. The stream does not support writing. The operation was canceled via the cancellation token. An I/O error occurred. Sets the length of the stream. Updates the to be plus the specified new length. If the needs to be grown to allow this, then the length of the will also be updated. The desired length of the stream in bytes. The stream has been disposed. The stream does not support setting the length. An I/O error occurred. Releases the unmanaged resources used by the and optionally releases the managed resources. If the property is false, then the is also disposed. true to release both managed and unmanaged resources; false to release only the unmanaged resources. A chained stream. Chains multiple streams together such that reading or writing beyond the end of one stream spills over into the next stream in the chain. The idea is to make it appear is if the chain of streams is all one continuous stream. Initializes a new instance of the class. Creates a new . Add the specified stream to the chained stream. Adds the stream to the end of the chain. The stream. true if the should remain open after the is disposed; otherwise, false. is null. Checks whether or not the stream supports reading. The only supports reading if all of its streams support it. true if the stream supports reading; otherwise, false. Checks whether or not the stream supports writing. The only supports writing if all of its streams support it. true if the stream supports writing; otherwise, false. Checks whether or not the stream supports seeking. The only supports seeking if all of its streams support it. true if the stream supports seeking; otherwise, false. Checks whether or not I/O operations can timeout. The only supports timeouts if all of its streams support them. true if I/O operations can timeout; otherwise, false. Gets the length of the stream, in bytes. The length of a is the combined lenths of all of its chained streams. The length of the stream in bytes. The stream does not support seeking. The stream has been disposed. Gets or sets the current position within the stream. It is always possible to get the position of a , but setting the position is only possible if all of its streams are seekable. The position of the stream. An I/O error occurred. The stream does not support seeking. The stream has been disposed. Reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. Reads up to the requested number of bytes if reading is supported. If the current child stream does not have enough remaining data to complete the read, the read will progress into the next stream in the chain in order to complete the read. The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. The buffer to read data into. The offset into the buffer to start reading data. The number of bytes to read. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support reading. An I/O error occurred. Asynchronously reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. Reads up to the requested number of bytes if reading is supported. If the current child stream does not have enough remaining data to complete the read, the read will progress into the next stream in the chain in order to complete the read. The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. The buffer to read data into. The offset into the buffer to start reading data. The number of bytes to read. The cancellation token. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support reading. The operation was canceled via the cancellation token. An I/O error occurred. Writes a sequence of bytes to the stream and advances the current position within this stream by the number of bytes written. Writes the requested number of bytes if writing is supported. If the current child stream does not have enough remaining space to fit the complete buffer, the data will spill over into the next stream in the chain in order to complete the write. The buffer to write. The offset of the first byte to write. The number of bytes to write. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support writing. An I/O error occurred. Asynchronously writes a sequence of bytes to the stream and advances the current position within this stream by the number of bytes written. Writes the requested number of bytes if writing is supported. If the current child stream does not have enough remaining space to fit the complete buffer, the data will spill over into the next stream in the chain in order to complete the write. A task that represents the asynchronous write operation. The buffer to write. The offset of the first byte to write. The number of bytes to write. The cancellation token. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support writing. An I/O error occurred. Sets the position within the current stream. Seeks to the specified position within the stream if all child streams support seeking. The new position within the stream. The offset into the stream relative to the . The origin to seek from. is not a valid . The stream has been disposed. The stream does not support seeking. An I/O error occurred. Clears all buffers for this stream and causes any buffered data to be written to the underlying device. If all of the child streams support writing, then the current child stream will be flushed. The stream has been disposed. The stream does not support writing. An I/O error occurred. Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device. If all of the child streams support writing, then the current child stream will be flushed. A task that represents the asynchronous flush operation. The cancellation token. The stream has been disposed. The stream does not support writing. The operation was canceled via the cancellation token. An I/O error occurred. Sets the length of the stream. Setting the length of a is not supported. The desired length of the stream in bytes. The stream has been disposed. The stream does not support setting the length. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only the unmanaged resources. A stream which filters data as it is read or written. Passes data through each as the data is read or written. Initializes a new instance of the class. Creates a filtered stream using the specified source stream. The underlying stream to filter. is null. Gets the underlying source stream. In general, it is not a good idea to manipulate the underlying source stream because most s store important state about previous bytes read from or written to the source stream. The underlying source stream. Adds the specified filter. Adds the to the end of the list of filters that data will pass through as data is read from or written to the underlying source stream. The filter. is null. Checks if the filtered stream contains the specified filter. Determines whether or not the filtered stream contains the specified filter. true if the specified filter exists; otherwise false. The filter. is null. Remove the specified filter. Removes the specified filter from the list if it exists. true if the filter was removed; otherwise false. The filter. is null. Checks whether or not the stream supports reading. The will only support reading if the supports it. true if the stream supports reading; otherwise, false. Checks whether or not the stream supports writing. The will only support writing if the supports it. true if the stream supports writing; otherwise, false. Checks whether or not the stream supports seeking. Seeking is not supported by the . true if the stream supports seeking; otherwise, false. Checks whether or not I/O operations can timeout. The will only support timing out if the supports it. true if I/O operations can timeout; otherwise, false. Gets the length of the stream, in bytes. Getting the length of a is not supported. The length of the stream in bytes. The stream does not support seeking. Gets or sets the current position within the stream. Getting and setting the position of a is not supported. The position of the stream. The stream does not support seeking. Gets or sets a value, in miliseconds, that determines how long the stream will attempt to read before timing out. Gets or sets the read timeout on the stream. A value, in miliseconds, that determines how long the stream will attempt to read before timing out. Gets or sets a value, in miliseconds, that determines how long the stream will attempt to write before timing out. Gets or sets the write timeout on the stream. A value, in miliseconds, that determines how long the stream will attempt to write before timing out. Reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. Reads up to the requested number of bytes, passing the data read from the stream through each of the filters before finally copying the result into the provided buffer. The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. The buffer to read data into. The offset into the buffer to start reading data. The number of bytes to read. The cancellation token. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support reading. The operation was canceled via the cancellation token. An I/O error occurred. Reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. Reads up to the requested number of bytes, passing the data read from the stream through each of the filters before finally copying the result into the provided buffer. The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. The buffer to read data into. The offset into the buffer to start reading data. The number of bytes to read. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support reading. An I/O error occurred. Asynchronously reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. Reads up to the requested number of bytes, passing the data read from the stream through each of the filters before finally copying the result into the provided buffer. The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. The buffer to read data into. The offset into the buffer to start reading data. The number of bytes to read. The cancellation token. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support reading. The operation was canceled via the cancellation token. An I/O error occurred. Writes a sequence of bytes to the stream and advances the current position within this stream by the number of bytes written. Filters the provided buffer through each of the filters before finally writing the result to the underlying stream. The buffer to write. The offset of the first byte to write. The number of bytes to write. The cancellation token. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support writing. The operation was canceled via the cancellation token. An I/O error occurred. Writes a sequence of bytes to the stream and advances the current position within this stream by the number of bytes written. Filters the provided buffer through each of the filters before finally writing the result to the underlying stream. The buffer to write. The offset of the first byte to write. The number of bytes to write. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support writing. An I/O error occurred. Asynchronously writes a sequence of bytes to the stream and advances the current position within this stream by the number of bytes written. Filters the provided buffer through each of the filters before finally writing the result to the underlying stream. A task that represents the asynchronous write operation. The buffer to write. The offset of the first byte to write. The number of bytes to write. The cancellation token. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support writing. The operation was canceled via the cancellation token. An I/O error occurred. Sets the position within the current stream. Seeking is not supported by the . The new position within the stream. The offset into the stream relative to the . The origin to seek from. The stream does not support seeking. Clears all buffers for this stream and causes any buffered data to be written to the underlying device. Flushes the state of all filters, writing any output to the underlying stream and then calling on the . The cancellation token. The stream has been disposed. The stream does not support writing. The operation was canceled via the cancellation token. An I/O error occurred. Clears all buffers for this stream and causes any buffered data to be written to the underlying device. Flushes the state of all filters, writing any output to the underlying stream and then calling on the . The stream has been disposed. The stream does not support writing. An I/O error occurred. Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device. Flushes the state of all filters, writing any output to the underlying stream and then calling on the . A task that represents the asynchronous flush operation. The cancellation token. The stream has been disposed. The stream does not support writing. The operation was canceled via the cancellation token. An I/O error occurred. Sets the length of the stream. Setting the length of a is not supported. The desired length of the stream in bytes. The stream has been disposed. The stream does not support setting the length. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only the unmanaged resources. An interface allowing for a cancellable stream reading operation. This interface is meant to extend the functionality of a , allowing the to have much finer-grained canellability. When a custom stream implementation also implements this interface, the will opt to use this interface instead of the normal API to read data from the stream. This is really useful when parsing a message or other MIME entity directly from a network-based stream. Reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. When a custom stream implementation also implements this interface, the will opt to use this interface instead of the normal API to read data from the stream. This is really useful when parsing a message or other MIME entity directly from a network-based stream. The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. The buffer to read data into. The offset into the buffer to start reading data. The number of bytes to read. The cancellation token. Writes a sequence of bytes to the stream and advances the current position within this stream by the number of bytes written. When a custom stream implementation also implements this interface, writing a or to the custom stream will opt to use this interface instead of the normal API to write data to the stream. This is really useful when writing a message or other MIME entity directly to a network-based stream. The buffer to write. The offset of the first byte to write. The number of bytes to write. The cancellation token Clears all buffers for this stream and causes any buffered data to be written to the underlying device. Clears all buffers for this stream and causes any buffered data to be written to the underlying device. The cancellation token. A stream useful for measuring the amount of data written. A keeps track of the number of bytes that have been written to it. This is useful, for example, when you need to know how large a is without actually writing it to disk or into a memory buffer. Initializes a new instance of the class. Creates a new . Checks whether or not the stream supports reading. A is not readable. true if the stream supports reading; otherwise, false. Checks whether or not the stream supports writing. A is always writable. true if the stream supports writing; otherwise, false. Checks whether or not the stream supports seeking. A is always seekable. true if the stream supports seeking; otherwise, false. Checks whether or not reading and writing to the stream can timeout. Writing to a cannot timeout. true if reading and writing to the stream can timeout; otherwise, false. Gets the length of the stream, in bytes. The length of a indicates the number of bytes that have been written to it. The length of the stream in bytes. The stream has been disposed. Gets or sets the current position within the stream. Since it is possible to seek within a , it is possible that the position will not always be identical to the length of the stream, but typically it will be. The position of the stream. An I/O error occurred. The stream does not support seeking. The stream has been disposed. Reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. Reading from a is not supported. The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. The buffer to read data into. The offset into the buffer to start reading data. The number of bytes to read. The stream has been disposed. The stream does not support reading. Asynchronously reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. Reading from a is not supported. The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. The buffer to read data into. The offset into the buffer to start reading data. The number of bytes to read. The cancellation token. The stream has been disposed. The stream does not support reading. Writes a sequence of bytes to the stream and advances the current position within this stream by the number of bytes written. Increments the property by the number of bytes written. If the updated position is greater than the current length of the stream, then the property will be updated to be identical to the position. The buffer to write. The offset of the first byte to write. The number of bytes to write. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support writing. An I/O error occurred. Asynchronously writes a sequence of bytes to the stream and advances the current position within this stream by the number of bytes written. Increments the property by the number of bytes written. If the updated position is greater than the current length of the stream, then the property will be updated to be identical to the position. A task that represents the asynchronous write operation. The buffer to write. The offset of the first byte to write. The number of bytes to write. The cancellation token. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support writing. An I/O error occurred. Sets the position within the current stream. Updates the within the stream. The new position within the stream. The offset into the stream relative to the . The origin to seek from. is not a valid . The stream has been disposed. Clears all buffers for this stream and causes any buffered data to be written to the underlying device. Since a does not actually do anything other than count bytes, this method is a no-op. The stream has been disposed. Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device. Since a does not actually do anything other than count bytes, this method is a no-op. A task that represents the asynchronous flush operation. The cancellation token. The stream has been disposed. Sets the length of the stream. Sets the to the specified value and updates to the specified value if (and only if) the current position is greater than the new length value. The desired length of the stream in bytes. is out of range. The stream has been disposed. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only the unmanaged resources. An efficient memory stream implementation that sacrifices the ability to get access to the internal byte buffer in order to drastically improve performance. Instead of resizing an internal byte array, the chains blocks of non-contiguous memory. This helps improve performance by avoiding unneeded copying of data from the old array to the newly allocated array as well as the zeroing of the newly allocated array. Initializes a new instance of the class. Creates a new with an initial memory block of 2048 bytes. Copies the memory stream into a byte array. Copies all of the stream data into a newly allocated byte array. The array. Checks whether or not the stream supports reading. The is always readable. true if the stream supports reading; otherwise, false. Checks whether or not the stream supports writing. The is always writable. true if the stream supports writing; otherwise, false. Checks whether or not the stream supports seeking. The is always seekable. true if the stream supports seeking; otherwise, false. Checks whether or not reading and writing to the stream can timeout. The does not support timing out. true if reading and writing to the stream can timeout; otherwise, false. Gets the length of the stream, in bytes. Gets the length of the stream, in bytes. The length of the stream, in bytes. The stream has been disposed. Gets or sets the current position within the stream. Gets or sets the current position within the stream. The position of the stream. An I/O error occurred. The stream does not support seeking. The stream has been disposed. Reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. Reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. The buffer to read data into. The offset into the buffer to start reading data. The number of bytes to read. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. An I/O error occurred. Asynchronously reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. Reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. The buffer to read data into. The offset into the buffer to start reading data. The number of bytes to read. The cancellation token. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. An I/O error occurred. Writes a sequence of bytes to the stream and advances the current position within this stream by the number of bytes written. Writes the entire buffer to the stream and advances the current position within the stream by the number of bytes written, adding memory blocks as needed in order to contain the newly written bytes. The buffer to write. The offset of the first byte to write. The number of bytes to write. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support writing. An I/O error occurred. Asynchronously writes a sequence of bytes to the stream and advances the current position within this stream by the number of bytes written. Writes the entire buffer to the stream and advances the current position within the stream by the number of bytes written, adding memory blocks as needed in order to contain the newly written bytes. A task that represents the asynchronous write operation. The buffer to write. The offset of the first byte to write. The number of bytes to write. The cancellation token. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. The stream does not support writing. An I/O error occurred. Sets the position within the current stream. Sets the position within the current stream. The new position within the stream. The offset into the stream relative to the . The origin to seek from. is not a valid . The stream has been disposed. An I/O error occurred. Clears all buffers for this stream and causes any buffered data to be written to the underlying device. This method does not do anything. The stream has been disposed. Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device. This method does not do anything. A task that represents the asynchronous flush operation. The cancellation token. The stream has been disposed. Sets the length of the stream. Sets the length of the stream. The desired length of the stream in bytes. is out of range. The stream has been disposed. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only the unmanaged resources. A filter that armors lines beginning with "From " by encoding the 'F' with the Quoted-Printable encoding. From-armoring is a workaround to prevent receiving clients (or servers) that uses the mbox file format for local storage from munging the line by prepending a ">", as is typical with the mbox format. This armoring technique ensures that the receiving client will still be able to verify S/MIME signatures. Initializes a new instance of the class. Creates a new . Filter the specified input. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The length of the input buffer, starting at . The output index. The output length. If set to true, all internally buffered data should be flushed to the output buffer. Resets the filter. Resets the filter. A filter that can be used to determine the most efficient Content-Transfer-Encoding. Keeps track of the content that gets passed through the filter in order to determine the most efficient to use. Initializes a new instance of the class. Creates a new . Gets the best encoding given the specified constraints. Gets the best encoding given the specified constraints. The best encoding. The encoding constraint. The maximum allowable line length (not counting the CRLF). Must be between 60 and 998 (inclusive). is not between 60 and 998 (inclusive). -or- is not a valid value. Filters the specified input. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The number of bytes of the input to filter. The starting index of the output in the returned buffer. The length of the output buffer. is null. and do not specify a valid range in the byte array. Filters the specified input, flushing all internally buffered data to the output. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The number of bytes of the input to filter. The starting index of the output in the returned buffer. The length of the output buffer. is null. and do not specify a valid range in the byte array. Resets the filter. Resets the filter. A charset filter for incrementally converting text streams from one charset encoding to another. Incrementally converts text from one charset encoding to another. Initializes a new instance of the class. Creates a new to convert text from the specified source encoding into the target charset encoding. Source encoding name. Target encoding name. is null. -or- is null. The is not supported by the system. -or- The is not supported by the system. Initializes a new instance of the class. Creates a new to convert text from the specified source encoding into the target charset encoding. Source code page. Target code page. is less than zero or greater than 65535. -or- is less than zero or greater than 65535. The is not supported by the system. -or- The is not supported by the system. Initializes a new instance of the class. Creates a new to convert text from the specified source encoding into the target charset encoding. Source encoding. Target encoding. is null. -or- is null. Gets the source encoding. Gets the source encoding. The source encoding. Gets the target encoding. Gets the target encoding. The target encoding. Filter the specified input. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The length of the input buffer, starting at . The output index. The output length. If set to true, all internally buffered data should be flushed to the output buffer. Resets the filter. Resets the filter. A filter for decoding MIME content. Uses a to incrementally decode data. Gets the decoder used by this filter. Gets the decoder used by this filter. The decoder. Gets the encoding. Gets the encoding that the decoder supports. The encoding. Initializes a new instance of the class. Creates a new using the specified decoder. A specific decoder for the filter to use. is null. Create a filter that will decode the specified encoding. Creates a new for the specified encoding. A new decoder filter. The encoding to create a filter for. Create a filter that will decode the specified encoding. Creates a new for the specified encoding. A new decoder filter. The name of the encoding to create a filter for. is null. Filter the specified input. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The length of the input buffer, starting at . The output index. The output length. If set to true, all internally buffered data should be flushed to the output buffer. Resets the filter. Resets the filter. A filter that will convert from Windows/DOS line endings to Unix line endings. Converts from Windows/DOS line endings to Unix line endings. Initializes a new instance of the class. Creates a new . Ensure that the stream ends with a new line. Filter the specified input. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The length of the input buffer, starting at . The output index. The output length. If set to true, all internally buffered data should be flushed to the output buffer. Resets the filter. Resets the filter. A filter for encoding MIME content. Uses a to incrementally encode data. Gets the encoder used by this filter. Gets the encoder used by this filter. The encoder. Gets the encoding. Gets the encoding that the encoder supports. The encoding. Initializes a new instance of the class. Creates a new using the specified encoder. A specific encoder for the filter to use. is null. Create a filter that will encode using specified encoding. Creates a new for the specified encoding. A new encoder filter. The encoding to create a filter for. Create a filter that will encode using specified encoding. Creates a new for the specified encoding. A new encoder filter. The name of the encoding to create a filter for. is null. Filter the specified input. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The length of the input buffer, starting at . The output index. The output length. If set to true, all internally buffered data should be flushed to the output buffer. Resets the filter. Resets the filter. An interface for incrementally filtering data. An interface for incrementally filtering data. Filters the specified input. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The number of bytes of the input to filter. The starting index of the output in the returned buffer. The length of the output buffer. Filters the specified input, flushing all internally buffered data to the output. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The number of bytes of the input to filter. The starting index of the output in the returned buffer. The length of the output buffer. Resets the filter. Resets the filter. A base implementation for MIME filters. A base implementation for MIME filters. Initializes a new instance of the class. Creates a new . Gets the output buffer. Gets the output buffer. The output buffer. Filter the specified input. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The length of the input buffer, starting at . The output index. The output length. If set to true, all internally buffered data should be flushed to the output buffer. Filters the specified input. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The number of bytes of the input to filter. The starting index of the output in the returned buffer. The length of the output buffer. is null. and do not specify a valid range in the byte array. Filters the specified input, flushing all internally buffered data to the output. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The number of bytes of the input to filter. The starting index of the output in the returned buffer. The length of the output buffer. is null. and do not specify a valid range in the byte array. Resets the filter. Resets the filter. Saves the remaining input for the next round of processing. Saves the remaining input for the next round of processing. The input buffer. The starting index of the buffer to save. The length of the buffer to save, starting at . Ensures that the output buffer is greater than or equal to the specified size. Ensures that the output buffer is greater than or equal to the specified size. The minimum size needed. If set to true, the current output should be preserved. A filter that simply passes data through without any processing. Passes data through without any processing. Initializes a new instance of the class. Creates a new . Filters the specified input. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The number of bytes of the input to filter. The starting index of the output in the returned buffer. The length of the output buffer. Filters the specified input, flushing all internally buffered data to the output. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The number of bytes of the input to filter. The starting index of the output in the returned buffer. The length of the output buffer. Resets the filter. Resets the filter. A filter for stripping trailing whitespace from lines in a textual stream. Strips trailing whitespace from lines in a textual stream. Initializes a new instance of the class. Creates a new . Filter the specified input. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The length of the input buffer, starting at . The output index. The output length. If set to true, all internally buffered data should be flushed to the output buffer. Resets the filter. Resets the filter. A filter that will convert from Unix line endings to Windows/DOS line endings. Converts from Unix line endings to Windows/DOS line endings. Initializes a new instance of the class. Creates a new . Ensure that the stream ends with a new line. Filter the specified input. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. The length of the input buffer, starting at . The output index. The output length. If set to true, all internally buffered data should be flushed to the output buffer. Resets the filter. Resets the filter. A flowed text to HTML converter. Used to convert flowed text (as described in rfc3676) into HTML. Initializes a new instance of the class. Creates a new flowed text to HTML converter. Get the input format. Gets the input format. The input format. Get the output format. Gets the output format. The output format. Get or set whether the trailing space on a wrapped line should be deleted. Gets or sets whether the trailing space on a wrapped line should be deleted. The flowed text format defines a Content-Type parameter called "delsp" which can have a value of "yes" or "no". If the parameter exists and the value is "yes", then should be set to true, otherwise should be set to false. true if the trailing space on a wrapped line should be deleted; otherwise, false. Get or set the footer format. Gets or sets the footer format. The footer format. Get or set the header format. Gets or sets the header format. The header format. Get or set the method to use for custom filtering of HTML tags and content. Get or set the method to use for custom filtering of HTML tags and content. The html tag callback. Get or set whether or not the converter should only output an HTML fragment. Gets or sets whether or not the converter should only output an entire HTML document or just a fragment of the HTML body content. true if the converter should only output an HTML fragment; otherwise, false. Convert the contents of from the to the and uses the to write the resulting text. Converts the contents of from the to the and uses the to write the resulting text. The text reader. The text writer. is null. -or- is null. A flowed text to text converter. Unwraps the flowed text format described in rfc3676. Initializes a new instance of the class. Creates a new flowed text to text converter. Get the input format. Gets the input format. The input format. Get the output format. Gets the output format. The output format. Get or set whether the trailing space on a wrapped line should be deleted. Gets or sets whether the trailing space on a wrapped line should be deleted. The flowed text format defines a Content-Type parameter called "delsp" which can have a value of "yes" or "no". If the parameter exists and the value is "yes", then should be set to true, otherwise should be set to false. true if the trailing space on a wrapped line should be deleted; otherwise, false. Convert the contents of from the to the and uses the to write the resulting text. Converts the contents of from the to the and uses the to write the resulting text. The text reader. The text writer. is null. -or- is null. An enumeration of possible header and footer formats. An enumeration of possible header and footer formats. The header or footer contains plain text. The header or footer contains properly formatted HTML. An HTML attribute. An HTML attribute. Initializes a new instance of the class. Creates a new HTML attribute with the given id and value. The attribute identifier. The attribute value. is not a valid value. Initializes a new instance of the class. Creates a new HTML attribute with the given name and value. The attribute name. The attribute value. is null. Get the HTML attribute identifier. Gets the HTML attribute identifier. The attribute identifier. Get the name of the attribute. Gets the name of the attribute. The name of the attribute. Get the value of the attribute. Gets the value of the attribute. The value of the attribute. A readonly collection of HTML attributes. A readonly collection of HTML attributes. An empty attribute collection. An empty attribute collection. Initializes a new instance of the class. Creates a new . A collection of attributes. Get the number of attributes in the collection. Gets the number of attributes in the collection. The number of attributes in the collection. Get the at the specified index. Gets the at the specified index. The HTML attribute at the specified index. The index. is out of range. Gets an enumerator for the attribute collection. Gets an enumerator for the attribute collection. The enumerator. Gets an enumerator for the attribute collection. Gets an enumerator for the attribute collection. The enumerator. HTML attribute identifiers. HTML attribute identifiers. An unknown HTML attribute identifier. The "abbr" attribute. The "accept" attribute. The "accept-charset" attribute. The "accesskey" attribute. The "action" attribute. The "align" attribute. The "alink" attribute. The "alt" attribute. The "archive" attribute. The "axis" attribute. The "background" attribute. The "bgcolor" attribute. The "border" attribute. The "cellpadding" attribute. The "cellspacing" attribute. The "char" attribute. The "charoff" attribute. The "charset" attribute. The "checked" attribute. The "cite" attribute. The "class" attribute. The "classid" attribute. The "clear" attribute. The "code" attribute. The "codebase" attribute. The "codetype" attribute. The "color" attribute. The "cols" attribute. The "colspan" attribute. The "compact" attribute. The "content" attribute. The "coords" attribute. The "data" attribute. The "datetime" attribute. The "declare" attribute. The "defer" attribute. The "dir" attribute. The "disabled" attribute. The "dynsrc" attribute. The "enctype" attribute. The "face" attribute. The "for" attribute. The "frame" attribute. The "frameborder" attribute. The "headers" attribute. The "height" attribute. The "href" attribute. The "hreflang" attribute. The "hspace" attribute. The "http-equiv" attribute. The "id" attribute. The "ismap" attribute. The "label" attribute. The "lang" attribute. The "language" attribute. The "leftmargin" attribute. The "link" attribute. The "longdesc" attribute. The "lowsrc" attribute. The "marginheight" attribute. The "marginwidth" attribute. The "maxlength" attribute. The "media" attribute. The "method" attribute. The "multiple" attribute. The "name" attribute. The "nohref" attribute. The "noresize" attribute. The "noshade" attribute. The "nowrap" attribute. The "object" attribute. The "profile" attribute. The "prompt" attribute. The "readonly" attribute. The "rel" attribute. The "rev" attribute. The "rows" attribute. The "rowspan" attribute. The "rules" attribute. The "scheme" attribute. The "scope" attribute. The "scrolling" attribute. The "selected" attribute. The "shape" attribute. The "size" attribute. The "span" attribute. The "src" attribute. The "standby" attribute. The "start" attribute. The "style" attribute. The "summary" attribute. The "tabindex" attribute. The "target" attribute. The "text" attribute. The "title" attribute. The "topmargin" attribute. The "type" attribute. The "usemap" attribute. The "valign" attribute. The "value" attribute. The "valuetype" attribute. The "version" attribute. The "vlink" attribute. The "vspace" attribute. The "width" attribute. The "xmlns" attribute. extension methods. extension methods. Converts the enum value into the equivalent attribute name. Converts the enum value into the equivalent attribute name. The attribute name. The enum value. Converts the attribute name into the equivalent attribute id. Converts the attribute name into the equivalent attribute id. The attribute id. The attribute name. An HTML entity decoder. An HTML entity decoder. Initializes a new instance of the class. Creates a new . Push the specified character into the HTML entity decoder. Pushes the specified character into the HTML entity decoder. The first character pushed MUST be the '&' character. true if the character was accepted; otherwise, false. The character. is the first character being pushed and was not the '&' character. Get the decoded entity value. Gets the decoded entity value. The value. Reset the entity decoder. Resets the entity decoder. An HTML namespace. An HTML namespace. The namespace is "http://www.w3.org/1999/xhtml". The namespace is "http://www.w3.org/1998/Math/MathML". The namespace is "http://www.w3.org/2000/svg". The namespace is "http://www.w3.org/1999/xlink". The namespace is "http://www.w3.org/XML/1998/namespace". The namespace is "http://www.w3.org/2000/xmlns/". extension methods. extension methods. Converts the enum value into the equivalent namespace url. Converts the enum value into the equivalent namespace url. The tag name. The enum value. Converts the tag name into the equivalent tag id. Converts the tag name into the equivalent tag id. The tag id. The namespace. An HTML tag callback delegate. The delegate is called when a converter is ready to write a new HTML tag, allowing developers to customize whether the tag gets written at all, which attributes get written, etc. The HTML tag context. The HTML writer. An HTML tag context. An HTML tag context used with the delegate. Initializes a new instance of the class. Creates a new . The HTML tag identifier. is invalid. Get the HTML tag attributes. Gets the HTML tag attributes. The attributes. Get or set whether or not the end tag should be deleted. Gets or sets whether or not the end tag should be deleted. true if the end tag should be deleted; otherwise, false. Get or set whether or not the tag should be deleted. Gets or sets whether or not the tag should be deleted. true if the tag should be deleted; otherwise, false. Get or set whether or not the should be invoked for the end tag. Gets or sets whether or not the should be invoked for the end tag. true if the callback should be invoked for end tag; otherwise, false. Get whether or not the tag is an empty element. Gets whether or not the tag is an empty element. true if the tag is an empty element; otherwise, false. Get whether or not the tag is an end tag. Gets whether or not the tag is an end tag. true if the tag is an end tag; otherwise, false. Get or set whether or not the inner content of the tag should be suppressed. Gets or sets whether or not the inner content of the tag should be suppressed. true if the inner content should be suppressed; otherwise, false. Get the HTML tag identifier. Gets the HTML tag identifier. The HTML tag identifier. Get the HTML tag name. Gets the HTML tag name. The HTML tag name. Write the HTML tag. Writes the HTML tag to the given . The HTML writer. is null. Write the HTML tag. Writes the HTML tag to the given . The HTML writer. true if the should also be written; otherwise, false. is null. HTML tag identifiers. HTML tag identifiers. An unknown HTML tag identifier. The HTML <a> tag. The HTML <abbr> tag. The HTML <acronym> tag. The HTML <address> tag. The HTML <applet> tag. The HTML <area> tag. The HTML <article> tag. The HTML <aside> tag. The HTML <audio> tag. The HTML <b> tag. The HTML <base> tag. The HTML <basefont> tag. The HTML <bdi> tag. The HTML <bdo> tag. The HTML <bgsound> tag. The HTML <big> tag. The HTML <blink> tag. The HTML <blockquote> tag. The HTML <body> tag. The HTML <br> tag. The HTML <button> tag. The HTML <canvas> tag. The HTML <caption> tag. The HTML <center> tag. The HTML <cite> tag. The HTML <code> tag. The HTML <col> tag. The HTML <colgroup> tag. The HTML <command> tag. The HTML comment tag. The HTML <datalist> tag. The HTML <dd> tag. The HTML <del> tag. The HTML <details> tag. The HTML <dfn> tag. The HTML <dialog> tag. The HTML <dir> tag. The HTML <div> tag. The HTML <dl> tag. The HTML <dt> tag. The HTML <em> tag. The HTML <embed> tag. The HTML <fieldset> tag. The HTML <figcaption> tag. The HTML <figure> tag. The HTML <font> tag. The HTML <footer> tag. The HTML <form> tag. The HTML <frame> tag. The HTML <frameset> tag. The HTML <h1> tag. The HTML <h2> tag. The HTML <h3> tag. The HTML <h4> tag. The HTML <h5> tag. The HTML <h6> tag. The HTML <head> tag. The HTML <header> tag. The HTML <hr> tag. The HTML <html> tag. The HTML <i> tag. The HTML <iframe> tag. The HTML <image> tag. The HTML <input> tag. The HTML <ins> tag. The HTML <isindex> tag. The HTML <kbd> tag. The HTML <keygen> tag. The HTML <label> tag. The HTML <legend> tag. The HTML <li> tag. The HTML <link> tag. The HTML <listing> tag. The HTML <main> tag. The HTML <map> tag. The HTML <mark> tag. The HTML <marquee> tag. The HTML <menu> tag. The HTML <menuitem> tag. The HTML <meta> tag. The HTML <meter> tag. The HTML <nav> tag. The HTML <nextid> tag. The HTML <nobr> tag. The HTML <noembed> tag. The HTML <noframes> tag. The HTML <noscript> tag. The HTML <object> tag. The HTML <ol> tag. The HTML <optgroup> tag. The HTML <option> tag. The HTML <output> tag. The HTML <p> tag. The HTML <param> tag. The HTML <plaintext> tag. The HTML <pre> tag. The HTML <progress> tag. The HTML <q> tag. The HTML <rp> tag. The HTML <rt> tag. The HTML <ruby> tag. The HTML <s> tag. The HTML <samp> tag. The HTML <script> tag. The HTML <section> tag. The HTML <select> tag. The HTML <small> tag. The HTML <source> tag. The HTML <span> tag. The HTML <strike> tag. The HTML <strong> tag. The HTML <style> tag. The HTML <sub> tag. The HTML <summary> tag. The HTML <sup> tag. The HTML <table> tag. The HTML <tbody> tag. The HTML <td> tag. The HTML <textarea> tag. The HTML <tfoot> tag. The HTML <th> tag. The HTML <thread> tag. The HTML <time> tag. The HTML <title> tag. The HTML <tr> tag. The HTML <track> tag. The HTML <tt> tag. The HTML <u> tag. The HTML <ul> tag. The HTML <var> tag. The HTML <video> tag. The HTML <wbr> tag. The HTML <xml> tag. The HTML <xmp> tag. extension methods. extension methods. Converts the enum value into the equivalent tag name. Converts the enum value into the equivalent tag name. The tag name. The enum value. Converts the tag name into the equivalent tag id. Converts the tag name into the equivalent tag id. The tag id. The tag name. Determines whether or not the HTML tag is an empty element. Determines whether or not the HTML tag is an empty element. true if the tag is an empty element; otherwise, false. Identifier. Determines whether or not the HTML tag is a formatting element. Determines whether or not the HTML tag is a formatting element. true if the HTML tag is a formatting element; otherwise, false. The HTML tag identifier. An HTML to HTML converter. Used to convert HTML into HTML. Initializes a new instance of the class. Creates a new HTML to HTML converter. Get the input format. Gets the input format. The input format. Get the output format. Gets the output format. The output format. Get or set whether or not the converter should remove HTML comments from the output. Gets or sets whether or not the converter should remove HTML comments from the output. true if the converter should remove comments; otherwise, false. Get or set whether or not executable scripts should be stripped from the output. Gets or sets whether or not executable scripts should be stripped from the output. true if executable scripts should be filtered; otherwise, false. Get or set the footer format. Gets or sets the footer format. The footer format. Get or set the header format. Gets or sets the header format. The header format. Get or set the method to use for custom filtering of HTML tags and content. Get or set the method to use for custom filtering of HTML tags and content. The html tag callback. Convert the contents of from the to the and uses the to write the resulting text. Converts the contents of from the to the and uses the to write the resulting text. The text reader. The text writer. is null. -or- is null. An abstract HTML token class. An abstract HTML token class. Initializes a new instance of the class. Creates a new . The kind of token. Get the kind of HTML token that this object represents. Gets the kind of HTML token that this object represents. The kind of token. Write the HTML token to a . Writes the HTML token to a . The output. is null. Returns a that represents the current . Returns a that represents the current . A that represents the current . An HTML comment token. An HTML comment token. Initializes a new instance of the class. Creates a new . The comment text. true if the comment is bogus; otherwise, false. is null. Get the comment. Gets the comment. The comment. Get whether or not the comment is a bogus comment. Gets whether or not the comment is a bogus comment. true if the comment is bogus; otherwise, false. Write the HTML comment to a . Writes the HTML comment to a . The output. is null. An HTML token constisting of character data. An HTML token consisting of character data. Initializes a new instance of the class. Creates a new . The kind of character data. The character data. is not a valid . is null. Initializes a new instance of the class. Creates a new . The character data. is null. Get the character data. Gets the character data. The character data. Write the HTML character data to a . Writes the HTML character data to a , encoding it if it isn't already encoded. The output. is null. An HTML token constisting of [CDATA[. An HTML token consisting of [CDATA[. Initializes a new instance of the class. Creates a new . The character data. is null. Write the HTML character data to a . Writes the HTML character data to a , encoding it if it isn't already encoded. The output. is null. An HTML token constisting of script data. An HTML token consisting of script data. Initializes a new instance of the class. Creates a new . The script data. is null. Write the HTML script data to a . Writes the HTML script data to a , encoding it if it isn't already encoded. The output. is null. An HTML tag token. An HTML tag token. Initializes a new instance of the class. Creates a new . The name of the tag. The attributes. true if the tag is an empty element; otherwise, false. is null. -or- is null. Initializes a new instance of the class. Creates a new . The name of the tag. true if the tag is an end tag; otherwise, false. is null. Get the attributes. Gets the attributes. The attributes. Get the HTML tag identifier. Gets the HTML tag identifier. The HTML tag identifier. Get whether or not the tag is an empty element. Gets whether or not the tag is an empty element. true if the tag is an empty element; otherwise, false. Get whether or not the tag is an end tag. Gets whether or not the tag is an end tag. true if the tag is an end tag; otherwise, false. Get the name of the tag. Gets the name of the tag. The name. Write the HTML tag to a . Writes the HTML tag to a . The output. is null. An HTML DOCTYPE token. An HTML DOCTYPE token. Initializes a new instance of the class. Creates a new . Get whether or not quirks-mode should be forced. Gets whether or not quirks-mode should be forced. true if quirks-mode should be forced; otherwise, false. Get or set the DOCTYPE name. Gets or sets the DOCTYPE name. The name. Get or set the public identifier. Gets or sets the public identifier. The public identifier. Get the public keyword that was used. Gets the public keyword that was used. The public keyword or null if it wasn't used. Get or set the system identifier. Gets or sets the system identifier. The system identifier. Get the system keyword that was used. Gets the system keyword that was used. The system keyword or null if it wasn't used. Write the DOCTYPE tag to a . Writes the DOCTYPE tag to a . The output. is null. An HTML tokenizer. Tokenizes HTML text, emitting an for each token it encounters. Initializes a new instance of the class. Creates a new . The . Get or set whether or not the tokenizer should decode character references. Gets or sets whether or not the tokenizer should decode character references. Character references in attribute values will still be decoded even if this value is set to false. true if character references should be decoded; otherwise, false. Get the current HTML namespace detected by the tokenizer. Gets the current HTML namespace detected by the tokenizer. The html namespace. Gets the current line number. This property is most commonly used for error reporting, but can be called at any time. The starting value for this property is 1. Combined with , a value of 1,1 indicates the start of the document. The current line number. Gets the current line position. This property is most commonly used for error reporting, but can be called at any time. The starting value for this property is 1. Combined with , a value of 1,1 indicates the start of the document. The current line number. Get the current state of the tokenizer. Gets the current state of the tokenizer. The current state of the tokenizer. Create a DOCTYPE token. Creates a DOCTYPE token. The DOCTYPE token. Create an HTML comment token. Creates an HTML comment token. The HTML comment token. The comment. true if the comment is bogus; otherwise, false. Create an HTML character data token. Creates an HTML character data token. The HTML character data token. The character data. Create an HTML character data token. Creates an HTML character data token. The HTML character data token. The character data. Create an HTML script data token. Creates an HTML script data token. The HTML script data token. The script data. Create an HTML tag token. Creates an HTML tag token. The HTML tag token. The tag name. true if the tag is an end tag; otherwise, false. Create an attribute. Creates an attribute. The attribute. The attribute name. Reads the next token. Reads the next token. true if the next token was read; otherwise, false. THe token that was read. The HTML tokenizer state. The HTML tokenizer state. The data state as described at http://www.w3.org/TR/html5/syntax.html#data-state. The character reference in data state as described at http://www.w3.org/TR/html5/syntax.html#character-reference-in-data-state. The RCDATA state as described at http://www.w3.org/TR/html5/syntax.html#rcdata-state. The character reference in RCDATA state as described at http://www.w3.org/TR/html5/syntax.html#character-reference-in-rcdata-state. The RAWTEXT state as described at http://www.w3.org/TR/html5/syntax.html#rawtext-state. The script data state as described at http://www.w3.org/TR/html5/syntax.html#script-data-state. The PLAINTEXT state as described at http://www.w3.org/TR/html5/syntax.html#plaintext-state. The tag open state as described at http://www.w3.org/TR/html5/syntax.html#tag-open-state. The end tag open state as described at http://www.w3.org/TR/html5/syntax.html#end-tag-open-state. The tag name state as described at http://www.w3.org/TR/html5/syntax.html#tag-name-state. The RCDATA less-than state as described at http://www.w3.org/TR/html5/syntax.html#rcdata-less-than-sign-state. The RCDATA end tag open state as described at http://www.w3.org/TR/html5/syntax.html#rcdata-end-tag-open-state. The RCDATA end tag name state as described at http://www.w3.org/TR/html5/syntax.html#rcdata-end-tag-name-state. The RAWTEXT less-than state as described at http://www.w3.org/TR/html5/syntax.html#rawtext-less-than-sign-state. The RAWTEXT end tag open state as described at http://www.w3.org/TR/html5/syntax.html#rawtext-end-tag-open-state. The RAWTEXT end tag name state as described at http://www.w3.org/TR/html5/syntax.html#rawtext-end-tag-name-state. The script data less-than state as described at http://www.w3.org/TR/html5/syntax.html#script-data-less-than-sign-state. The script data end tag open state as described at http://www.w3.org/TR/html5/syntax.html#script-data-end-tag-open-state. The script data end tag name state as described at http://www.w3.org/TR/html5/syntax.html#script-data-end-tag-name-state. The script data escape start state as described at http://www.w3.org/TR/html5/syntax.html#script-data-escape-start-state. The script data escape start state as described at http://www.w3.org/TR/html5/syntax.html#script-data-escape-start-dash-state. The script data escaped state as described at http://www.w3.org/TR/html5/syntax.html#script-data-escaped-state. The script data escaped dash state as described at http://www.w3.org/TR/html5/syntax.html#script-data-escaped-dash-state. The script data escaped dash dash state as described at http://www.w3.org/TR/html5/syntax.html#script-data-escaped-dash-dash-state. The script data escaped less-than state as described at http://www.w3.org/TR/html5/syntax.html#script-data-escaped-less-than-sign-state. The script data escaped end tag open state as described at http://www.w3.org/TR/html5/syntax.html#script-data-escaped-end-tag-open-state. The script data escaped end tag name state as described at http://www.w3.org/TR/html5/syntax.html#script-data-escaped-end-tag-name-state. The script data double escape start state as described at http://www.w3.org/TR/html5/syntax.html#script-data-double-escape-start-state. The script data double escaped state as described at http://www.w3.org/TR/html5/syntax.html#script-data-double-escaped-state. The script data double escaped dash state as described at http://www.w3.org/TR/html5/syntax.html#script-data-double-escaped-dash-state. The script data double escaped dash dash state as described at http://www.w3.org/TR/html5/syntax.html#script-data-double-escaped-dash-dash-state. The script data double escaped less-than state as described at http://www.w3.org/TR/html5/syntax.html#script-data-double-escaped-less-than-sign-state. The script data double escape end state as described at http://www.w3.org/TR/html5/syntax.html#script-data-double-escape-end-state. The before attribute name state as described at http://www.w3.org/TR/html5/syntax.html#before-attribute-name-state. The attribute name state as described at http://www.w3.org/TR/html5/syntax.html#attribute-name-state. The after attribute name state as described at http://www.w3.org/TR/html5/syntax.html#after-attribute-name-state. The beforw attribute value state as described at http://www.w3.org/TR/html5/syntax.html#before-attribute-value-state. The attribute value quoted state as described at http://www.w3.org/TR/html5/syntax.html#attribute-value-(double-quoted)-state. The attribute value unquoted state as described at http://www.w3.org/TR/html5/syntax.html#attribute-value-(unquoted)-state. The character reference in attribute value state as described at http://www.w3.org/TR/html5/syntax.html#character-reference-in-attribute-value-state. The after attribute value quoted state as described at http://www.w3.org/TR/html5/syntax.html#after-attribute-value-(quoted)-state. The self-closing start tag state as described at http://www.w3.org/TR/html5/syntax.html#self-closing-start-tag-state. The bogus comment state as described at http://www.w3.org/TR/html5/syntax.html#bogus-comment-state. The markup declaration open state as described at http://www.w3.org/TR/html5/syntax.html#markup-declaration-open-state. The comment start state as described at http://www.w3.org/TR/html5/syntax.html#comment-start-state. The comment start dash state as described at http://www.w3.org/TR/html5/syntax.html#comment-start-dash-state. The comment state as described at http://www.w3.org/TR/html5/syntax.html#comment-state. The comment end dash state as described at http://www.w3.org/TR/html5/syntax.html#comment-end-dash-state. The comment end state as described at http://www.w3.org/TR/html5/syntax.html#comment-end-state. The comment end bang state as described at http://www.w3.org/TR/html5/syntax.html#comment-end-bang-state. The DOCTYPE state as described at http://www.w3.org/TR/html5/syntax.html#doctype-state. The before DOCTYPE name state as described at http://www.w3.org/TR/html5/syntax.html#before-doctype-name-state. The DOCTYPE name state as described at http://www.w3.org/TR/html5/syntax.html#doctype-name-state. The after DOCTYPE name state as described at http://www.w3.org/TR/html5/syntax.html#after-doctype-name-state. The after DOCTYPE public keyword state as described at http://www.w3.org/TR/html5/syntax.html#after-doctype-public-keyword-state. The before DOCTYPE public identifier state as described at http://www.w3.org/TR/html5/syntax.html#before-doctype-public-identifier-state. The DOCTYPE public identifier quoted state as described at http://www.w3.org/TR/html5/syntax.html#doctype-public-identifier-(double-quoted)-state. The after DOCTYPE public identifier state as described at http://www.w3.org/TR/html5/syntax.html#after-doctype-public-identifier-state. The between DOCTYPE public and system identifiers state as described at http://www.w3.org/TR/html5/syntax.html#between-doctype-public-and-system-identifiers-state. The after DOCTYPE system keyword state as described at http://www.w3.org/TR/html5/syntax.html#after-doctype-system-keyword-state. The before DOCTYPE system identifier state as described at http://www.w3.org/TR/html5/syntax.html#before-doctype-system-identifier-state. The DOCTYPE system identifier quoted state as described at http://www.w3.org/TR/html5/syntax.html#doctype-system-identifier-(double-quoted)-state. The after DOCTYPE system identifier state as described at http://www.w3.org/TR/html5/syntax.html#after-doctype-system-identifier-state. The bogus DOCTYPE state as described at http://www.w3.org/TR/html5/syntax.html#bogus-doctype-state. The CDATA section state as described at http://www.w3.org/TR/html5/syntax.html#cdata-section-state. The end of file state. The kinds of tokens that the can emit. The kinds of tokens that the can emit. A token consisting of [CDATA[. An HTML comment token. A token consisting of character data. An HTML DOCTYPE token. A token consisting of script data. An HTML tag token. A collection of HTML-related utility methods. A collection of HTML-related utility methods. Encode an HTML attribute value. Encodes an HTML attribute value. The to output the result. The attribute value to encode. The starting index of the attribute value. The number of characters in the attribute value. The character to use for quoting the attribute value. is null. -or- is null. and do not specify a valid range in the value. is not a valid quote character. Encode an HTML attribute value. Encodes an HTML attribute value. The encoded attribute value. The attribute value to encode. The starting index of the attribute value. The number of characters in the attribute value. The character to use for quoting the attribute value. is null. and do not specify a valid range in the value. is not a valid quote character. Encode an HTML attribute value. Encodes an HTML attribute value. The to output the result. The attribute value to encode. The starting index of the attribute value. The number of characters in the attribute value. The character to use for quoting the attribute value. is null. -or- is null. and do not specify a valid range in the value. is not a valid quote character. Encode an HTML attribute value. Encodes an HTML attribute value. The to output the result. The attribute value to encode. The character to use for quoting the attribute value. is null. -or- is null. is not a valid quote character. Encode an HTML attribute value. Encodes an HTML attribute value. The encoded attribute value. The attribute value to encode. The starting index of the attribute value. The number of characters in the attribute value. The character to use for quoting the attribute value. is null. and do not specify a valid range in the value. is not a valid quote character. Encode an HTML attribute value. Encodes an HTML attribute value. The encoded attribute value. The attribute value to encode. The character to use for quoting the attribute value. is null. is not a valid quote character. Encode HTML character data. Encodes HTML character data. The to output the result. The character data to encode. The starting index of the character data. The number of characters in the data. is null. -or- is null. and do not specify a valid range in the data. Encode HTML character data. Encodes HTML character data. THe encoded character data. The character data to encode. The starting index of the character data. The number of characters in the data. is null. and do not specify a valid range in the data. Encode HTML character data. Encodes HTML character data. The to output the result. The character data to encode. The starting index of the character data. The number of characters in the data. is null. -or- is null. and do not specify a valid range in the data. Encode HTML character data. Encodes HTML character data. The to output the result. The character data to encode. is null. -or- is null. Encode HTML character data. Encodes HTML character data. THe encoded character data. The character data to encode. The starting index of the character data. The number of characters in the data. is null. and do not specify a valid range in the data. Encode HTML character data. Encodes HTML character data. THe encoded character data. The character data to encode. is null. Decode HTML character data. Decodes HTML character data. The to output the result. The character data to decode. The starting index of the character data. The number of characters in the data. is null. -or- is null. and do not specify a valid range in the data. Decode HTML character data. Decodes HTML character data. The to output the result. The character data to decode. is null. -or- is null. Decode HTML character data. Decodes HTML character data. The decoded character data. The character data to decode. The starting index of the character data. The number of characters in the data. is null. and do not specify a valid range in the data. Decode HTML character data. Decodes HTML character data. The decoded character data. The character data to decode. is null. An HTML writer. An HTML writer. Initializes a new instance of the class. Creates a new . The output stream. The encoding to use for the output. is null. -or- is null. Initializes a new instance of the class. Creates a new . The output text writer. is null. Releas unmanaged resources and perform other cleanup operations before the is reclaimed by garbage collection. Releases unmanaged resources and performs other cleanup operations before the is reclaimed by garbage collection. Get the current state of the writer. Gets the current state of the writer. The state of the writer. Write the attribute to the output stream. Writes the attribute to the output stream. The attribute identifier. A buffer containing the attribute value. The starting index of the attribute value. The number of characters in the attribute value. is not a valid HTML attribute identifier. is null. is less than zero or greater than the length of . -or- and do not specify a valid range in the . The is not in a state that allows writing attributes. The has been disposed. Write the attribute to the output stream. Writes the attribute to the output stream. The attribute name. A buffer containing the attribute value. The starting index of the attribute value. The number of characters in the attribute value. is null. -or- is null. is less than zero or greater than the length of . -or- and do not specify a valid range in the . is an invalid attribute name. The is not in a state that allows writing attributes. The has been disposed. Write the attribute to the output stream. Writes the attribute to the output stream. The attribute identifier. The attribute value. is not a valid HTML attribute identifier. is null. The is not in a state that allows writing attributes. The has been disposed. Write the attribute to the output stream. Writes the attribute to the output stream. The attribute name. The attribute value. is null. -or- is null. is an invalid attribute name. The is not in a state that allows writing attributes. The has been disposed. Write the attribute to the output stream. Writes the attribute to the output stream. The attribute. is null. The is not in a state that allows writing attributes. The has been disposed. Write the attribute name to the output stream. Writes the attribute name to the output stream. The attribute identifier. is not a valid HTML attribute identifier. The is not in a state that allows writing attributes. The has been disposed. Write the attribute name to the output stream. Writes the attribute name to the output stream. The attribute name. is null. is an invalid attribute name. The is not in a state that allows writing attributes. The has been disposed. Write the attribute value to the output stream. Writes the attribute value to the output stream. A buffer containing the attribute value. The starting index of the attribute value. The number of characters in the attribute value. is null. is less than zero or greater than the length of . -or- and do not specify a valid range in the . The is not in a state that allows writing attribute values. The has been disposed. Write the attribute value to the output stream. Writes the attribute value to the output stream. The attribute value. is null. The is not in a state that allows writing attribute values. The has been disposed. Write an empty element tag. Writes an empty element tag. The HTML tag identifier. is not a valid HTML tag identifier. The has been disposed. Write an empty element tag. Writes an empty element tag. The name of the HTML tag. is null. is not a valid HTML tag. The has been disposed. Write an end tag. Writes an end tag. The HTML tag identifier. is not a valid HTML tag identifier. The has been disposed. Write an end tag. Writes an end tag. The name of the HTML tag. is null. is not a valid HTML tag. The has been disposed. Write a buffer containing HTML markup directly to the output, without escaping special characters. Writes a buffer containing HTML markup directly to the output, without escaping special characters. The buffer containing HTML markup. The index of the first character to write. The number of characters to write. is null. is less than zero or greater than the length of . -or- and do not specify a valid range in the . The has been disposed. Write a string containing HTML markup directly to the output, without escaping special characters. Writes a string containing HTML markup directly to the output, without escaping special characters. The string containing HTML markup. is null. The has been disposed. Write a start tag. Writes a start tag. The HTML tag identifier. is not a valid HTML tag identifier. The has been disposed. Write a start tag. Writes a start tag. The name of the HTML tag. is null. is not a valid HTML tag. The has been disposed. Write text to the output stream, escaping special characters. Writes text to the output stream, escaping special characters. The text buffer. The index of the first character to write. The number of characters to write. is null. is less than zero or greater than the length of . -or- and do not specify a valid range in the . The has been disposed. Write text to the output stream, escaping special characters. Writes text to the output stream, escaping special characters. The text. is null. The has been disposed. Write text to the output stream, escaping special characters. Writes text to the output stream, escaping special characters. A composit format string. An object array that contains zero or more objects to format. is null. -or- is null. The has been disposed. Write a token to the output stream. Writes a token that was emitted by the to the output stream. The HTML token. is null. The has been disposed. Flush any remaining state to the output stream. Flushes any remaining state to the output stream. The has been disposed. Releases the unmanaged resources used by the and optionally releases the managed resources. Releases any unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only the unmanaged resources. Releases all resource used by the object. Call when you are finished using the . The method leaves the in an unusable state. After calling , you must release all references to the so the garbage collector can reclaim the memory that the was occupying. An enumeration of possible states of a . An enumeration of possible states of a . The is not within a tag. In this state, the can only write a tag or text. The is inside a tag but has not started to write an attribute. In this state, the can write an attribute, another tag, or text. The is inside an attribute. In this state, the can append a value to the current attribute, start the next attribute, or write another tag or text. An abstract class for converting text from one format to another. An abstract class for converting text from one format to another. Initializes a new instance of the class. Initializes a new instance of the class. Get or set whether the encoding of the input is detected from the byte order mark or determined by the property. Gets or sets whether the encoding of the input is detected from the byte order mark or determined by the property. true if detect encoding from byte order mark; otherwise, false. Get or set the input encoding. Gets or sets the input encoding. The input encoding. is null. Get the input format. Gets the input format. The input format. Get or set the output encoding. Gets or sets the output encoding. The output encoding. is null. Get the output format. Gets the output format. The output format. Get or set the size of the input stream buffer. Gets or sets the size of the input stream buffer. The size of the input stream buffer. is less than or equal to 0. Get or set the size of the output stream buffer. Gets or sets the size of the output stream buffer. The size of the output stream buffer. is less than or equal to 0. Get or set the text that will be appended to the end of the output. Gets or sets the text that will be appended to the end of the output. The footer must be set before conversion begins. The footer. Get or set text that will be prepended to the beginning of the output. Gets or sets the text that will be prepended to the beginning of the output. The header must be set before conversion begins. The header. Convert the contents of from the to the and writes the resulting text to . Converts the contents of from the to the and writes the resulting text to . The source stream. The destination stream. is null. -or- is null. Convert the contents of from the to the and uses the to write the resulting text. Converts the contents of from the to the and uses the to write the resulting text. The source stream. The text writer. is null. -or- is null. Convert the contents of from the to the and writes the resulting text to . Converts the contents of from the to the and writes the resulting text to . The text reader. The destination stream. is null. -or- is null. Convert the contents of from the to the and uses the to write the resulting text. Converts the contents of from the to the and uses the to write the resulting text. The text reader. The text writer. is null. -or- is null. Convert text from the to the . Converts text from the to the . The converted text. The text to convert. is null. An enumeration of text formats. An enumeration of text formats. The plain text format. An alias for the plain text format. The flowed text format (as described in rfc3676). The HTML text format. The enriched text format. The compressed rich text format. The rich text format. A text to flowed text converter. Wraps text to conform with the flowed text format described in rfc3676. The Content-Type header for the wrapped output text should be set to text/plain; format=flowed; delsp=yes. Initializes a new instance of the class. Creates a new text to flowed text converter. Get the input format. Gets the input format. The input format. Get the output format. Gets the output format. The output format. Convert the contents of from the to the and uses the to write the resulting text. Converts the contents of from the to the and uses the to write the resulting text. The text reader. The text writer. is null. -or- is null. A text to HTML converter. Used to convert plain text into HTML. Initializes a new instance of the class. Creates a new text to HTML converter. Get the input format. Gets the input format. The input format. Get the output format. Gets the output format. The output format. Get or set the footer format. Gets or sets the footer format. The footer format. Get or set the header format. Gets or sets the header format. The header format. Get or set the method to use for custom filtering of HTML tags and content. Get or set the method to use for custom filtering of HTML tags and content. The html tag callback. Get or set whether or not the converter should only output an HTML fragment. Gets or sets whether or not the converter should only output an entire HTML document or just a fragment of the HTML body content. true if the converter should only output an HTML fragment; otherwise, false. Convert the contents of from the to the and uses the to write the resulting text. Converts the contents of from the to the and uses the to write the resulting text. The text reader. The text writer. is null. -or- is null. A text to text converter. A text to text converter. Initializes a new instance of the class. Creates a new text to text converter. Get the input format. Gets the input format. The input format. Get the output format. Gets the output format. The output format. Convert the contents of from the to the and uses the to write the resulting text. Converts the contents of from the to the and uses the to write the resulting text. The text reader. The text writer. is null. -or- is null. An Aho-Corasick Trie graph. An Aho-Corasick Trie graph. Initializes a new instance of the class. Creates a new . true if searching should ignore case; otherwise, false. Initializes a new instance of the class. Creates a new . Add the specified search pattern. Adds the specified search pattern. The search pattern. is null. cannot be an empty string. Search the text for any of the patterns added to the trie. Searches the text for any of the patterns added to the trie. The first index of a matched pattern if successful; otherwise, -1. The text to search. The starting index of the text. The number of characters to search, starting at . The pattern that was matched. is null. and do not specify a valid range in the string. Search the text for any of the patterns added to the trie. Searches the text for any of the patterns added to the trie. The first index of a matched pattern if successful; otherwise, -1. The text to search. The starting index of the text. The pattern that was matched. is null. is out of range. Search the text for any of the patterns added to the trie. Searches the text for any of the patterns added to the trie. The first index of a matched pattern if successful; otherwise, -1. The text to search. The pattern that was matched. is null. A filter to decompress a compressed RTF stream. Used to decompress a compressed RTF stream. Initializes a new instance of the class. Creates a new converter filter. Gets the compression mode. At least 12 bytes from the stream must be processed before this property value will be accurate. The compression mode. Gets a value indicating whether the crc32 is valid. Until all data has been processed, this property will always return false. true if the crc32 is valid; otherwise, false. Filter the specified input. Filters the specified input buffer starting at the given index, spanning across the specified number of bytes. The filtered output. The input buffer. The starting index of the input buffer. Length. Output index. Output length. If set to true flush. Resets the filter. Resets the filter. A RTF compression mode. A RTF compression mode. The compression mode is not known. The RTF stream is not compressed. The RTF stream is compressed. The TNEF attach flags. The enum contains a list of possible values for the property. No AttachFlags set. The attachment is invisible in HTML bodies. The attachment is invisible in RTF bodies. The attachment is referenced (and rendered) by the HTML body. The TNEF attach method. The enum contains a list of possible values for the property. No AttachMethod specified. The attachment is a binary blob and SHOULD appear in the attribute. The attachment is an embedded TNEF message stream and MUST appear in the property of the attribute. The attachment is an OLE stream and MUST appear in the property of the attribute. A TNEF attribute level. A TNEF attribute level. The attribute is a message-level attribute. The attribute is an attachment-level attribute. A TNEF attribute tag. A TNEF attribute tag. A Null TNEF attribute. The Owner TNEF attribute. The SentFor TNEF attribute. The Delegate TNEF attribute. The OriginalMessageClass TNEF attribute. The DateStart TNEF attribute. The DateEnd TNEF attribute. The AidOwner TNEF attribute. The RequestResponse TNEF attribute. The From TNEF attribute. The Subject TNEF attribute. The DateSent TNEF attribute. The DateReceived TNEF attribute. The MessageStatus TNEF attribute. The MessageClass TNEF attribute. The MessageId TNEF attribute. The ParentId TNEF attribute. The ConversationId TNEF attribute. The Body TNEF attribute. The Priority TNEF attribute. The AttachData TNEF attribute. The AttachTitle TNEF attribute. The AttachMetaFile TNEF attribute. The AttachCreateDate TNEF attribute. The AttachModifyDate TNEF attribute. The DateModified TNEF attribute. The AttachTransportFilename TNEF attribute. The AttachRenderData TNEF attribute. The MapiProperties TNEF attribute. The RecipientTable TNEF attribute. The Attachment TNEF attribute. The TnefVersion TNEF attribute. The OemCodepage TNEF attribute. A TNEF compliance mode. A TNEF compliance mode. Use a loose compliance mode, attempting to ignore invalid or corrupt data. Use a very strict compliance mode, aborting the parser at the first sign of invalid or corrupted data. A bitfield of potential TNEF compliance issues. A bitfield of potential TNEF compliance issues. The TNEF stream has no errors. The TNEF stream has too many attributes. The TNEF stream has one or more invalid attributes. The TNEF stream has one or more attributes with invalid checksums. The TNEF stream has one more more attributes with an invalid length. The TNEF stream has one or more attributes with an invalid level. The TNEF stream has one or more attributes with an invalid value. The TNEF stream has one or more attributes with an invalid date value. The TNEF stream has one or more invalid MessageClass attributes. The TNEF stream has one or more invalid MessageCodepage attributes. The TNEF stream has one or more invalid property lengths. The TNEF stream has one or more invalid row counts. The TNEF stream has an invalid signature value. The TNEF stream has an invalid version value. The TNEF stream is nested too deeply. The TNEF stream is truncated. The TNEF stream has one or more unsupported property types. A TNEF exception. A occurs when when a TNEF stream is found to be corrupted and cannot be read any futher. Initializes a new instance of the class. Creates a new . The serialization info. The stream context. is null. Initializes a new instance of the class. Creates a new . The compliance status error. The error message. The inner exception. Initializes a new instance of the class. Creates a new . The compliance status error. The error message. When overridden in a derived class, sets the with information about the exception. Sets the with information about the exception. The serialization info. The streaming context. is null. Get the error. Gets the error. The error. A TNEF name identifier. A TNEF name identifier. Gets the property set GUID. Gets the property set GUID. The property set GUID. Gets the kind of TNEF name identifier. Gets the kind of TNEF name identifier. The kind of identifier. Gets the name, if available. If the is , then this property will be available. The name. Gets the identifier, if available. If the is , then this property will be available. The identifier. Initializes a new instance of the struct. Creates a new with the specified integer identifier. The property set GUID. The identifier. Initializes a new instance of the struct. Creates a new with the specified string identifier. The property set GUID. The name. Serves as a hash function for a object. Serves as a hash function for a object. A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a hash table. Determines whether the specified is equal to the current . Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. The kind of TNEF name identifier. The kind of TNEF name identifier. The property name is an integer. The property name is a string. A MIME part containing Microsoft TNEF data. Represents an application/ms-tnef or application/vnd.ms-tnef part. TNEF (Transport Neutral Encapsulation Format) attachments are most often sent by Microsoft Outlook clients. Initializes a new instance of the class. This constructor is used by . Information used by the constructor. is null. Initializes a new instance of the class. Creates a new with a Content-Type of application/vnd.ms-tnef and a Content-Disposition value of "attachment" and a filename paremeter with a value of "winmail.dat". Converts the TNEF content into a . TNEF data often contains properties that map to headers. TNEF data also often contains file attachments which will be mapped to MIME parts. A message representing the TNEF data in MIME format. The property is null. Extracts the embedded attachments from the TNEF data. Parses the TNEF data and extracts all of the embedded file attachments. The attachments. The property is null. A TNEF property identifier. A TNEF property identifier. The MAPI property PR_AB_DEFAULT_DIR. The MAPI property PR_AB_DEFAULT_PAB. The MAPI property PR_AB_PROVIDER_ID. The MAPI property PR_AB_PROVIDERS. The MAPI property PR_AB_SEARCH_PATH. The MAPI property PR_AB_SEARCH_PATH_UPDATE. The MAPI property PR_ACCESS. The MAPI property PR_ACCESS_LEVEL. The MAPI property PR_ACCOUNT. The MAPI property PR_ACKNOWLEDGEMENT_MODE. The MAPI property PR_ADDRTYPE. The MAPI property PR_ALTERNATE_RECIPIENT. The MAPI property PR_ALTERNATE_RECIPIENT_ALLOWED. The MAPI property PR_ANR. The MAPI property PR_ASSISTANT. The MAPI property PR_ASSISTANT_TELEPHONE_NUMBER. The MAPI property PR_ASSOC_CONTENT_COUNT. The MAPI property PR_ATTACH_ADDITIONAL_INFO. The MAPI property PR_ATTACH_CONTENT_BASE. The MAPI property PR_ATTACH_CONTENT_ID. The MAPI property PR_ATTACH_CONTENT_LOCATION. The MAPI property PR_ATTACH_DATA_BIN or PR_ATTACH_DATA_OBJ. The MAPI property PR_ATTACH_DISPOSITION. The MAPI property PR_ATTACH_ENCODING. The MAPI property PR_ATTACH_EXTENSION. The MAPI property PR_ATTACH_FILENAME. The MAPI property PR_ATTACH_FLAGS. The MAPI property PR_ATTACH_LONG_FILENAME. The MAPI property PR_ATTACH_LONG_PATHNAME. The MAPI property PR_ATTACHMENT_X400_PARAMETERS. The MAPI property PR_ATTACH_METHOD. The MAPI property PR_ATTACH_MIME_SEQUENCE. The MAPI property PR_ATTACH_MIME_TAG. The MAPI property PR_ATTACH_NETSCAPE_MAC_INFO. The MAPI property PR_ATTACH_NUM. The MAPI property PR_ATTACH_PATHNAME. The MAPI property PR_ATTACH_RENDERING. The MAPI property PR_ATTACH_SIZE. The MAPI property PR_ATTACH_TAG. The MAPI property PR_ATTACH_TRANSPORT_NAME. The MAPI property PR_AUTHORIZING_USERS. The MAPI property PR_AUTO_FORWARDED. The MAPI property PR_AUTO_FORWARDING_COMMENT. The MAPI property PR_AUTO_RESPONSE_SUPPRESS. The MAPI property PR_BEEPER_TELEPHONE_NUMBER. The MAPI property PR_BIRTHDAY. The MAPI property PR_BODY. The MAPI property PR_BODY_CONTENT_ID. The MAPI property PR_BODY_CONTENT_LOCATION. The MAPI property PR_BODY_CRC. The MAPI property PR_BODY_HTML. The MAPI property PR_BUSINESS2_TELEPHONE_NUMBER. The MAPI property PR_BUSINESS_ADDRESS_CITY. The MAPI property PR_BUSINESS_ADDRESS_COUNTRY. The MAPI property PR_BUSINESS_ADDRESS_POSTAL_CODE. The MAPI property PR_BUSINESS_ADDRESS_POST_OFFICE_BOX. The MAPI property PR_BUSINESS_ADDRESS_STATE_OR_PROVINCE. The MAPI property PR_BUSINESS_ADDRESS_STREET. The MAPI property PR_BUSINESS_FAX_NUMBER. The MAPI property PR_BUSINESS_HOME_PAGE. The MAPI property PR_CALLBACK_TELEPHONE_NUMBER. The MAPI property PR_CAR_TELEPHONE_NUMBER. The MAPI property PR_CELLULAR_TELEPHONE_NUMBER. The MAPI property PR_CHILDRENS_NAMES. The MAPI property PR_CLIENT_SUBMIT_TIME. The MAPI property PR_COMMENT. The MAPI property PR_COMMON_VIEWS_ENTRYID. The MAPI property PR_COMPANY_MAIN_PHONE_NUMBER. The MAPI property PR_COMPANY_NAME. The MAPI property PR_COMPUTER_NETWORK_NAME. The MAPI property PR_CONTACT_ADDRTYPES. The MAPI property PR_CONTACT_DEFAULT_ADDRESS_INDEX. The MAPI property PR_CONTACT_EMAIL_ADDRESSES. The MAPI property PR_CONTACT_ENTRYIDS. The MAPI property PR_CONTACT_VERSION. The MAPI property PR_CONTAINER_CLASS. The MAPI property PR_CONTAINER_CONTENTS. The MAPI property PR_CONTAINER_FLAGS. The MAPI property PR_CONTAINER_HIERARCHY. The MAPI property PR_CONTAINER_MODIFY_VERSION. The MAPI property PR_CONTENT_CONFIDENTIALITY_ALGORITHM_ID. The MAPI property PR_CONTENT_CORRELATOR. The MAPI property PR_CONTENT_COUNT. The MAPI property PR_CONTENT_IDENTIFIER. The MAPI property PR_CONTENT_INTEGRITY_CHECK. The MAPI property PR_CONTENT_LENGTH. The MAPI property PR_CONTENT_RETURN_REQUESTED. The MAPI property PR_CONTENTS_SORT_ORDER. The MAPI property PR_CONTENT_UNREAD. The MAPI property PR_CONTROL_FLAGS. The MAPI property PR_CONTROL_ID. The MAPI property PR_CONTROL_STRUCTURE. The MAPI property PR_CONTROL_TYPE. The MAPI property PR_CONVERSATION_INDEX. The MAPI property PR_CONVERSATION_KEY. The MAPI property PR_CONVERSATION_TOPIC. The MAPI property PR_CONVERSATION_EITS. The MAPI property PR_CONVERSION_PROHIBITED. The MAPI property PR_CONVERSION_WITH_LOSS_PROHIBITED. The MAPI property PR_CONVERTED_EITS. The MAPI property PR_CORRELATE. The MAPI property PR_CORRELATE_MTSID. The MAPI property PR_COUNTRY. The MAPI property PR_CREATE_TEMPLATES. The MAPI property PR_CREATION_TIME. The MAPI property PR_CREATION_VERSION. The MAPI property PR_CURRENT_VERSION. The MAPI property PR_CUSTOMER_ID. The MAPI property PR_DEFAULT_PROFILE. The MAPI property PR_DEFAULT_STORE. The MAPI property PR_DEFAULT_VIEW_ENTRYID. The MAPI property PR_DEF_CREATE_DL. The MAPI property PR_DEF_CREATE_MAILUSER. The MAPI property PR_DEFERRED_DELIVERY_TIME. The MAPI property PR_DELEGATION. The MAPI property PR_DELETE_AFTER_SUBMIT. The MAPI property PR_DELIVER_TIME. The MAPI property PR_DELIVERY_POINT. The MAPI property PR_DELTAX. The MAPI property PR_DELTAY. The MAPI property PR_DEPARTMENT_NAME. The MAPI property PR_DEPTH. The MAPI property PR_DETAILS_TABLE. The MAPI property PR_DISCARD_REASON. The MAPI property PR_DISCLOSE_RECIPIENTS. The MAPI property PR_DISCLOSURE_OF_RECIPIENTS. The MAPI property PR_DISCRETE_VALUES. The MAPI property PR_DISC_VAL. The MAPI property PR_DISPLAY_BCC. The MAPI property PR_DISPLAY_CC. The MAPI property PR_DISPLAY_NAME. The MAPI property PR_DISPLAY_NAME_PREFIX. The MAPI property PR_DISPLAY_TO. The MAPI property PR_DISPLAY_TYPE. The MAPI property PR_DL_EXPANSION_HISTORY. The MAPI property PR_DL_EXPANSION_PROHIBITED. The MAPI property PR_EMAIL_ADDRESS. The MAPI property PR_END_DATE. The MAPI property PR_ENTRYID. The MAPI property PR_EXPAND_BEGIN_TIME. The MAPI property PR_EXPANDED_BEGIN_TIME. The MAPI property PR_EXPANDED_END_TIME. The MAPI property PR_EXPAND_END_TIME. The MAPI property PR_EXPIRY_TIME. The MAPI property PR_EXPLICIT_CONVERSION. The MAPI property PR_FILTERING_HOOKS. The MAPI property PR_FINDER_ENTRYID. The MAPI property PR_FOLDER_ASSOCIATED_CONTENTS. The MAPI property PR_FOLDER_TYPE. The MAPI property PR_FORM_CATEGORY. The MAPI property PR_FORM_CATEGORY_SUB. The MAPI property PR_FORM_CLSID. The MAPI property PR_FORM_CONTACT_NAME. The MAPI property PR_FORM_DESIGNER_GUID. The MAPI property PR_FORM_DESIGNER_NAME. The MAPI property PR_FORM_HIDDEN. The MAPI property PR_FORM_HOST_MAP. The MAPI property PR_FORM_MESSAGE_BEHAVIOR. The MAPI property PR_FORM_VERSION. The MAPI property PR_FTP_SITE. The MAPI property PR_GENDER. The MAPI property PR_GENERATION. The MAPI property PR_GIVEN_NAME. The MAPI property PR_GOVERNMENT_ID_NUMBER. The MAPI property PR_HASTTACH. The MAPI property PR_HEADER_FOLDER_ENTRYID. The MAPI property PR_HOBBIES. The MAPI property PR_HOME2_TELEPHONE_NUMBER. The MAPI property PR_HOME_ADDRESS_CITY. The MAPI property PR_HOME_ADDRESS_COUNTRY. The MAPI property PR_HOME_ADDRESS_POSTAL_CODE. The MAPI property PR_HOME_ADDRESS_POST_OFFICE_BOX. The MAPI property PR_HOME_ADDRESS_STATE_OR_PROVINCE. The MAPI property PR_HOME_ADDRESS_STREET. The MAPI property PR_HOME_FAX_NUMBER. The MAPI property PR_HOME_TELEPHONE_NUMBER. The MAPI property PR_ICON. The MAPI property PR_IDENTITY_DISPLAY. The MAPI property PR_IDENTITY_ENTRYID. The MAPI property PR_IDENTITY_SEARCH_KEY. The MAPI property PR_IMPLICIT_CONVERSION_PROHIBITED. The MAPI property PR_IMPORTANCE. The MAPI property PR_INCOMPLETE_COPY. The Internet mail override charset. The Internet mail override format. The MAPI property PR_INITIAL_DETAILS_PANE. The MAPI property PR_INITIALS. The MAPI property PR_IN_REPLY_TO_ID. The MAPI property PR_INSTANCE_KEY. The MAPI property PR_INTERNET_APPROVED. The MAPI property PR_INTERNET_ARTICLE_NUMBER. The MAPI property PR_INTERNET_CONTROL. The MAPI property PR_INTERNET_CPID. The MAPI property PR_INTERNET_DISTRIBUTION. The MAPI property PR_INTERNET_FOLLOWUP_TO. The MAPI property PR_INTERNET_LINES. The MAPI property PR_INTERNET_MESSAGE_ID. The MAPI property PR_INTERNET_NEWSGROUPS. The MAPI property PR_INTERNET_NNTP_PATH. The MAPI property PR_INTERNET_ORGANIZATION. The MAPI property PR_INTERNET_PRECEDENCE. The MAPI property PR_INTERNET_REFERENCES. The MAPI property PR_IPM_ID. The MAPI property PR_IPM_OUTBOX_ENTRYID. The MAPI property PR_IPM_OUTBOX_SEARCH_KEY. The MAPI property PR_IPM_RETURN_REQUESTED. The MAPI property PR_IPM_SENTMAIL_ENTRYID. The MAPI property PR_IPM_SENTMAIL_SEARCH_KEY. The MAPI property PR_IPM_SUBTREE_ENTRYID. The MAPI property PR_IPM_SUBTREE_SEARCH_KEY. The MAPI property PR_IPM_WASTEBASKET_ENTRYID. The MAPI property PR_IPM_WASTEBASKET_SEARCH_KEY. The MAPI property PR_ISDN_NUMBER. The MAPI property PR_KEYWORD. The MAPI property PR_LANGUAGE. The MAPI property PR_LANGUAGES. The MAPI property PR_LAST_MODIFICATION_TIME. The MAPI property PR_LATEST_DELIVERY_TIME. The MAPI property PR_LIST_HELP. The MAPI property PR_LIST_SUBSCRIBE. The MAPI property PR_LIST_UNSUBSCRIBE. The MAPI property PR_LOCALITY. The MAPI property PR_LOCALLY_DELIVERED. The MAPI property PR_LOCATION. The MAPI property PR_LOCK_BRANCH_ID. The MAPI property PR_LOCK_DEPTH. The MAPI property PR_LOCK_ENLISTMENT_CONTEXT. The MAPI property PR_LOCK_EXPIRY_TIME. The MAPI property PR_LOCK_PERSISTENT. The MAPI property PR_LOCK_RESOURCE_DID. The MAPI property PR_LOCK_RESOURCE_FID. The MAPI property PR_LOCK_RESOURCE_MID. The MAPI property PR_LOCK_SCOPE. The MAPI property PR_LOCK_TIMEOUT. The MAPI property PR_LOCK_TYPE. The MAPI property PR_MAIL_PERMISSION. The MAPI property PR_MANAGER_NAME. The MAPI property PR_MAPPING_SIGNATURE. The MAPI property PR_MDB_PROVIDER. The MAPI property PR_MESSAGE_ATTACHMENTS. The MAPI property PR_MESSAGE_CC_ME. The MAPI property PR_MESSAGE_CLASS. The MAPI property PR_MESSAGE_CODEPAGE. The MAPI property PR_MESSAGE_DELIVERY_ID. The MAPI property PR_MESSAGE_DELIVERY_TIME. The MAPI property PR_MESSAGE_DOWNLOAD_TIME. The MAPI property PR_MESSAGE_FLAGS. The MAPI property PR_MESSAGE_RECIPIENTS. The MAPI property PR_MESSAGE_RECIP_ME. The MAPI property PR_MESSAGE_SECURITY_LABEL. The MAPI property PR_MESSAGE_SIZE. The MAPI property PR_MESSAGE_SUBMISSION_ID. The MAPI property PR_MESSAGE_TOKEN. The MAPI property PR_MESSAGE_TO_ME. The MAPI property PR_MHS_COMMON_NAME. The MAPI property PR_MIDDLE_NAME. The MAPI property PR_MINI_ICON. The MAPI property PR_MOBILE_TELEPHONE_NUMBER. The MAPI property PR_MODIFY_VERSION. The MAPI property PR_MSG_STATUS. The MAPI property PR_NDR_DIAG_CODE. The MAPI property PR_NDR_REASON_CODE. The MAPI property PR_NDR_STATUS_CODE. The MAPI property PR_NEWSGROUP_NAME. The MAPI property PR_NICKNAME. The MAPI property PR_NNTP_XREF. The MAPI property PR_NON_RECEIPT_NOTIFICATION_REQUESTED. The MAPI property PR_NON_RECEIPT_REASON. The MAPI property PR_NORMALIZED_SUBJECT. The MAPI property PR_NT_SECURITY_DESCRIPTOR. The MAPI property PR_NULL. The MAPI property PR_OBJECT_TYPE. The MAPI property PR_OBSOLETE_IPMS. The MAPI property PR_OFFICE2_TELEPHONE_NUMBER. The MAPI property PR_OFFICE_LOCATION. The MAPI property PR_OFFICE_TELEPHONE_NUMBER. The MAPI property PR_OOF_REPLY_TIME. The MAPI property PR_ORGANIZATIONAL_ID_NUMBER. The MAPI property PR_ORIG_ENTRYID. The MAPI property PR_ORIGINAL_AUTHOR_ADDRTYPE. The MAPI property PR_ORIGINAL_AUTHOR_EMAIL_ADDRESS. The MAPI property PR_ORIGINAL_AUTHOR_ENTRYID. The MAPI property PR_ORIGINAL_AUTHOR_NAME. The MAPI property PR_ORIGINAL_AUTHOR_SEARCH_KEY. The MAPI property PR_ORIGINAL_DELIVERY_TIME. The MAPI property PR_ORIGINAL_DISPLAY_BCC. The MAPI property PR_ORIGINAL_DISPLAY_CC. The MAPI property PR_ORIGINAL_DISPLAY_NAME. The MAPI property PR_ORIGINAL_DISPLAY_TO. The MAPI property PR_ORIGINAL_EITS. The MAPI property PR_ORIGINAL_ENTRYID. The MAPI property PR_ORIGINALLY_INTENDED_RECIP_ADRTYPE. The MAPI property PR_ORIGINALLY_INTENDED_RECIP_EMAIL_ADDRESS. The MAPI property PR_ORIGINALLY_INTENDED_RECIP_ENTRYID. The MAPI property PR_ORIGINALLY_INTENDED_RECIPIENT_NAME. The MAPI property PR_ORIGINAL_SEARCH_KEY. The MAPI property PR_ORIGINAL_SENDER_ADDRTYPE. The MAPI property PR_ORIGINAL_SENDER_EMAIL_ADDRESS. The MAPI property PR_ORIGINAL_SENDER_ENTRYID. The MAPI property PR_ORIGINAL_SENDER_NAME. The MAPI property PR_ORIGINAL_SENDER_SEARCH_KEY. The MAPI property PR_ORIGINAL_SENSITIVITY. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_ADDRTYPE. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_EMAIL_ADDRESS. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_ENTRYID. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_NAME. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_SEARCH_KEY. The MAPI property PR_ORIGINAL_SUBJECT. The MAPI property PR_ORIGINAL_SUBMIT_TIME. The MAPI property PR_ORIGINATING_MTA_CERTIFICATE. The MAPI property PR_ORIGINATOR_AND_DL_EXPANSION_HISTORY. The MAPI property PR_ORIGINATOR_CERTIFICATE. The MAPI property PR_ORIGINATOR_DELIVERY_REPORT_REQUESTED. The MAPI property PR_ORIGINATOR_NON_DELIVERY_REPORT_REQUESTED. The MAPI property PR_ORIGINATOR_REQUESTED_ALTERNATE_RECIPIENT. The MAPI property PR_ORIGINATOR_RETURN_ADDRESS. The MAPI property PR_ORIGIN_CHECK. The MAPI property PR_ORIG_MESSAGE_CLASS. The MAPI property PR_OTHER_ADDRESS_CITY. The MAPI property PR_OTHER_ADDRESS_COUNTRY. The MAPI property PR_OTHER_ADDRESS_POSTAL_CODE. The MAPI property PR_OTHER_ADDRESS_POST_OFFICE_BOX. The MAPI property PR_OTHER_ADDRESS_STATE_OR_PROVINCE. The MAPI property PR_OTHER_ADDRESS_STREET. The MAPI property PR_OTHER_TELEPHONE_NUMBER. The MAPI property PR_OWNER_APPT_ID. The MAPI property PR_OWN_STORE_ENTRYID. The MAPI property PR_PAGER_TELEPHONE_NUMBER. The MAPI property PR_PARENT_DISPLAY. The MAPI property PR_PARENT_ENTRYID. The MAPI property PR_PARENT_KEY. The MAPI property PR_PERSONAL_HOME_PAGE. The MAPI property PR_PHYSICAL_DELIVERY_BUREAU_FAX_DELIVERY. The MAPI property PR_PHYSICAL_DELIVERY_MODE. The MAPI property PR_PHYSICAL_DELIVERY_REPORT_REQUEST. The MAPI property PR_PHYSICAL_FORWARDING_ADDRESS. The MAPI property PR_PHYSICAL_FORWARDING_ADDRESS_REQUESTED. The MAPI property PR_PHYSICAL_FORWARDING_PROHIBITED. The MAPI property PR_PHYSICAL_RENDITION_ATTRIBUTES. The MAPI property PR_POSTAL_ADDRESS. The MAPI property PR_POSTAL_CODE. The MAPI property PR_POST_FOLDER_ENTRIES. The MAPI property PR_POST_FOLDER_NAMES. The MAPI property PR_POST_OFFICE_BOX. The MAPI property PR_POST_REPLY_DENIED. The MAPI property PR_POST_REPLY_FOLDER_ENTRIES. The MAPI property PR_POST_REPLY_FOLDER_NAMES. The MAPI property PR_PREFERRED_BY_NAME. The MAPI property PR_PREPROCESS. The MAPI property PR_PRIMARY_CAPABILITY. The MAPI property PR_PRIMARY_FAX_NUMBER. The MAPI property PR_PRIMARY_TELEPHONE_NUMBER. The MAPI property PR_PRIORITY. The MAPI property PR_PROFESSION. The MAPI property PR_PROFILE_NAME. The MAPI property PR_PROOF_OF_DELIVERY. The MAPI property PR_PROOF_OF_DELIVERY_REQUESTED. The MAPI property PR_PROOF_OF_SUBMISSION. The MAPI property PR_PROOF_OF_SUBMISSION_REQUESTED. The MAPI property PR_PROP_ID_SECURE_MAX. The MAPI property PR_PROP_ID_SECURE_MIN. The MAPI property PR_PROVIDER_DISPLAY. The MAPI property PR_PROVIDER_DLL_NAME. The MAPI property PR_PROVIDER_ORDINAL. The MAPI property PR_PROVIDER_SUBMIT_TIME. The MAPI property PR_PROVIDER_UID. The MAPI property PR_PUID. The MAPI property PR_RADIO_TELEPHONE_NUMBER. The MAPI property PR_RCVD_REPRESENTING_ADDRTYPE. The MAPI property PR_RCVD_REPRESENTING_EMAIL_ADDRESS. The MAPI property PR_RCVD_REPRESENTING_ENTRYID. The MAPI property PR_RCVD_REPRESENTING_NAME. The MAPI property PR_RCVD_REPRESENTING_SEARCH_KEY. The MAPI property PR_READ_RECEIPT_ENTRYID. The MAPI property PR_READ_RECEIPT_REQUESTED. The MAPI property PR_READ_RECEIPT_SEARCH_KEY. The MAPI property PR_RECEIPT_TIME. The MAPI property PR_RECEIVED_BY_ADDRTYPE. The MAPI property PR_RECEIVED_BY_EMAIL_ADDRESS. The MAPI property PR_RECEIVED_BY_ENTRYID. The MAPI property PR_RECEIVED_BY_NAME. The MAPI property PR_RECEIVED_BY_SEARCH_KEY. The MAPI property PR_RECEIVE_FOLDER_SETTINGS. The MAPI property PR_RECIPIENT_CERTIFICATE. The MAPI property PR_RECIPIENT_NUMBER_FOR_ADVICE. The MAPI property PR_RECIPIENT_REASSIGNMENT_PROHIBITED. The MAPI property PR_RECIPIENT_STATUS. The MAPI property PR_RECIPIENT_TYPE. The MAPI property PR_RECORD_KEY. The MAPI property PR_REDIRECTION_HISTORY. The MAPI property PR_REFERRED_BY_NAME. The MAPI property PR_REGISTERED_MAIL_TYPE. The MAPI property PR_RELATED_IPMS. The MAPI property PR_REMOTE_PROGRESS. The MAPI property PR_REMOTE_PROGRESS_TEXT. The MAPI property PR_REMOTE_VALIDATE_OK. The MAPI property PR_RENDERING_POSITION. The MAPI property PR_REPLY_RECIPIENT_ENTRIES. The MAPI property PR_REPLY_RECIPIENT_NAMES. The MAPI property PR_REPLY_RECIPIENT_SMTP_PROXIES. The MAPI property PR_REPLY_REQUESTED. The MAPI property PR_REPLY_TIME. The MAPI property PR_REPORT_ENTRYID. The MAPI property PR_REPORTING_DLL_NAME. The MAPI property PR_REPORTING_MTA_CERTIFICATE. The MAPI property PR_REPORT_NAME. The MAPI property PR_REPORT_SEARCH_KEY. The MAPI property PR_REPORT_TAG. The MAPI property PR_REPORT_TEXT. The MAPI property PR_REPORT_TIME. The MAPI property PR_REQUESTED_DELIVERY_METHOD. The MAPI property PR_RESOURCE_FLAGS. The MAPI property PR_RESOURCE_METHODS. The MAPI property PR_RESOURCE_PATH. The MAPI property PR_RESOURCE_TYPE. The MAPI property PR_RESPONSE_REQUESTED. The MAPI property PR_RESPONSIBILITY. The MAPI property PR_RETURNED_IPM. The MAPI property PR_ROWID. The MAPI property PR_ROW_TYPE. The MAPI property PR_RTF_COMPRESSED. The MAPI property PR_RTF_IN_SYNC. The MAPI property PR_SYNC_BODY_COUNT. The MAPI property PR_RTF_SYNC_BODY_CRC. The MAPI property PR_RTF_SYNC_BODY_TAG. The MAPI property PR_RTF_SYNC_PREFIX_COUNT. The MAPI property PR_RTF_SYNC_TRAILING_COUNT. The MAPI property PR_SEARCH. The MAPI property PR_SEARCH_KEY. The MAPI property PR_SECURITY. The MAPI property PR_SELECTABLE. The MAPI property PR_SENDER_ADDRTYPE. The MAPI property PR_SENDER_EMAIL_ADDRESS. The MAPI property PR_SENDER_ENTRYID. The MAPI property PR_SENDER_NAME. The MAPI property PR_SENDER_SEARCH_KEY. The MAPI property PR_SENDER_SIMPLE_DISP_NAME. The MAPI property PR_SEND_INTERNET_ENCODING. The MAPI property PR_SEND_RECALL_REPORT. The MAPI property PR_SEND_RICH_INFO. The MAPI property PR_SENSITIVITY. The MAPI property PR_SENTMAIL_ENTRYID. The MAPI property PR_SENT_REPRESENTING_ADDRTYPE. The MAPI property PR_SENT_REPRESENTING_EMAIL_ADDRESS. The MAPI property PR_SENT_REPRESENTING_ENTRYID. The MAPI property PR_SENT_REPRESENTING_NAME. The MAPI property PR_SENT_REPRESENTING_SEARCH_KEY. The MAPI property PR_SENT_REPRESENTING_SIMPLE_DISP_NAME. The MAPI property PR_SERVICE_DELETE_FILES. The MAPI property PR_SERVICE_DLL_NAME. The MAPI property PR_SERVICE_ENTRY_NAME. The MAPI property PR_SERVICE_EXTRA_UIDS. The MAPI property PR_SERVICE_NAME. The MAPI property PR_SERVICES. The MAPI property PR_SERVICE_SUPPORT_FILES. The MAPI property PR_SERVICE_UID. The MAPI property PR_SEVEN_BIT_DISPLAY_NAME. The MAPI property PR_SMTP_ADDRESS. The MAPI property PR_SPOOLER_STATUS. The MAPI property PR_SPOUSE_NAME. The MAPI property PR_START_DATE. The MAPI property PR_STATE_OR_PROVINCE. The MAPI property PR_STATUS. The MAPI property PR_STATUS_CODE. The MAPI property PR_STATUS_STRING. The MAPI property PR_STORE_ENTRYID. The MAPI property PR_STORE_PROVIDERS. The MAPI property PR_STORE_RECORD_KEY. The MAPI property PR_STORE_STATE. The MAPI property PR_STORE_SUPPORT_MASK. The MAPI property PR_STREET_ADDRESS. The MAPI property PR_SUBFOLDERS. The MAPI property PR_SUBJECT. The MAPI property PR_SUBJECT_IPM. The MAPI property PR_SUBJECT_PREFIX. The MAPI property PR_SUBMIT_FLAGS. The MAPI property PR_SUPERSEDES. The MAPI property PR_SUPPLEMENTARY_INFO. The MAPI property PR_SURNAME. The MAPI property PR_TELEX_NUMBER. The MAPI property PR_TEMPLATEID. The MAPI property PR_TITLE. The MAPI property PR_TNEF_CORRELATION_KEY. The MAPI property PR_TRANSMITABLE_DISPLAY_NAME. The MAPI property PR_TRANSPORT_KEY. The MAPI property PR_TRANSPORT_MESSAGE_HEADERS. The MAPI property PR_TRANSPORT_PROVIDERS. The MAPI property PR_TRANSPORT_STATUS. The MAPI property PR_TTYTDD_PHONE_NUMBER. The MAPI property PR_TYPE_OF_MTS_USER. The MAPI property PR_USER_CERTIFICATE. The MAPI property PR_USER_X509_CERTIFICATE. The MAPI property PR_VALID_FOLDER_MASK. The MAPI property PR_VIEWS_ENTRYID. The MAPI property PR_WEDDING_ANNIVERSARY. The MAPI property PR_X400_CONTENT_TYPE. The MAPI property PR_X400_DEFERRED_DELIVERY_CANCEL. The MAPI property PR_XPOS. The MAPI property PR_YPOS. A TNEF property reader. A TNEF property reader. Gets a value indicating whether the current property is an embedded TNEF message. Gets a value indicating whether the current property is an embedded TNEF message. true if the current property is an embedded TNEF message; otherwise, false. Gets a value indicating whether or not the current property has multiple values. Gets a value indicating whether or not the current property has multiple values. true if the current property has multiple values; otherwise, false. Gets a value indicating whether or not the current property is a named property. Gets a value indicating whether or not the current property is a named property. true if the current property is a named property; otherwise, false. Gets a value indicating whether the current property contains object values. Gets a value indicating whether the current property contains object values. true if the current property contains object values; otherwise, false. Gets the number of properties available. Gets the number of properties available. The property count. Gets the property name identifier. Gets the property name identifier. The property name identifier. Gets the property tag. Gets the property tag. The property tag. Gets the length of the raw value. Gets the length of the raw value. The length of the raw value. Gets the raw value stream offset. Gets the raw value stream offset. The raw value stream offset. Gets the number of table rows available. Gets the number of table rows available. The row count. Gets the number of values available. Gets the number of values available. The value count. Gets the type of the value. Gets the type of the value. The type of the value. Gets the embedded TNEF message reader. Gets the embedded TNEF message reader. The embedded TNEF message reader. The property does not contain any more values. -or- The property value is not an embedded message. Gets the raw value of the attribute or property as a stream. Gets the raw value of the attribute or property as a stream. The raw value stream. The property does not contain any more values. Advances to the next MAPI property. Advances to the next MAPI property. true if there is another property available to be read; otherwise false. The TNEF data is corrupt or invalid. Advances to the next table row of properties. Advances to the next table row of properties. true if there is another row available to be read; otherwise false. The TNEF data is corrupt or invalid. Advances to the next value in the TNEF stream. Advances to the next value in the TNEF stream. true if there is another value available to be read; otherwise false. The TNEF data is corrupt or invalid. Reads the raw attribute or property value as a sequence of bytes. Reads the raw attribute or property value as a sequence of bytes. The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. The buffer to read data into. The offset into the buffer to start reading data. The number of bytes to read. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . An I/O error occurred. Reads the raw attribute or property value as a sequence of unicode characters. Reads the raw attribute or property value as a sequence of unicode characters. The total number of characters read into the buffer. This can be less than the number of characters requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. The buffer to read data into. The offset into the buffer to start reading data. The number of characters to read. is null. is less than zero or greater than the length of . -or- The is not large enough to contain characters starting at the specified . An I/O error occurred. Reads the value. Reads an attribute or property value as its native type. The value. There are no more values to read or the value could not be read. The TNEF stream is truncated and the value could not be read. Reads the value as a boolean. Reads any integer-based attribute or property value as a boolean. The value as a boolean. There are no more values to read or the value could not be read as a boolean. The TNEF stream is truncated and the value could not be read. Reads the value as a byte array. Reads any string, binary blob, Class ID, or Object attribute or property value as a byte array. The value as a byte array. There are no more values to read or the value could not be read as a byte array. The TNEF stream is truncated and the value could not be read. Reads the value as a date and time. Reads any date and time attribute or property value as a . The value as a date and time. There are no more values to read or the value could not be read as a date and time. The TNEF stream is truncated and the value could not be read. Reads the value as a double. Reads any numeric attribute or property value as a double. The value as a double. There are no more values to read or the value could not be read as a double. The TNEF stream is truncated and the value could not be read. Reads the value as a float. Reads any numeric attribute or property value as a float. The value as a float. There are no more values to read or the value could not be read as a float. The TNEF stream is truncated and the value could not be read. Reads the value as a GUID. Reads any Class ID value as a GUID. The value as a GUID. There are no more values to read or the value could not be read as a GUID. The TNEF stream is truncated and the value could not be read. Reads the value as a 16-bit integer. Reads any integer-based attribute or property value as a 16-bit integer. The value as a 16-bit integer. There are no more values to read or the value could not be read as a 16-bit integer. The TNEF stream is truncated and the value could not be read. Reads the value as a 32-bit integer. Reads any integer-based attribute or property value as a 32-bit integer. The value as a 32-bit integer. There are no more values to read or the value could not be read as a 32-bit integer. The TNEF stream is truncated and the value could not be read. Reads the value as a 64-bit integer. Reads any integer-based attribute or property value as a 64-bit integer. The value as a 64-bit integer. There are no more values to read or the value could not be read as a 64-bit integer. The TNEF stream is truncated and the value could not be read. Reads the value as a string. Reads any string or binary blob values as a string. The value as a string. There are no more values to read or the value could not be read as a string. The TNEF stream is truncated and the value could not be read. Reads the value as a Uri. Reads any string or binary blob values as a Uri. The value as a Uri. There are no more values to read or the value could not be read as a string. The TNEF stream is truncated and the value could not be read. Serves as a hash function for a object. Serves as a hash function for a object. A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a hash table. Determines whether the specified is equal to the current . Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. A TNEF property tag. A TNEF property tag. The MAPI property PR_AB_DEFAULT_DIR. The MAPI property PR_AB_DEFAULT_DIR. The MAPI property PR_AB_DEFAULT_PAB. The MAPI property PR_AB_DEFAULT_PAD. The MAPI property PR_AB_PROVIDER_ID. The MAPI property PR_AB_PROVIDER_ID. The MAPI property PR_AB_PROVIDERS. The MAPI property PR_AB_PROVIDERS. The MAPI property PR_AB_SEARCH_PATH. The MAPI property PR_AB_SEARCH_PATH. The MAPI property PR_AB_SEARCH_PATH_UPDATE. The MAPI property PR_AB_SEARCH_PATH_UPDATE. The MAPI property PR_ACCESS. The MAPI property PR_ACCESS. The MAPI property PR_ACCESS_LEVEL. The MAPI property PR_ACCESS_LEVEL. The MAPI property PR_ACCOUNT. The MAPI property PR_ACCOUNT. The MAPI property PR_ACCOUNT. The MAPI property PR_ACCOUNT. The MAPI property PR_ACKNOWLEDGEMENT_MODE. The MAPI property PR_ACKNOWLEDGEMENT_MODE. The MAPI property PR_ADDRTYPE. The MAPI property PR_ADDRTYPE. The MAPI property PR_ADDRTYPE. The MAPI property PR_ADDRTYPE. The MAPI property PR_ALTERNATE_RECIPIENT. The MAPI property PR_ALTERNATE_RECIPIENT. The MAPI property PR_ALTERNATE_RECIPIENT_ALLOWED. The MAPI property PR_ALTERNATE_RECIPIENT_ALLOWED. The MAPI property PR_ANR. The MAPI property PR_ANR. The MAPI property PR_ANR. The MAPI property PR_ANR. The MAPI property PR_ASSISTANT. The MAPI property PR_ASSISTANT. The MAPI property PR_ASSISTANT. The MAPI property PR_ASSISTANT. The MAPI property PR_ASSISTANT_TELEPHONE_NUMBER. The MAPI property PR_ASSISTANT_TELEPHONE_NUMBER. The MAPI property PR_ASSISTANT_TELEPHONE_NUMBER. The MAPI property PR_ASSISTANT_TELEPHONE_NUMBER. The MAPI property PR_ASSOC_CONTENT_COUNT. The MAPI property PR_ASSOC_CONTENT_COUNT. The MAPI property PR_ATTACH_ADDITIONAL_INFO. The MAPI property PR_ATTACH_ADDITIONAL_INFO. The MAPI property PR_ATTACH_CONTENT_BASE. The MAPI property PR_ATTACH_CONTENT_BASE. The MAPI property PR_ATTACH_CONTENT_BASE. The MAPI property PR_ATTACH_CONTENT_BASE. The MAPI property PR_ATTACH_CONTENT_ID. The MAPI property PR_ATTACH_CONTENT_ID. The MAPI property PR_ATTACH_CONTENT_ID. The MAPI property PR_ATTACH_CONTENT_ID. The MAPI property PR_ATTACH_CONTENT_LOCATION. The MAPI property PR_ATTACH_CONTENT_LOCATION. The MAPI property PR_ATTACH_CONTENT_LOCATION. The MAPI property PR_ATTACH_CONTENT_LOCATION. The MAPI property PR_ATTACH_DATA. The MAPI property PR_ATTACH_DATA. The MAPI property PR_ATTACH_DATA. The MAPI property PR_ATTACH_DATA. The MAPI property PR_ATTACH_DISPOSITION. The MAPI property PR_ATTACH_DISPOSITION. The MAPI property PR_ATTACH_DISPOSITION. The MAPI property PR_ATTACH_DISPOSITION. The MAPI property PR_ATTACH_ENCODING. The MAPI property PR_ATTACH_ENCODING. The MAPI property PR_ATTACH_EXTENSION. The MAPI property PR_ATTACH_EXTENSION. The MAPI property PR_ATTACH_EXTENSION. The MAPI property PR_ATTACH_EXTENSION. The MAPI property PR_ATTACH_FILENAME. The MAPI property PR_ATTACH_FILENAME. The MAPI property PR_ATTACH_FILENAME. The MAPI property PR_ATTACH_FILENAME. The MAPI property PR_ATTACH_FLAGS. The MAPI property PR_ATTACH_FLAGS. The MAPI property PR_ATTACH_LONG_FILENAME. The MAPI property PR_ATTACH_LONG_FILENAME. The MAPI property PR_ATTACH_LONG_FILENAME. The MAPI property PR_ATTACH_LONG_FILENAME. The MAPI property PR_ATTACH_LONG_PATHNAME. The MAPI property PR_ATTACH_LONG_PATHNAME. The MAPI property PR_ATTACH_LONG_PATHNAME. The MAPI property PR_ATTACH_LONG_PATHNAME. The MAPI property PR_ATTACHMENT_X400_PARAMETERS. The MAPI property PR_ATTACHMENT_X400_PARAMETERS. The MAPI property PR_ATTACH_METHOD. The MAPI property PR_ATTACH_METHOD. The MAPI property PR_ATTACH_MIME_SEQUENCE. The MAPI property PR_ATTACH_MIME_SEQUENCE. The MAPI property PR_ATTACH_MIME_TAG. The MAPI property PR_ATTACH_MIME_TAG. The MAPI property PR_ATTACH_MIME_TAG. The MAPI property PR_ATTACH_MIME_TAG. The MAPI property PR_ATTACH_NETSCAPE_MAC_INFO. The MAPI property PR_ATTACH_NETSCAPE_MAC_INFO. The MAPI property PR_ATTACH_NUM. The MAPI property PR_ATTACH_NUM. The MAPI property PR_ATTACH_PATHNAME. The MAPI property PR_ATTACH_PATHNAME. The MAPI property PR_ATTACH_PATHNAME. The MAPI property PR_ATTACH_PATHNAME. The MAPI property PR_ATTACH_RENDERING. The MAPI property PR_ATTACH_RENDERING. The MAPI property PR_ATTACH_SIZE. The MAPI property PR_ATTACH_SIZE. The MAPI property PR_ATTACH_TAG. The MAPI property PR_ATTACH_TAG. The MAPI property PR_ATTACH_TRANSPORT_NAME. The MAPI property PR_ATTACH_TRANSPORT_NAME. The MAPI property PR_ATTACH_TRANSPORT_NAME. The MAPI property PR_ATTACH_TRANSPORT_NAME. The MAPI property PR_AUTHORIZING_USERS. The MAPI property PR_AUTHORIZING_USERS. The MAPI property PR_AUTOFORWARDED. The MAPI property PR_AUTOFORWARDED. The MAPI property PR_AUTOFORWARDING_COMMENT. The MAPI property PR_AUTOFORWARDING_COMMENT. The MAPI property PR_AUTOFORWARDING_COMMENT. The MAPI property PR_AUTOFORWARDING_COMMENT. The MAPI property PR_AUTORESPONSE_SUPPRESS. The MAPI property PR_AUTORESPONSE_SUPPRESS. The MAPI property PR_BEEPER_TELEPHONE_NUMBER. The MAPI property PR_BEEPER_TELEPHONE_NUMBER. The MAPI property PR_BEEPER_TELEPHONE_NUMBER. The MAPI property PR_BEEPER_TELEPHONE_NUMBER. The MAPI property PR_BIRTHDAY. The MAPI property PR_BIRTHDAY. The MAPI property PR_BODY. The MAPI property PR_BODY. The MAPI property PR_BODY. The MAPI property PR_BODY. The MAPI property PR_BODY_CONTENT_ID. The MAPI property PR_BODY_CONTENT_ID. The MAPI property PR_BODY_CONTENT_ID. The MAPI property PR_BODY_CONTENT_ID. The MAPI property PR_BODY_CONTENT_LOCATION. The MAPI property PR_BODY_CONTENT_LOCATION. The MAPI property PR_BODY_CONTENT_LOCATION. The MAPI property PR_BODY_CONTENT_LOCATION. The MAPI property PR_BODY_CRC. The MAPI property PR_BODY_CRC. The MAPI property PR_BODY_HTML. The MAPI property PR_BODY_HTML. The MAPI property PR_BODY_HTML. The MAPI property PR_BODY_HTML. The MAPI property PR_BODY_HTML. The MAPI property PR_BODY_HTML. The MAPI property PR_BUSINESS2_TELEPHONE_NUMBER. The MAPI property PR_BUSINESS2_TELEPHONE_NUMBER. The MAPI property PR_BUSINESS2_TELEPHONE_NUMBER. The MAPI property PR_BUSINESS2_TELEPHONE_NUMBER. The MAPI property PR_BUSINESS2_TELEPHONE_NUMBER. The MAPI property PR_BUSINESS2_TELEPHONE_NUMBER. The MAPI property PR_BUSINESS2_TELEPHONE_NUMBER. The MAPI property PR_BUSINESS2_TELEPHONE_NUMBER. The MAPI property PR_BUSINESS_ADDRESS_CITY. The MAPI property PR_BUSINESS_ADDRESS_CITY. The MAPI property PR_BUSINESS_ADDRESS_CITY. The MAPI property PR_BUSINESS_ADDRESS_CITY. The MAPI property PR_BUSINESS_ADDRESS_COUNTRY. The MAPI property PR_BUSINESS_ADDRESS_COUNTRY. The MAPI property PR_BUSINESS_ADDRESS_COUNTRY. The MAPI property PR_BUSINESS_ADDRESS_COUNTRY. The MAPI property PR_BUSINESS_ADDRESS_POSTAL_CODE. The MAPI property PR_BUSINESS_ADDRESS_POSTAL_CODE. The MAPI property PR_BUSINESS_ADDRESS_POSTAL_CODE. The MAPI property PR_BUSINESS_ADDRESS_POSTAL_CODE. The MAPI property PR_BUSINESS_ADDRESS_POSTAL_STREET. The MAPI property PR_BUSINESS_ADDRESS_POSTAL_STREET. The MAPI property PR_BUSINESS_ADDRESS_POSTAL_STREET. The MAPI property PR_BUSINESS_ADDRESS_POSTAL_STREET. The MAPI property PR_BUSINESS_FAX_NUMBER. The MAPI property PR_BUSINESS_FAX_NUMBER. The MAPI property PR_BUSINESS_FAX_NUMBER. The MAPI property PR_BUSINESS_FAX_NUMBER. The MAPI property PR_BUSINESS_HOME_PAGE. The MAPI property PR_BUSINESS_HOME_PAGE. The MAPI property PR_BUSINESS_HOME_PAGE. The MAPI property PR_BUSINESS_HOME_PAGE. The MAPI property PR_CALLBACK_TELEPHONE_NUMBER. The MAPI property PR_CALLBACK_TELEPHONE_NUMBER. The MAPI property PR_CALLBACK_TELEPHONE_NUMBER. The MAPI property PR_CALLBACK_TELEPHONE_NUMBER. The MAPI property PR_CAR_TELEPHONE_NUMBER. The MAPI property PR_CAR_TELEPHONE_NUMBER. The MAPI property PR_CAR_TELEPHONE_NUMBER. The MAPI property PR_CAR_TELEPHONE_NUMBER. The MAPI property PR_CHILDRENS_NAMES. The MAPI property PR_CHILDRENS_NAMES. The MAPI property PR_CHILDRENS_NAMES. The MAPI property PR_CHILDRENS_NAMES. The MAPI property PR_CLIENT_SUBMIT_TIME. The MAPI property PR_CLIENT_SUBMIT_TIME. The MAPI property PR_COMMENT. The MAPI property PR_COMMENT. The MAPI property PR_COMMENT. The MAPI property PR_COMMENT. The MAPI property PR_COMMON_VIEWS_ENTRYID. The MAPI property PR_COMMON_VIEWS_ENTRYID. The MAPI property PR_COMPANY_MAIN_PHONE_NUMBER. The MAPI property PR_COMPANY_MAIN_PHONE_NUMBER. The MAPI property PR_COMPANY_MAIN_PHONE_NUMBER. The MAPI property PR_COMPANY_MAIN_PHONE_NUMBER. The MAPI property PR_COMPANY_NAME. The MAPI property PR_COMPANY_NAME. The MAPI property PR_COMPANY_NAME. The MAPI property PR_COMPANY_NAME. The MAPI property PR_COMPUTER_NETWORK_NAME. The MAPI property PR_COMPUTER_NETWORK_NAME. The MAPI property PR_COMPUTER_NETWORK_NAME. The MAPI property PR_COMPUTER_NETWORK_NAME. The MAPI property PR_CONTACT_ADDRTYPES. The MAPI property PR_CONTACT_ADDRTYPES. The MAPI property PR_CONTACT_ADDRTYPES. The MAPI property PR_CONTACT_ADDRTYPES. The MAPI property PR_CONTACT_DEFAULT_ADDRESS_INDEX. The MAPI property PR_CONTACT_DEFAULT_ADDRESS_INDEX. The MAPI property PR_CONTACT_EMAIL_ADDRESSES. The MAPI property PR_CONTACT_EMAIL_ADDRESSES. The MAPI property PR_CONTACT_EMAIL_ADDRESSES. The MAPI property PR_CONTACT_EMAIL_ADDRESSES. The MAPI property PR_CONTACT_ENTRYIDS. The MAPI property PR_CONTACT_ENTRYIDS. The MAPI property PR_CONTACT_VERSION. The MAPI property PR_CONTACT_VERSION. The MAPI property PR_CONTAINER_CLASS. The MAPI property PR_CONTAINER_CLASS. The MAPI property PR_CONTAINER_CLASS. The MAPI property PR_CONTAINER_CLASS. The MAPI property PR_CONTAINER_CONTENTS. The MAPI property PR_CONTAINER_CONTENTS. The MAPI property PR_CONTAINER_FLAGS. The MAPI property PR_CONTAINER_FLAGS. The MAPI property PR_CONTAINER_HIERARCHY. The MAPI property PR_CONTAINER_HIERARCHY. The MAPI property PR_CONTAINER_MODIFY_VERSION. The MAPI property PR_CONTAINER_MODIFY_VERSION. The MAPI property PR_CONTENT_CONFIDENTIALITY_ALGORITHM_ID. The MAPI property PR_CONTENT_CONFIDENTIALITY_ALGORITHM_ID. The MAPI property PR_CONTENT_CORRELATOR. The MAPI property PR_CONTENT_CORRELATOR. The MAPI property PR_CONTENT_COUNT. The MAPI property PR_CONTENT_COUNT. The MAPI property PR_CONTENT_IDENTIFIER. The MAPI property PR_CONTENT_IDENTIFIER. The MAPI property PR_CONTENT_IDENTIFIER. The MAPI property PR_CONTENT_IDENTIFIER. The MAPI property PR_CONTENT_INTEGRITY_CHECK. The MAPI property PR_CONTENT_INTEGRITY_CHECK. The MAPI property PR_CONTENT_LENGTH. The MAPI property PR_CONTENT_LENGTH. The MAPI property PR_CONTENT_RETURN_REQUESTED. The MAPI property PR_CONTENT_RETURN_REQUESTED. The MAPI property PR_CONTENTS_SORT_ORDER. The MAPI property PR_CONTENTS_SORT_ORDER. The MAPI property PR_CONTENT_UNREAD. The MAPI property PR_CONTENT_UNREAD. The MAPI property PR_CONTROL_FLAGS. The MAPI property PR_CONTROL_FLAGS. The MAPI property PR_CONTROL_ID. The MAPI property PR_CONTROL_ID. The MAPI property PR_CONTROL_STRUCTURE. The MAPI property PR_CONTROL_STRUCTURE. The MAPI property PR_CONTROL_TYPE. The MAPI property PR_CONTROL_TYPE. The MAPI property PR_CONVERSATION_INDEX. The MAPI property PR_CONVERSATION_INDEX. The MAPI property PR_CONVERSATION_KEY. The MAPI property PR_CONVERSATION_KEY. The MAPI property PR_CONVERSATION_TOPIC. The MAPI property PR_CONVERSATION_TOPIC. The MAPI property PR_CONVERSATION_TOPIC. The MAPI property PR_CONVERSATION_TOPIC. The MAPI property PR_CONVERSION_EITS. The MAPI property PR_CONVERSION_EITS. The MAPI property PR_CONVERSION_PROHIBITED. The MAPI property PR_CONVERSION_PROHIBITED. The MAPI property PR_CONVERSION_WITH_LOSS_PROHIBITED. The MAPI property PR_CONVERSION_WITH_LOSS_PROHIBITED. The MAPI property PR_CONVERTED_EITS. The MAPI property PR_CONVERTED_EITS. The MAPI property PR_CORRELATE. The MAPI property PR_CORRELATE. The MAPI property PR_CORRELATE_MTSID. The MAPI property PR_CORRELATE_MTSID. The MAPI property PR_COUNTRY. The MAPI property PR_COUNTRY. The MAPI property PR_COUNTRY. The MAPI property PR_COUNTRY. The MAPI property PR_CREATE_TEMPLATES. The MAPI property PR_CREATE_TEMPLATES. The MAPI property PR_CREATION_TIME. The MAPI property PR_CREATION_TIME. The MAPI property PR_CREATION_VERSION. The MAPI property PR_CREATION_VERSION. The MAPI property PR_CURRENT_VERSION. The MAPI property PR_CURRENT_VERSION. The MAPI property PR_CUSTOMER_ID. The MAPI property PR_CUSTOMER_ID. The MAPI property PR_CUSTOMER_ID. The MAPI property PR_CUSTOMER_ID. The MAPI property PR_DEFAULT_PROFILE. The MAPI property PR_DEFAULT_PROFILE. The MAPI property PR_DEFAULT_STORE. The MAPI property PR_DEFAULT_STORE. The MAPI property PR_DEFAULT_VIEW_ENTRYID. The MAPI property PR_DEFAULT_VIEW_ENTRYID. The MAPI property PR_DEF_CREATE_DL. The MAPI property PR_DEF_CREATE_DL. The MAPI property PR_DEF_CREATE_MAILUSER. The MAPI property PR_DEF_CREATE_MAILUSER. The MAPI property PR_DEFERRED_DELIVERY_TIME. The MAPI property PR_DEFERRED_DELIVERY_TIME. The MAPI property PR_DELEGATION. The MAPI property PR_DELEGATION. The MAPI property PR_DELETE_AFTER_SUBMIT. The MAPI property PR_DELETE_AFTER_SUBMIT. The MAPI property PR_DELIVER_TIME. The MAPI property PR_DELIVER_TIME. The MAPI property PR_DELIVERY_POINT. The MAPI property PR_DELIVERY_POINT. The MAPI property PR_DELTAX. The MAPI property PR_DELTAX. The MAPI property PR_DELTAY. The MAPI property PR_DELTAY. The MAPI property PR_DEPARTMENT_NAME. The MAPI property PR_DEPARTMENT_NAME. The MAPI property PR_DEPARTMENT_NAME. The MAPI property PR_DEPARTMENT_NAME. The MAPI property PR_DEPTH. The MAPI property PR_DEPTH. The MAPI property PR_DETAILS_TABLE. The MAPI property PR_DETAILS_TABLE. The MAPI property PR_DISCARD_REASON. The MAPI property PR_DISCARD_REASON. The MAPI property PR_DISCLOSE_RECIPIENTS. The MAPI property PR_DISCLOSE_RECIPIENTS. The MAPI property PR_DISCLOSURE_OF_RECIPIENTS. The MAPI property PR_DISCLOSURE_OF_RECIPIENTS. The MAPI property PR_DISCRETE_VALUES. The MAPI property PR_DISCRETE_VALUES. The MAPI property PR_DISC_VAL. The MAPI property PR_DISC_VAL. The MAPI property PR_DISPLAY_BCC. The MAPI property PR_DISPLAY_BCC. The MAPI property PR_DISPLAY_BCC. The MAPI property PR_DISPLAY_BCC. The MAPI property PR_DISPLAY_CC. The MAPI property PR_DISPLAY_CC. The MAPI property PR_DISPLAY_CC. The MAPI property PR_DISPLAY_CC. The MAPI property PR_DISPLAY_NAME. The MAPI property PR_DISPLAY_NAME. The MAPI property PR_DISPLAY_NAME. The MAPI property PR_DISPLAY_NAME. The MAPI property PR_DISPLAY_NAME_PREFIX. The MAPI property PR_DISPLAY_NAME_PREFIX. The MAPI property PR_DISPLAY_NAME_PREFIX. The MAPI property PR_DISPLAY_NAME_PREFIX. The MAPI property PR_DISPLAY_TO. The MAPI property PR_DISPLAY_TO. The MAPI property PR_DISPLAY_TO. The MAPI property PR_DISPLAY_TO. The MAPI property PR_DISPLAY_TYPE. The MAPI property PR_DISPLAY_TYPE. The MAPI property PR_DL_EXPANSION_HISTORY. The MAPI property PR_DL_EXPANSION_HISTORY. The MAPI property PR_DL_EXPANSION_PROHIBITED. The MAPI property PR_DL_EXPANSION_PROHIBITED. The MAPI property PR_EMAIL_ADDRESS. The MAPI property PR_EMAIL_ADDRESS. The MAPI property PR_EMAIL_ADDRESS. The MAPI property PR_EMAIL_ADDRESS. The MAPI property PR_END_DATE. The MAPI property PR_END_DATE. The MAPI property PR_ENTRYID. The MAPI property PR_ENTRYID. The MAPI property PR_EXPAND_BEGIN_TIME. The MAPI property PR_EXPAND_BEGIN_TIME. The MAPI property PR_EXPANDED_BEGIN_TIME. The MAPI property PR_EXPANDED_BEGIN_TIME. The MAPI property PR_EXPANDED_END_TIME. The MAPI property PR_EXPANDED_END_TIME. The MAPI property PR_EXPAND_END_TIME. The MAPI property PR_EXPAND_END_TIME. The MAPI property PR_EXPIRY_TIME. The MAPI property PR_EXPIRY_TIME. The MAPI property PR_EXPLICIT_CONVERSION. The MAPI property PR_EXPLICIT_CONVERSION. The MAPI property PR_FILTERING_HOOKS. The MAPI property PR_FILTERING_HOOKS. The MAPI property PR_FINDER_ENTRYID. The MAPI property PR_FINDER_ENTRYID. The MAPI property PR_FOLDER_ASSOCIATED_CONTENTS. The MAPI property PR_FOLDER_ASSOCIATED_CONTENTS. The MAPI property PR_FOLDER_TYPE. The MAPI property PR_FOLDER_TYPE. The MAPI property PR_FORM_CATEGORY. The MAPI property PR_FORM_CATEGORY. The MAPI property PR_FORM_CATEGORY. The MAPI property PR_FORM_CATEGORY. The MAPI property PR_FORM_CATEGORY_SUB. The MAPI property PR_FORM_CATEGORY_SUB. The MAPI property PR_FORM_CATEGORY_SUB. The MAPI property PR_FORM_CATEGORY_SUB. The MAPI property PR_FORM_CLSID. The MAPI property PR_FORM_CLSID. The MAPI property PR_FORM_CONTACT_NAME. The MAPI property PR_FORM_CONTACT_NAME. The MAPI property PR_FORM_CONTACT_NAME. The MAPI property PR_FORM_CONTACT_NAME. The MAPI property PR_FORM_DESIGNER_GUID. The MAPI property PR_FORM_DESIGNER_GUID. The MAPI property PR_FORM_DESIGNER_NAME. The MAPI property PR_FORM_DESIGNER_NAME. The MAPI property PR_FORM_DESIGNER_NAME. The MAPI property PR_FORM_DESIGNER_NAME. The MAPI property PR_FORM_HIDDEN. The MAPI property PR_FORM_HIDDEN. The MAPI property PR_FORM_HOST_MAP. The MAPI property PR_FORM_HOST_MAP. The MAPI property PR_FORM_MESSAGE_BEHAVIOR. The MAPI property PR_FORM_MESSAGE_BEHAVIOR. The MAPI property PR_FORM_VERSION. The MAPI property PR_FORM_VERSION. The MAPI property PR_FORM_VERSION. The MAPI property PR_FORM_VERSION. The MAPI property PR_FTP_SITE. The MAPI property PR_FTP_SITE. The MAPI property PR_FTP_SITE. The MAPI property PR_FTP_SITE. The MAPI property PR_GENDER. The MAPI property PR_GENDER. The MAPI property PR_GENERATION. The MAPI property PR_GENERATION. The MAPI property PR_GENERATION. The MAPI property PR_GENERATION. The MAPI property PR_GIVEN_NAME. The MAPI property PR_GIVEN_NAME. The MAPI property PR_GIVEN_NAME. The MAPI property PR_GIVEN_NAME. The MAPI property PR_GOVERNMENT_ID_NUMBER. The MAPI property PR_GOVERNMENT_ID_NUMBER. The MAPI property PR_GOVERNMENT_ID_NUMBER. The MAPI property PR_GOVERNMENT_ID_NUMBER. The MAPI property PR_HASATTACH. The MAPI property PR_HASATTACH. The MAPI property PR_HEADER_FOLDER_ENTRYID. The MAPI property PR_HEADER_FOLDER_ENTRYID. The MAPI property PR_HOBBIES. The MAPI property PR_HOBBIES. The MAPI property PR_HOBBIES. The MAPI property PR_HOBBIES. The MAPI property PR_HOME2_TELEPHONE_NUMBER. The MAPI property PR_HOME2_TELEPHONE_NUMBER. The MAPI property PR_HOME2_TELEPHONE_NUMBER. The MAPI property PR_HOME2_TELEPHONE_NUMBER. The MAPI property PR_HOME2_TELEPHONE_NUMBER. The MAPI property PR_HOME2_TELEPHONE_NUMBER. The MAPI property PR_HOME2_TELEPHONE_NUMBER. The MAPI property PR_HOME2_TELEPHONE_NUMBER. The MAPI property PR_HOME_ADDRESS_CITY. The MAPI property PR_HOME_ADDRESS_CITY. The MAPI property PR_HOME_ADDRESS_CITY. The MAPI property PR_HOME_ADDRESS_CITY. The MAPI property PR_HOME_ADDRESS_COUNTRY. The MAPI property PR_HOME_ADDRESS_COUNTRY. The MAPI property PR_HOME_ADDRESS_COUNTRY. The MAPI property PR_HOME_ADDRESS_COUNTRY. The MAPI property PR_HOME_ADDRESS_POSTAL_CODE. The MAPI property PR_HOME_ADDRESS_POSTAL_CODE. The MAPI property PR_HOME_ADDRESS_POSTAL_CODE. The MAPI property PR_HOME_ADDRESS_POSTAL_CODE. The MAPI property PR_HOME_ADDRESS_POST_OFFICE_BOX. The MAPI property PR_HOME_ADDRESS_POST_OFFICE_BOX. The MAPI property PR_HOME_ADDRESS_POST_OFFICE_BOX. The MAPI property PR_HOME_ADDRESS_POST_OFFICE_BOX. The MAPI property PR_HOME_ADDRESS_STATE_OR_PROVINCE. The MAPI property PR_HOME_ADDRESS_STATE_OR_PROVINCE. The MAPI property PR_HOME_ADDRESS_STATE_OR_PROVINCE. The MAPI property PR_HOME_ADDRESS_STATE_OR_PROVINCE. The MAPI property PR_HOME_ADDRESS_STREET. The MAPI property PR_HOME_ADDRESS_STREET. The MAPI property PR_HOME_ADDRESS_STREET. The MAPI property PR_HOME_ADDRESS_STREET. The MAPI property PR_HOME_FAX_NUMBER. The MAPI property PR_HOME_FAX_NUMBER. The MAPI property PR_HOME_FAX_NUMBER. The MAPI property PR_HOME_FAX_NUMBER. The MAPI property PR_HOME_TELEPHONE_NUMBER. The MAPI property PR_HOME_TELEPHONE_NUMBER. The MAPI property PR_HOME_TELEPHONE_NUMBER. The MAPI property PR_HOME_TELEPHONE_NUMBER. The MAPI property PR_ICON. The MAPI property PR_ICON. The MAPI property PR_IDENTITY_DISPLAY. The MAPI property PR_IDENTITY_DISPLAY. The MAPI property PR_IDENTITY_DISPLAY. The MAPI property PR_IDENTITY_DISPLAY. The MAPI property PR_IDENTITY_ENTRYID. The MAPI property PR_IDENTITY_ENTRYID. The MAPI property PR_IDENTITY_SEARCH_KEY. The MAPI property PR_IDENTITY_SEARCH_KEY. The MAPI property PR_IMPLICIT_CONVERSION_PROHIBITED. The MAPI property PR_IMPLICIT_CONVERSION_PROHIBITED. The MAPI property PR_IMPORTANCE. The MAPI property PR_IMPORTANCE. The MAPI property PR_INCOMPLETE_COPY. The MAPI property PR_INCOMPLETE_COPY. The Internet mail override charset. The Internet mail override charset. The Internet mail override format. The Internet mail override format. The MAPI property PR_INITIAL_DETAILS_PANE. The MAPI property PR_INITIAL_DETAILS_PANE. The MAPI property PR_INITIALS. The MAPI property PR_INITIALS. The MAPI property PR_INITIALS. The MAPI property PR_INITIALS. The MAPI property PR_IN_REPLY_TO_ID. The MAPI property PR_IN_REPLY_TO_ID. The MAPI property PR_IN_REPLY_TO_ID. The MAPI property PR_IN_REPLY_TO_ID. The MAPI property PR_INSTANCE_KEY. The MAPI property PR_INSTANCE_KEY. The MAPI property PR_INTERNET_APPROVED. The MAPI property PR_INTERNET_APPROVED. The MAPI property PR_INTERNET_APPROVED. The MAPI property PR_INTERNET_APPROVED. The MAPI property PR_INTERNET_ARTICLE_NUMBER. The MAPI property PR_INTERNET_ARTICLE_NUMBER. The MAPI property PR_INTERNET_CONTROL. The MAPI property PR_INTERNET_CONTROL. The MAPI property PR_INTERNET_CONTROL. The MAPI property PR_INTERNET_CONTROL. The MAPI property PR_INTERNET_CPID. The MAPI property PR_INTERNET_CPID. The MAPI property PR_INTERNET_DISTRIBUTION. The MAPI property PR_INTERNET_DISTRIBUTION. The MAPI property PR_INTERNET_DISTRIBUTION. The MAPI property PR_INTERNET_DISTRIBUTION. The MAPI property PR_INTERNET_FOLLOWUP_TO. The MAPI property PR_INTERNET_FOLLOWUP_TO. The MAPI property PR_INTERNET_FOLLOWUP_TO. The MAPI property PR_INTERNET_FOLLOWUP_TO. The MAPI property PR_INTERNET_LINES. The MAPI property PR_INTERNET_LINES. The MAPI property PR_INTERNET_MESSAGE_ID. The MAPI property PR_INTERNET_MESSAGE_ID. The MAPI property PR_INTERNET_MESSAGE_ID. The MAPI property PR_INTERNET_MESSAGE_ID. The MAPI property PR_INTERNET_NEWSGROUPS. The MAPI property PR_INTERNET_NEWSGROUPS. The MAPI property PR_INTERNET_NEWSGROUPS. The MAPI property PR_INTERNET_NEWSGROUPS. The MAPI property PR_INTERNET_NNTP_PATH. The MAPI property PR_INTERNET_NNTP_PATH. The MAPI property PR_INTERNET_NNTP_PATH. The MAPI property PR_INTERNET_NNTP_PATH. The MAPI property PR_INTERNET_ORGANIZATION. The MAPI property PR_INTERNET_ORGANIZATION. The MAPI property PR_INTERNET_ORGANIZATION. The MAPI property PR_INTERNET_ORGANIZATION. The MAPI property PR_INTERNET_PRECEDENCE. The MAPI property PR_INTERNET_PRECEDENCE. The MAPI property PR_INTERNET_PRECEDENCE. The MAPI property PR_INTERNET_PRECEDENCE. The MAPI property PR_INTERNET_REFERENCES. The MAPI property PR_INTERNET_REFERENCES. The MAPI property PR_INTERNET_REFERENCES. The MAPI property PR_INTERNET_REFERENCES. The MAPI property PR_IPM_ID. The MAPI property PR_IPM_ID. The MAPI property PR_IPM_OUTBOX_ENTRYID. The MAPI property PR_IPM_OUTBOX_ENTRYID. The MAPI property PR_IPM_OUTBOX_SEARCH_KEY. The MAPI property PR_IPM_OUTBOX_SEARCH_KEY. The MAPI property PR_IPM_RETURN_REQUESTED. The MAPI property PR_IPM_RETURN_REQUESTED. The MAPI property PR_IPM_SENTMAIL_ENTRYID. The MAPI property PR_IPM_SENTMAIL_ENTRYID. The MAPI property PR_IPM_SENTMAIL_SEARCH_KEY. The MAPI property PR_IPM_SENTMAIL_SEARCH_KEY. The MAPI property PR_IPM_SUBTREE_ENTRYID. The MAPI property PR_IPM_SUBTREE_ENTRYID. The MAPI property PR_IPM_SUBTREE_SEARCH_KEY. The MAPI property PR_IPM_SUBTREE_SEARCH_KEY. The MAPI property PR_IPM_WASTEBASKET_ENTRYID. The MAPI property PR_IPM_WASTEBASKET_ENTRYID. The MAPI property PR_IPM_WASTEBASKET_SEARCH_KEY. The MAPI property PR_IPM_WASTEBASKET_SEARCH_KEY. The MAPI property PR_ISDN_NUMBER. The MAPI property PR_ISDN_NUMBER. The MAPI property PR_ISDN_NUMBER. The MAPI property PR_ISDN_NUMBER. The MAPI property PR_KEYWORD. The MAPI property PR_KEYWORD. The MAPI property PR_KEYWORD. The MAPI property PR_KEYWORD. The MAPI property PR_LANGUAGE. The MAPI property PR_LANGUAGE. The MAPI property PR_LANGUAGE. The MAPI property PR_LANGUAGE. The MAPI property PR_LANGUAGES. The MAPI property PR_LANGUAGES. The MAPI property PR_LANGUAGES. The MAPI property PR_LANGUAGES. The MAPI property PR_LAST_MODIFICATION_TIME. The MAPI property PR_LAST_MODIFICATION_TIME. The MAPI property PR_LATEST_DELIVERY_TIME. The MAPI property PR_LATEST_DELIVERY_TIME. The MAPI property PR_LIST_HELP. The MAPI property PR_LIST_HELP. The MAPI property PR_LIST_HELP. The MAPI property PR_LIST_HELP. The MAPI property PR_LIST_SUBSCRIBE. The MAPI property PR_LIST_SUBSCRIBE. The MAPI property PR_LIST_SUBSCRIBE. The MAPI property PR_LIST_SUBSCRIBE. The MAPI property PR_LIST_UNSUBSCRIBE. The MAPI property PR_LIST_UNSUBSCRIBE. The MAPI property PR_LIST_UNSUBSCRIBE. The MAPI property PR_LIST_UNSUBSCRIBE. The MAPI property PR_LOCALITY. The MAPI property PR_LOCALITY. The MAPI property PR_LOCALITY. The MAPI property PR_LOCALITY. The MAPI property PR_LOCATION. The MAPI property PR_LOCATION. The MAPI property PR_LOCATION. The MAPI property PR_LOCATION. The MAPI property PR_LOCK_BRANCH_ID. The MAPI property PR_LOCK_BRANCH_ID. The MAPI property PR_LOCK_DEPTH. The MAPI property PR_LOCK_DEPTH. The MAPI property PR_LOCK_ENLISTMENT_CONTEXT. The MAPI property PR_LOCK_ENLISTMENT_CONTEXT. The MAPI property PR_LOCK_EXPIRY_TIME. The MAPI property PR_LOCK_EXPIRY_TIME. The MAPI property PR_LOCK_PERSISTENT. The MAPI property PR_LOCK_PERSISTENT. The MAPI property PR_LOCK_RESOURCE_DID. The MAPI property PR_LOCK_RESOURCE_DID. The MAPI property PR_LOCK_RESOURCE_FID. The MAPI property PR_LOCK_RESOURCE_FID. The MAPI property PR_LOCK_RESOURCE_MID. The MAPI property PR_LOCK_RESOURCE_MID. The MAPI property PR_LOCK_SCOPE. The MAPI property PR_LOCK_SCOPE. The MAPI property PR_LOCK_TIMEOUT. The MAPI property PR_LOCK_TIMEOUT. The MAPI property PR_LOCK_TYPE. The MAPI property PR_LOCK_TYPE. The MAPI property PR_MAIL_PERMISSION. The MAPI property PR_MAIL_PERMISSION. The MAPI property PR_MANAGER_NAME. The MAPI property PR_MANAGER_NAME. The MAPI property PR_MANAGER_NAME. The MAPI property PR_MANAGER_NAME. The MAPI property PR_MAPPING_SIGNATURE. The MAPI property PR_MAPPING_SIGNATURE. The MAPI property PR_MDB_PROVIDER. The MAPI property PR_MDB_PROVIDER. The MAPI property PR_MESSAGE_ATTACHMENTS. The MAPI property PR_MESSAGE_ATTACHMENTS. The MAPI property PR_MESSAGE_CC_ME. The MAPI property PR_MESSAGE_CC_ME. The MAPI property PR_MESSAGE_CLASS. The MAPI property PR_MESSAGE_CLASS. The MAPI property PR_MESSAGE_CLASS. The MAPI property PR_MESSAGE_CLASS. The MAPI property PR_MESSAGE_CODEPAGE. The MAPI property PR_MESSAGE_CODEPAGE. The MAPI property PR_MESSAGE_DELIVERY_ID. The MAPI property PR_MESSAGE_DELIVERY_ID. The MAPI property PR_MESSAGE_DELIVERY_TIME. The MAPI property PR_MESSAGE_DELIVERY_TIME. The MAPI property PR_MESSAGE_DOWNLOAD_TIME. The MAPI property PR_MESSAGE_DOWNLOAD_TIME. The MAPI property PR_MESSAGE_FLAGS. The MAPI property PR_MESSAGE_FLAGS. The MAPI property PR_MESSAGE_RECIPIENTS. The MAPI property PR_MESSAGE_RECIPIENTS. The MAPI property PR_MESSAGE_RECIP_ME. The MAPI property PR_MESSAGE_RECIP_ME. The MAPI property PR_MESSAGE_SECURITY_LABEL. The MAPI property PR_MESSAGE_SECURITY_LABEL. The MAPI property PR_MESSAGE_SIZE. The MAPI property PR_MESSAGE_SIZE. The MAPI property PR_MESSAGE_SUBMISSION_ID. The MAPI property PR_MESSAGE_SUBMISSION_ID. The MAPI property PR_MESSAGE_TOKEN. The MAPI property PR_MESSAGE_TOKEN. The MAPI property PR_MESSAGE_TO_ME. The MAPI property PR_MESSAGE_TO_ME. The MAPI property PR_MHS_COMMON_NAME. The MAPI property PR_MHS_COMMON_NAME. The MAPI property PR_MHS_COMMON_NAME. The MAPI property PR_MHS_COMMON_NAME. The MAPI property PR_MIDDLE_NAME. The MAPI property PR_MIDDLE_NAME. The MAPI property PR_MIDDLE_NAME. The MAPI property PR_MIDDLE_NAME. The MAPI property PR_MINI_ICON. The MAPI property PR_MINI_ICON. The MAPI property PR_MOBILE_TELEPHONE_NUMBER. The MAPI property PR_MOBILE_TELEPHONE_NUMBER. The MAPI property PR_MOBILE_TELEPHONE_NUMBER. The MAPI property PR_MOBILE_TELEPHONE_NUMBER. The MAPI property PR_MODIFY_VERSION. The MAPI property PR_MODIFY_VERSION. The MAPI property PR_MSG_STATUS. The MAPI property PR_MSG_STATUS. The MAPI property PR_NDR_DIAG_CODE. The MAPI property PR_NDR_DIAG_CODE. The MAPI property PR_NDR_REASON_CODE. The MAPI property PR_NDR_REASON_CODE. The MAPI property PR_NDR_STATUS_CODE. The MAPI property PR_NDR_STATUS_CODE. The MAPI property PR_NEWSGROUP_NAME. The MAPI property PR_NEWSGROUP_NAME. The MAPI property PR_NEWSGROUP_NAME. The MAPI property PR_NEWSGROUP_NAME. The MAPI property PR_NICKNAME. The MAPI property PR_NICKNAME. The MAPI property PR_NICKNAME. The MAPI property PR_NICKNAME. The MAPI property PR_NNTP_XREF. The MAPI property PR_NNTP_XREF. The MAPI property PR_NNTP_XREF. The MAPI property PR_NNTP_XREF. The MAPI property PR_NON_RECEIPT_NOTIFICATION_REQUESTED. The MAPI property PR_NON_RECEIPT_NOTIFICATION_REQUESTED. The MAPI property PR_NON_RECEIPT_REASON. The MAPI property PR_NON_RECEIPT_REASON. The MAPI property PR_NORMALIZED_SUBJECT. The MAPI property PR_NORMALIZED_SUBJECT. The MAPI property PR_NORMALIZED_SUBJECT. The MAPI property PR_NORMALIZED_SUBJECT. The MAPI property PR_NT_SECURITY_DESCRIPTOR. The MAPI property PR_NT_SECURITY_DESCRIPTOR. The MAPI property PR_NULL. The MAPI property PR_NULL. The MAPI property PR_OBJECT_TYPE. The MAPI property PR_OBJECT_TYPE. The MAPI property PR_OBSOLETE_IPMS. The MAPI property PR_OBSOLETE_IPMS. The MAPI property PR_OFFICE2_TELEPHONE_NUMBER. The MAPI property PR_OFFICE2_TELEPHONE_NUMBER. The MAPI property PR_OFFICE2_TELEPHONE_NUMBER. The MAPI property PR_OFFICE2_TELEPHONE_NUMBER. The MAPI property PR_OFFICE_LOCATION. The MAPI property PR_OFFICE_LOCATION. The MAPI property PR_OFFICE_LOCATION. The MAPI property PR_OFFICE_LOCATION. The MAPI property PR_OFFICE_TELEPHONE_NUMBER. The MAPI property PR_OFFICE_TELEPHONE_NUMBER. The MAPI property PR_OFFICE_TELEPHONE_NUMBER. The MAPI property PR_OFFICE_TELEPHONE_NUMBER. The MAPI property PR_OOF_REPLY_TYPE. The MAPI property PR_OOF_REPLY_TYPE. The MAPI property PR_ORGANIZATIONAL_ID_NUMBER. The MAPI property PR_ORGANIZATIONAL_ID_NUMBER. The MAPI property PR_ORGANIZATIONAL_ID_NUMBER. The MAPI property PR_ORGANIZATIONAL_ID_NUMBER. The MAPI property PR_ORIG_ENTRYID. The MAPI property PR_ORIG_ENTRYID. The MAPI property PR_ORIGINAL_AUTHOR_ADDRTYPE. The MAPI property PR_ORIGINAL_AUTHOR_ADDRTYPE. The MAPI property PR_ORIGINAL_AUTHOR_ADDRTYPE. The MAPI property PR_ORIGINAL_AUTHOR_ADDRTYPE. The MAPI property PR_ORIGINAL_AUTHOR_EMAIL_ADDRESS. The MAPI property PR_ORIGINAL_AUTHOR_EMAIL_ADDRESS. The MAPI property PR_ORIGINAL_AUTHOR_EMAIL_ADDRESS. The MAPI property PR_ORIGINAL_AUTHOR_EMAIL_ADDRESS. The MAPI property PR_ORIGINAL_AUTHOR_ENTRYID. The MAPI property PR_ORIGINAL_AUTHOR_ENTRYID. The MAPI property PR_ORIGINAL_AUTHOR_NAME. The MAPI property PR_ORIGINAL_AUTHOR_NAME. The MAPI property PR_ORIGINAL_AUTHOR_NAME. The MAPI property PR_ORIGINAL_AUTHOR_NAME. The MAPI property PR_ORIGINAL_AUTHOR_SEARCH_KEY. The MAPI property PR_ORIGINAL_AUTHOR_SEARCH_KEY. The MAPI property PR_ORIGINAL_DELIVERY_TIME. The MAPI property PR_ORIGINAL_DELIVERY_TIME. The MAPI property PR_ORIGINAL_DISPLAY_BCC. The MAPI property PR_ORIGINAL_DISPLAY_BCC. The MAPI property PR_ORIGINAL_DISPLAY_BCC. The MAPI property PR_ORIGINAL_DISPLAY_BCC. The MAPI property PR_ORIGINAL_DISPLAY_CC. The MAPI property PR_ORIGINAL_DISPLAY_CC. The MAPI property PR_ORIGINAL_DISPLAY_CC. The MAPI property PR_ORIGINAL_DISPLAY_CC. The MAPI property PR_ORIGINAL_DISPLAY_NAME. The MAPI property PR_ORIGINAL_DISPLAY_NAME. The MAPI property PR_ORIGINAL_DISPLAY_NAME. The MAPI property PR_ORIGINAL_DISPLAY_NAME. The MAPI property PR_ORIGINAL_DISPLAY_TO. The MAPI property PR_ORIGINAL_DISPLAY_TO. The MAPI property PR_ORIGINAL_DISPLAY_TO. The MAPI property PR_ORIGINAL_DISPLAY_TO. The MAPI property PR_ORIGINAL_EITS. The MAPI property PR_ORIGINAL_EITS. The MAPI property PR_ORIGINAL_ENTRYID. The MAPI property PR_ORIGINAL_ENTRYID. The MAPI property PR_ORIGINALLY_INTENDED_RECIP_ADDRTYPE. The MAPI property PR_ORIGINALLY_INTENDED_RECIP_ADDRTYPE. The MAPI property PR_ORIGINALLY_INTENDED_RECIP_ADDRTYPE. The MAPI property PR_ORIGINALLY_INTENDED_RECIP_ADDRTYPE. The MAPI property PR_ORIGINALLY_INTENDED_RECIP_EMAIL_ADDRESS. The MAPI property PR_ORIGINALLY_INTENDED_RECIP_EMAIL_ADDRESS. The MAPI property PR_ORIGINALLY_INTENDED_RECIP_EMAIL_ADDRESS. The MAPI property PR_ORIGINALLY_INTENDED_RECIP_EMAIL_ADDRESS. The MAPI property PR_ORIGINALLY_INTENDED_RECIP_ENTRYID. The MAPI property PR_ORIGINALLY_INTENDED_RECIP_ENTRYID. The MAPI property PR_ORIGINALLY_INTENDED_RECIPIENT_NAME. The MAPI property PR_ORIGINALLY_INTENDED_RECIPIENT_NAME. The MAPI property PR_ORIGINAL_SEARCH_KEY. The MAPI property PR_ORIGINAL_SEARCH_KEY. The MAPI property PR_ORIGINAL_SENDER_ADDRTYPE. The MAPI property PR_ORIGINAL_SENDER_ADDRTYPE. The MAPI property PR_ORIGINAL_SENDER_ADDRTYPE. The MAPI property PR_ORIGINAL_SENDER_ADDRTYPE. The MAPI property PR_ORIGINAL_SENDER_EMAIL_ADDRESS. The MAPI property PR_ORIGINAL_SENDER_EMAIL_ADDRESS. The MAPI property PR_ORIGINAL_SENDER_EMAIL_ADDRESS. The MAPI property PR_ORIGINAL_SENDER_EMAIL_ADDRESS. The MAPI property PR_ORIGINAL_SENDER_ENTRYID. The MAPI property PR_ORIGINAL_SENDER_ENTRYID. The MAPI property PR_ORIGINAL_SENDER_NAME. The MAPI property PR_ORIGINAL_SENDER_NAME. The MAPI property PR_ORIGINAL_SENDER_NAME. The MAPI property PR_ORIGINAL_SENDER_NAME. The MAPI property PR_ORIGINAL_SENDER_SEARCH_KEY. The MAPI property PR_ORIGINAL_SENDER_SEARCH_KEY. The MAPI property PR_ORIGINAL_SENSITIVITY. The MAPI property PR_ORIGINAL_SENSITIVITY. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_ADDRTYPE. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_ADDRTYPE. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_ADDRTYPE. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_ADDRTYPE. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_EMAIL_ADDRESS. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_EMAIL_ADDRESS. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_EMAIL_ADDRESS. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_EMAIL_ADDRESS. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_ENTRYID. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_ENTRYID. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_NAME. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_NAME. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_NAME. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_NAME. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_SEARCH_KEY. The MAPI property PR_ORIGINAL_SENT_REPRESENTING_SEARCH_KEY. The MAPI property PR_ORIGINAL_SUBJECT. The MAPI property PR_ORIGINAL_SUBJECT. The MAPI property PR_ORIGINAL_SUBJECT. The MAPI property PR_ORIGINAL_SUBJECT. The MAPI property PR_ORIGINAL_SUBMIT_TIME. The MAPI property PR_ORIGINAL_SUBMIT_TIME. The MAPI property PR_ORIGINATING_MTA_CERTIFICATE. The MAPI property PR_ORIGINATING_MTA_CERTIFICATE. The MAPI property PR_ORIGINATOR_AND_DL_EXPANSION_HISTORY. The MAPI property PR_ORIGINATOR_AND_DL_EXPANSION_HISTORY. The MAPI property PR_ORIGINATOR_CERTIFICATE. The MAPI property PR_ORIGINATOR_CERTIFICATE. The MAPI property PR_ORIGINATOR_DELIVERY_REPORT_REQUESTED. The MAPI property PR_ORIGINATOR_DELIVERY_REPORT_REQUESTED. The MAPI property PR_ORIGINATOR_NON_DELIVERY_REPORT_REQUESTED. The MAPI property PR_ORIGINATOR_NON_DELIVERY_REPORT_REQUESTED. The MAPI property PR_ORIGINATOR_REQUESTED_ALTERNATE_RECIPIENT. The MAPI property PR_ORIGINATOR_REQUESTED_ALTERNATE_RECIPIENT. The MAPI property PR_ORIGINATOR_RETURN_ADDRESS. The MAPI property PR_ORIGINATOR_RETURN_ADDRESS. The MAPI property PR_ORIGIN_CHECK. The MAPI property PR_ORIGIN_CHECK. The MAPI property PR_ORIG_MESSAGE_CLASS. The MAPI property PR_ORIG_MESSAGE_CLASS. The MAPI property PR_ORIG_MESSAGE_CLASS. The MAPI property PR_ORIG_MESSAGE_CLASS. The MAPI property PR_OTHER_ADDRESS_CITY. The MAPI property PR_OTHER_ADDRESS_CITY. The MAPI property PR_OTHER_ADDRESS_CITY. The MAPI property PR_OTHER_ADDRESS_CITY. The MAPI property PR_OTHER_ADDRESS_COUNTRY. The MAPI property PR_OTHER_ADDRESS_COUNTRY. The MAPI property PR_OTHER_ADDRESS_COUNTRY. The MAPI property PR_OTHER_ADDRESS_COUNTRY. The MAPI property PR_OTHER_ADDRESS_POSTAL_CODE. The MAPI property PR_OTHER_ADDRESS_POSTAL_CODE. The MAPI property PR_OTHER_ADDRESS_POSTAL_CODE. The MAPI property PR_OTHER_ADDRESS_POSTAL_CODE. The MAPI property PR_OTHER_ADDRESS_POST_OFFICE_BOX. The MAPI property PR_OTHER_ADDRESS_POST_OFFICE_BOX. The MAPI property PR_OTHER_ADDRESS_POST_OFFICE_BOX. The MAPI property PR_OTHER_ADDRESS_POST_OFFICE_BOX. The MAPI property PR_OTHER_ADDRESS_STATE_OR_PROVINCE. The MAPI property PR_OTHER_ADDRESS_STATE_OR_PROVINCE. The MAPI property PR_OTHER_ADDRESS_STATE_OR_PROVINCE. The MAPI property PR_OTHER_ADDRESS_STATE_OR_PROVINCE. The MAPI property PR_OTHER_ADDRESS_STREET. The MAPI property PR_OTHER_ADDRESS_STREET. The MAPI property PR_OTHER_ADDRESS_STREET. The MAPI property PR_OTHER_ADDRESS_STREET. The MAPI property PR_OTHER_TELEPHONE_NUMBER. The MAPI property PR_OTHER_TELEPHONE_NUMBER. The MAPI property PR_OTHER_TELEPHONE_NUMBER. The MAPI property PR_OTHER_TELEPHONE_NUMBER. The MAPI property PR_OWNER_APPT_ID. The MAPI property PR_OWNER_APPT_ID. The MAPI property PR_OWN_STORE_ENTRYID. The MAPI property PR_OWN_STORE_ENTRYID. The MAPI property PR_PAGER_TELEPHONE_NUMBER. The MAPI property PR_PAGER_TELEPHONE_NUMBER. The MAPI property PR_PAGER_TELEPHONE_NUMBER. The MAPI property PR_PAGER_TELEPHONE_NUMBER. The MAPI property PR_PARENT_DISPLAY. The MAPI property PR_PARENT_DISPLAY. The MAPI property PR_PARENT_DISPLAY. The MAPI property PR_PARENT_DISPLAY. The MAPI property PR_PARENT_ENTRYID. The MAPI property PR_PARENT_ENTRYID. The MAPI property PR_PARENT_KEY. The MAPI property PR_PARENT_KEY. The MAPI property PR_PERSONAL_HOME_PAGE. The MAPI property PR_PERSONAL_HOME_PAGE. The MAPI property PR_PERSONAL_HOME_PAGE. The MAPI property PR_PERSONAL_HOME_PAGE. The MAPI property PR_PHYSICAL_DELIVERY_BUREAU_FAX_DELIVERY. The MAPI property PR_PHYSICAL_DELIVERY_BUREAU_FAX_DELIVERY. The MAPI property PR_PHYSICAL_DELIVERY_MODE. The MAPI property PR_PHYSICAL_DELIVERY_MODE. The MAPI property PR_PHYSICAL_DELIVERY_REPORT_REQUEST. The MAPI property PR_PHYSICAL_DELIVERY_REPORT_REQUEST. The MAPI property PR_PHYSICAL_FORWARDING_ADDRESS. The MAPI property PR_PHYSICAL_FORWARDING_ADDRESS. The MAPI property PR_PHYSICAL_FORWARDING_ADDRESS_REQUESTED. The MAPI property PR_PHYSICAL_FORWARDING_ADDRESS_REQUESTED. The MAPI property PR_PHYSICAL_FORWARDING_PROHIBITED. The MAPI property PR_PHYSICAL_FORWARDING_PROHIBITED. The MAPI property PR_PHYSICAL_RENDITION_ATTRIBUTES. The MAPI property PR_PHYSICAL_RENDITION_ATTRIBUTES. The MAPI property PR_POSTAL_ADDRESS. The MAPI property PR_POSTAL_ADDRESS. The MAPI property PR_POSTAL_ADDRESS. The MAPI property PR_POSTAL_ADDRESS. The MAPI property PR_POSTAL_CODE. The MAPI property PR_POSTAL_CODE. The MAPI property PR_POSTAL_CODE. The MAPI property PR_POSTAL_CODE. The MAPI property PR_POST_FOLDER_ENTRIES. The MAPI property PR_POST_FOLDER_ENTRIES. The MAPI property PR_POST_FOLDER_NAMES. The MAPI property PR_POST_FOLDER_NAMES. The MAPI property PR_POST_FOLDER_NAMES. The MAPI property PR_POST_FOLDER_NAMES. The MAPI property PR_POST_OFFICE_BOX. The MAPI property PR_POST_OFFICE_BOX. The MAPI property PR_POST_OFFICE_BOX. The MAPI property PR_POST_OFFICE_BOX. The MAPI property PR_POST_REPLY_DENIED. The MAPI property PR_POST_REPLY_DENIED. The MAPI property PR_POST_REPLY_FOLDER_ENTRIES. The MAPI property PR_POST_REPLY_FOLDER_ENTRIES. The MAPI property PR_POST_REPLY_FOLDER_NAMES. The MAPI property PR_POST_REPLY_FOLDER_NAMES. The MAPI property PR_POST_REPLY_FOLDER_NAMES. The MAPI property PR_POST_REPLY_FOLDER_NAMES. The MAPI property PR_PREFERRED_BY_NAME. The MAPI property PR_PREFERRED_BY_NAME. The MAPI property PR_PREFERRED_BY_NAME. The MAPI property PR_PREFERRED_BY_NAME. The MAPI property PR_PREPROCESS. The MAPI property PR_PREPROCESS. The MAPI property PR_PRIMARY_CAPABILITY. The MAPI property PR_PRIMARY_CAPABILITY. The MAPI property PR_PRIMARY_FAX_NUMBER. The MAPI property PR_PRIMARY_FAX_NUMBER. The MAPI property PR_PRIMARY_FAX_NUMBER. The MAPI property PR_PRIMARY_FAX_NUMBER. The MAPI property PR_PRIMARY_TELEPHONE_NUMBER. The MAPI property PR_PRIMARY_TELEPHONE_NUMBER. The MAPI property PR_PRIMARY_TELEPHONE_NUMBER. The MAPI property PR_PRIMARY_TELEPHONE_NUMBER. The MAPI property PR_PRIORITY. The MAPI property PR_PRIORITY. The MAPI property PR_PROFESSION. The MAPI property PR_PROFESSION. The MAPI property PR_PROFESSION. The MAPI property PR_PROFESSION. The MAPI property PR_PROFILE_NAME. The MAPI property PR_PROFILE_NAME. The MAPI property PR_PROFILE_NAME. The MAPI property PR_PROFILE_NAME. The MAPI property PR_PROOF_OF_DELIVERY. The MAPI property PR_PROOF_OF_DELIVERY. The MAPI property PR_PROOF_OF_DELIVERY_REQUESTED. The MAPI property PR_PROOF_OF_DELIVERY_REQUESTED. The MAPI property PR_PROOF_OF_SUBMISSION. The MAPI property PR_PROOF_OF_SUBMISSION. The MAPI property PR_PROOF_OF_SUBMISSION_REQUESTED. The MAPI property PR_PROOF_OF_SUBMISSION_REQUESTED. The MAPI property PR_PROVIDER_DISPLAY. The MAPI property PR_PROVIDER_DISPLAY. The MAPI property PR_PROVIDER_DISPLAY. The MAPI property PR_PROVIDER_DISPLAY. The MAPI property PR_PROVIDER_DLL_NAME. The MAPI property PR_PROVIDER_DLL_NAME. The MAPI property PR_PROVIDER_DLL_NAME. The MAPI property PR_PROVIDER_DLL_NAME. The MAPI property PR_PROVIDER_ORDINAL. The MAPI property PR_PROVIDER_ORDINAL. The MAPI property PR_PROVIDER_SUBMIT_TIME. The MAPI property PR_PROVIDER_SUBMIT_TIME. The MAPI property PR_PROVIDER_UID. The MAPI property PR_PROVIDER_UID. The MAPI property PR_PUID. The MAPI property PR_PUID. The MAPI property PR_RADIO_TELEPHONE_NUMBER. The MAPI property PR_RADIO_TELEPHONE_NUMBER. The MAPI property PR_RADIO_TELEPHONE_NUMBER. The MAPI property PR_RADIO_TELEPHONE_NUMBER. The MAPI property PR_RCVD_REPRESENTING_ADDRTYPE. The MAPI property PR_RCVD_REPRESENTING_ADDRTYPE. The MAPI property PR_RCVD_REPRESENTING_ADDRTYPE. The MAPI property PR_RCVD_REPRESENTING_ADDRTYPE. The MAPI property PR_RCVD_REPRESENTING_EMAIL_ADDRESS. The MAPI property PR_RCVD_REPRESENTING_EMAIL_ADDRESS. The MAPI property PR_RCVD_REPRESENTING_EMAIL_ADDRESS. The MAPI property PR_RCVD_REPRESENTING_EMAIL_ADDRESS. The MAPI property PR_RCVD_REPRESENTING_ENTRYID. The MAPI property PR_RCVD_REPRESENTING_ENTRYID. The MAPI property PR_RCVD_REPRESENTING_NAME. The MAPI property PR_RCVD_REPRESENTING_NAME. The MAPI property PR_RCVD_REPRESENTING_NAME. The MAPI property PR_RCVD_REPRESENTING_NAME. The MAPI property PR_RCVD_REPRESENTING_SEARCH_KEY. The MAPI property PR_RCVD_REPRESENTING_SEARCH_KEY. The MAPI property PR_READ_RECEIPT_ENTRYID. The MAPI property PR_READ_RECEIPT_ENTRYID. The MAPI property PR_READ_RECEIPT_REQUESTED. The MAPI property PR_READ_RECEIPT_REQUESTED. The MAPI property PR_READ_RECEIPT_SEARCH_KEY. The MAPI property PR_READ_RECEIPT_SEARCH_KEY. The MAPI property PR_RECEIPT_TIME. The MAPI property PR_RECEIPT_TIME. The MAPI property PR_RECEIVED_BY_ADDRTYPE. The MAPI property PR_RECEIVED_BY_ADDRTYPE. The MAPI property PR_RECEIVED_BY_ADDRTYPE. The MAPI property PR_RECEIVED_BY_ADDRTYPE. The MAPI property PR_RECEIVED_BY_EMAIL_ADDRESS. The MAPI property PR_RECEIVED_BY_EMAIL_ADDRESS. The MAPI property PR_RECEIVED_BY_EMAIL_ADDRESS. The MAPI property PR_RECEIVED_BY_EMAIL_ADDRESS. The MAPI property PR_RECEIVED_BY_ENTRYID. The MAPI property PR_RECEIVED_BY_ENTRYID. The MAPI property PR_RECEIVED_BY_NAME. The MAPI property PR_RECEIVED_BY_NAME. The MAPI property PR_RECEIVED_BY_NAME. The MAPI property PR_RECEIVED_BY_NAME. The MAPI property PR_RECEIVED_BY_SEARCH_KEY. The MAPI property PR_RECEIVED_BY_SEARCH_KEY. The MAPI property PR_RECEIVE_FOLDER_SETTINGS. The MAPI property PR_RECEIVE_FOLDER_SETTINGS. The MAPI property PR_RECIPIENT_CERTIFICATE. The MAPI property PR_RECIPIENT_CERTIFICATE. The MAPI property PR_RECIPIENT_NUMBER_FOR_ADVICE. The MAPI property PR_RECIPIENT_NUMBER_FOR_ADVICE. The MAPI property PR_RECIPIENT_NUMBER_FOR_ADVICE. The MAPI property PR_RECIPIENT_NUMBER_FOR_ADVICE. The MAPI property PR_RECIPIENT_REASSIGNMENT_PROHIBITED. The MAPI property PR_RECIPIENT_REASSIGNMENT_PROHIBITED. The MAPI property PR_RECIPIENT_STATUS. The MAPI property PR_RECIPIENT_STATUS. The MAPI property PR_RECIPIENT_TYPE. The MAPI property PR_RECIPIENT_TYPE. The MAPI property PR_REDIRECTION_HISTORY. The MAPI property PR_REDIRECTION_HISTORY. The MAPI property PR_REFERRED_BY_NAME. The MAPI property PR_REFERRED_BY_NAME. The MAPI property PR_REFERRED_BY_NAME. The MAPI property PR_REFERRED_BY_NAME. The MAPI property PR_REGISTERED_MAIL_TYPE. The MAPI property PR_REGISTERED_MAIL_TYPE. The MAPI property PR_RELATED_IPMS. The MAPI property PR_RELATED_IPMS. The MAPI property PR_REMOTE_PROGRESS. The MAPI property PR_REMOTE_PROGRESS. The MAPI property PR_REMOTE_PROGRESS_TEXT. The MAPI property PR_REMOTE_PROGRESS_TEXT. The MAPI property PR_REMOTE_PROGRESS_TEXT. The MAPI property PR_REMOTE_PROGRESS_TEXT. The MAPI property PR_REMOTE_VALIDATE_OK. The MAPI property PR_REMOTE_VALIDATE_OK. The MAPI property PR_RENDERING_POSITION. The MAPI property PR_RENDERING_POSITION. The MAPI property PR_REPLY_RECIPIENT_ENTRIES. The MAPI property PR_REPLY_RECIPIENT_ENTRIES. The MAPI property PR_REPLY_RECIPIENT_NAMES. The MAPI property PR_REPLY_RECIPIENT_NAMES. The MAPI property PR_REPLY_RECIPIENT_NAMES. The MAPI property PR_REPLY_RECIPIENT_NAMES. The MAPI property PR_REPLY_REQUESTED. The MAPI property PR_REPLY_REQUESTED. The MAPI property PR_REPLY_TIME. The MAPI property PR_REPLY_TIME. The MAPI property PR_REPORT_ENTRYID. The MAPI property PR_REPORT_ENTRYID. The MAPI property PR_REPORTING_DL_NAME. The MAPI property PR_REPORTING_DL_NAME. The MAPI property PR_REPORTING_MTA_CERTIFICATE. The MAPI property PR_REPORTING_MTA_CERTIFICATE. The MAPI property PR_REPORT_NAME. The MAPI property PR_REPORT_NAME. The MAPI property PR_REPORT_NAME. The MAPI property PR_REPORT_NAME. The MAPI property PR_REPORT_SEARCH_KEY. The MAPI property PR_REPORT_SEARCH_KEY. The MAPI property PR_REPORT_TAG. The MAPI property PR_REPORT_TAG. The MAPI property PR_REPORT_TEXT. The MAPI property PR_REPORT_TEXT. The MAPI property PR_REPORT_TEXT. The MAPI property PR_REPORT_TEXT. The MAPI property PR_REPORT_TIME. The MAPI property PR_REPORT_TIME. The MAPI property PR_REQUESTED_DELIVERY_METHOD. The MAPI property PR_REQUESTED_DELIVERY_METHOD. The MAPI property PR_RESOURCE_FLAGS. The MAPI property PR_RESOURCE_FLAGS. The MAPI property PR_RESOURCE_METHODS. The MAPI property PR_RESOURCE_METHODS. The MAPI property PR_RESOURCE_PATH. The MAPI property PR_RESOURCE_PATH. The MAPI property PR_RESOURCE_PATH. The MAPI property PR_RESOURCE_PATH. The MAPI property PR_RESOURCE_TYPE. The MAPI property PR_RESOURCE_TYPE. The MAPI property PR_RESPONSE_REQUESTED. The MAPI property PR_RESPONSE_REQUESTED. The MAPI property PR_RESPONSIBILITY. The MAPI property PR_RESPONSIBILITY. The MAPI property PR_RETURNED_IPM. The MAPI property PR_RETURNED_IPM. The MAPI property PR_ROWID. The MAPI property PR_ROWID. The MAPI property PR_ROW_TYPE. The MAPI property PR_ROW_TYPE. The MAPI property PR_RTF_COMPRESSED. The MAPI property PR_RTF_COMPRESSED. The MAPI property PR_RTF_IN_SYNC. The MAPI property PR_RTF_IN_SYNC. The MAPI property PR_RTF_SYNC_BODY_COUNT. The MAPI property PR_RTF_SYNC_BODY_COUNT. The MAPI property PR_RTF_SYNC_BODY_CRC. The MAPI property PR_RTF_SYNC_BODY_CRC. The MAPI property PR_RTF_SYNC_BODY_TAG. The MAPI property PR_RTF_SYNC_BODY_TAG. The MAPI property PR_RTF_SYNC_BODY_TAG. The MAPI property PR_RTF_SYNC_BODY_TAG. The MAPI property PR_RTF_SYNC_PREFIX_COUNT. The MAPI property PR_RTF_SYNC_PREFIX_COUNT. The MAPI property PR_RTF_SYNC_TRAILING_COUNT. The MAPI property PR_RTF_SYNC_TRAILING_COUNT. The MAPI property PR_SEARCH. The MAPI property PR_SEARCH. The MAPI property PR_SEARCH_KEY. The MAPI property PR_SEARCH_KEY. The MAPI property PR_SECURITY. The MAPI property PR_SECURITY. The MAPI property PR_SELECTABLE. The MAPI property PR_SELECTABLE. The MAPI property PR_SENDER_ADDRTYPE. The MAPI property PR_SENDER_ADDRTYPE. The MAPI property PR_SENDER_ADDRTYPE. The MAPI property PR_SENDER_ADDRTYPE. The MAPI property PR_SENDER_EMAIL_ADDRESS. The MAPI property PR_SENDER_EMAIL_ADDRESS. The MAPI property PR_SENDER_EMAIL_ADDRESS. The MAPI property PR_SENDER_EMAIL_ADDRESS. The MAPI property PR_SENDER_ENTRYID. The MAPI property PR_SENDER_ENTRYID. The MAPI property PR_SENDER_NAME. The MAPI property PR_SENDER_NAME. The MAPI property PR_SENDER_NAME. The MAPI property PR_SENDER_NAME. The MAPI property PR_SENDER_SEARCH_KEY. The MAPI property PR_SENDER_SEARCH_KEY. The MAPI property PR_SEND_INTERNET_ENCODING. The MAPI property PR_SEND_INTERNET_ENCODING. The MAPI property PR_SEND_RECALL_REPORT The MAPI property PR_SEND_RECALL_REPORT. The MAPI property PR_SEND_RICH_INFO. The MAPI property PR_SEND_RICH_INFO. The MAPI property PR_SENSITIVITY. The MAPI property PR_SENSITIVITY. The MAPI property PR_SENTMAIL_ENTRYID. The MAPI property PR_SENTMAIL_ENTRYID. The MAPI property PR_SENT_REPRESENTING_ADDRTYPE. The MAPI property PR_SENT_REPRESENTING_ADDRTYPE. The MAPI property PR_SENT_REPRESENTING_ADDRTYPE. The MAPI property PR_SENT_REPRESENTING_ADDRTYPE. The MAPI property PR_SENT_REPRESENTING_EMAIL_ADDRESS. The MAPI property PR_SENT_REPRESENTING_EMAIL_ADDRESS. The MAPI property PR_SENT_REPRESENTING_EMAIL_ADDRESS. The MAPI property PR_SENT_REPRESENTING_EMAIL_ADDRESS. The MAPI property PR_SENT_REPRESENTING_ENTRYID. The MAPI property PR_SENT_REPRESENTING_ENTRYID. The MAPI property PR_SENT_REPRESENTING_NAME. The MAPI property PR_SENT_REPRESENTING_NAME. The MAPI property PR_SENT_REPRESENTING_NAME. The MAPI property PR_SENT_REPRESENTING_NAME. The MAPI property PR_SENT_REPRESENTING_SEARCH_KEY. The MAPI property PR_SENT_REPRESENTING_SEARCH_KEY. The MAPI property PR_SERVICE_DELETE_FILES. The MAPI property PR_SERVICE_DELETE_FILES. The MAPI property PR_SERVICE_DELETE_FILES. The MAPI property PR_SERVICE_DELETE_FILES. The MAPI property PR_SERVICE_DLL_NAME. The MAPI property PR_SERVICE_DLL_NAME. The MAPI property PR_SERVICE_DLL_NAME. The MAPI property PR_SERVICE_DLL_NAME. The MAPI property PR_SERVICE_ENTRY_NAME. The MAPI property PR_SERVICE_ENTRY_NAME. The MAPI property PR_SERVICE_EXTRA_UIDS. The MAPI property PR_SERVICE_EXTRA_UIDS. The MAPI property PR_SERVICE_NAME. The MAPI property PR_SERVICE_NAME. The MAPI property PR_SERVICE_NAME. The MAPI property PR_SERVICE_NAME. The MAPI property PR_SERVICES. The MAPI property PR_SERVICES. The MAPI property PR_SERVICE_SUPPORT_FILES. The MAPI property PR_SERVICE_SUPPORT_FILES. The MAPI property PR_SERVICE_SUPPORT_FILES. The MAPI property PR_SERVICE_SUPPORT_FILES. The MAPI property PR_SERVICE_UID. The MAPI property PR_SERVICE_UID. The MAPI property PR_SEVEN_BIT_DISPLAY_NAME. The MAPI property PR_SEVEN_BIT_DISPLAY_NAME. The MAPI property PR_SMTP_ADDRESS. The MAPI property PR_SMTP_ADDRESS. The MAPI property PR_SMTP_ADDRESS. The MAPI property PR_SMTP_ADDRESS. The MAPI property PR_SPOOLER_STATUS. The MAPI property PR_SPOOLER_STATUS. The MAPI property PR_SPOUSE_NAME. The MAPI property PR_SPOUSE_NAME. The MAPI property PR_SPOUSE_NAME. The MAPI property PR_SPOUSE_NAME. The MAPI property PR_START_DATE. The MAPI property PR_START_DATE. The MAPI property PR_STATE_OR_PROVINCE. The MAPI property PR_STATE_OR_PROVINCE. The MAPI property PR_STATE_OR_PROVINCE. The MAPI property PR_STATE_OR_PROVINCE. The MAPI property PR_STATUS. The MAPI property PR_STATUS. The MAPI property PR_STATUS_CODE. The MAPI property PR_STATUS_CODE. The MAPI property PR_STATUS_STRING. The MAPI property PR_STATUS_STRING. The MAPI property PR_STATUS_STRING. The MAPI property PR_STATUS_STRING. The MAPI property PR_STORE_ENTRYID. The MAPI property PR_STORE_ENTRYID. The MAPI property PR_STORE_PROVIDERS. The MAPI property PR_STORE_PROVIDERS. The MAPI property PR_STORE_RECORD_KEY. The MAPI property PR_STORE_RECORD_KEY. The MAPI property PR_STORE_STATE. The MAPI property PR_STORE_STATE. The MAPI property PR_STORE_SUPPORT_MASK. The MAPI property PR_STORE_SUPPORT_MASK. The MAPI property PR_STREET_ADDRESS. The MAPI property PR_STREET_ADDRESS. The MAPI property PR_STREET_ADDRESS. The MAPI property PR_STREET_ADDRESS. The MAPI property PR_SUBFOLDERS. The MAPI property PR_SUBFOLDERS. The MAPI property PR_SUBJECT. The MAPI property PR_SUBJECT. The MAPI property PR_SUBJECT. The MAPI property PR_SUBJECT. The MAPI property PR_SUBJECT_IPM. The MAPI property PR_SUBJECT_IPM. The MAPI property PR_SUBJECT_PREFIX. The MAPI property PR_SUBJECT_PREFIX. The MAPI property PR_SUBJECT_PREFIX. The MAPI property PR_SUBJECT_PREFIX. The MAPI property PR_SUBMIT_FLAGS. The MAPI property PR_SUBMIT_FLAGS. The MAPI property PR_SUPERSEDES. The MAPI property PR_SUPERSEDES. The MAPI property PR_SUPERSEDES. The MAPI property PR_SUPERSEDES. The MAPI property PR_SUPPLEMENTARY_INFO. The MAPI property PR_SUPPLEMENTARY_INFO. The MAPI property PR_SUPPLEMENTARY_INFO. The MAPI property PR_SUPPLEMENTARY_INFO. The MAPI property PR_SURNAME. The MAPI property PR_SURNAME. The MAPI property PR_SURNAME. The MAPI property PR_SURNAME. The MAPI property PR_TELEX_NUMBER. The MAPI property PR_TELEX_NUMBER. The MAPI property PR_TELEX_NUMBER. The MAPI property PR_TELEX_NUMBER. The MAPI property PR_TEMPLATEID. The MAPI property PR_TEMPLATEID. The MAPI property PR_TITLE. The MAPI property PR_TITLE. The MAPI property PR_TITLE. The MAPI property PR_TITLE. The MAPI property PR_TNEF_CORRELATION_KEY. The MAPI property PR_TNEF_CORRELATION_KEY. The MAPI property PR_TRANSMITABLE_DISPLAY_NAME. The MAPI property PR_TRANSMITABLE_DISPLAY_NAME. The MAPI property PR_TRANSMITABLE_DISPLAY_NAME. The MAPI property PR_TRANSMITABLE_DISPLAY_NAME. The MAPI property PR_TRANSPORT_KEY. The MAPI property PR_TRANSPORT_KEY. The MAPI property PR_TRANSPORT_MESSAGE_HEADERS. The MAPI property PR_TRANSPORT_MESSAGE_HEADERS. The MAPI property PR_TRANSPORT_MESSAGE_HEADERS. The MAPI property PR_TRANSPORT_MESSAGE_HEADERS. The MAPI property PR_TRANSPORT_PROVIDERS. The MAPI property PR_TRANSPORT_PROVIDERS. The MAPI property PR_TRANSPORT_STATUS. The MAPI property PR_TRANSPORT_STATUS. The MAPI property PR_TTYDD_PHONE_NUMBER. The MAPI property PR_TTYDD_PHONE_NUMBER. The MAPI property PR_TTYDD_PHONE_NUMBER. The MAPI property PR_TTYDD_PHONE_NUMBER. The MAPI property PR_TYPE_OF_MTS_USER. The MAPI property PR_TYPE_OF_MTS_USER. The MAPI property PR_USER_CERTIFICATE. The MAPI property PR_USER_CERTIFICATE. The MAPI property PR_USER_X509_CERTIFICATE. The MAPI property PR_USER_X509_CERTIFICATE. The MAPI property PR_VALID_FOLDER_MASK. The MAPI property PR_VALID_FOLDER_MASK. The MAPI property PR_VIEWS_ENTRYID. The MAPI property PR_VIEWS_ENTRYID. The MAPI property PR_WEDDING_ANNIVERSARY. The MAPI property PR_WEDDING_ANNIVERSARY. The MAPI property PR_X400_CONTENT_TYPE. The MAPI property PR_X400_CONTENT_TYPE. The MAPI property PR_X400_DEFERRED_DELIVERY_CANCEL. The MAPI property PR_X400_DEFERRED_DELIVERY_CANCEL. The MAPI property PR_XPOS. The MAPI property PR_XPOS. The MAPI property PR_YPOS. The MAPI property PR_YPOS. Gets the property identifier. Gets the property identifier. The identifier. Gets a value indicating whether or not the property contains multiple values. Gets a value indicating whether or not the property contains multiple values. true if the property contains multiple values; otherwise, false. Gets a value indicating whether or not the property has a special name. Gets a value indicating whether or not the property has a special name. true if the property has a special name; otherwise, false. Gets a value indicating whether the property value type is valid. Gets a value indicating whether the property value type is valid. true if the property value type is valid; otherwise, false. Gets the property's value type (including the multi-valued bit). Gets the property's value type (including the multi-valued bit). The property's value type. Gets the type of the value that the property contains. Gets the type of the value that the property contains. The type of the value. Initializes a new instance of the struct. Creates a new based on a 32-bit integer tag as read from a TNEF stream. The property tag. Initializes a new instance of the struct. Creates a new based on a and . The property identifier. The property type. Casts an integer tag value into a TNEF property tag. Casts an integer tag value into a TNEF property tag. A that represents the integer tag value. The integer tag value. Casts a TNEF property tag into a 32-bit integer value. Casts a TNEF property tag into a 32-bit integer value. A 32-bit integer value representing the TNEF property tag. The TNEF property tag. Serves as a hash function for a object. Serves as a hash function for a object. A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a hash table. Determines whether the specified is equal to the current . Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Returns a that represents the current . Returns a that represents the current . A that represents the current . Returns a new where the type has been changed to . Returns a new where the type has been changed to . The unicode equivalent of the property tag. The type of value that a TNEF property contains. The type of value that a TNEF property contains. The type of the property is unspecified. The property has a null value. The property has a signed 16-bit value. The property has a signed 32-bit value. THe property has a 32-bit floating point value. The property has a 64-bit floating point value. The property has a 64-bit integer value representing 1/10000th of a monetary unit (i.e., 1/100th of a cent). The property has a 64-bit integer value specifying the number of 100ns periods since Jan 1, 1601. The property has a 32-bit error value. The property has a boolean value. The property has an embedded object value. The property has a signed 64-bit value. The property has a null-terminated 8-bit character string value. The property has a null-terminated unicode character string value. The property has a 64-bit integer value specifying the number of 100ns periods since Jan 1, 1601. The property has an OLE GUID value. The property has a binary blob value. A flag indicating that the property contains multiple values. A TNEF reader. A TNEF reader. Gets the attachment key value. Gets the attachment key value. The attachment key value. Gets the current attribute's level. Gets the current attribute's level. The current attribute's level. Gets the length of the current attribute's raw value. Gets the length of the current attribute's raw value. The length of the current attribute's raw value. Gets the stream offset of the current attribute's raw value. Gets the stream offset of the current attribute's raw value. The stream offset of the current attribute's raw value. Gets the current attribute's tag. Gets the current attribute's tag. The current attribute's tag. Gets the compliance mode. Gets the compliance mode. The compliance mode. Gets the current compliance status of the TNEF stream. Gets the current compliance status of the TNEF stream. As the reader progresses, this value may change if errors are encountered. The compliance status. Gets the message codepage. Gets the message codepage. The message codepage. Gets the TNEF property reader. Gets the TNEF property reader. The TNEF property reader. Gets the current stream offset. Gets the current stream offset. The stream offset. Gets the TNEF version. Gets the TNEF version. The TNEF version. Initializes a new instance of the class. When reading a TNEF stream using the mode, a will be thrown immediately at the first sign of invalid or corrupted data. When reading a TNEF stream using the mode, however, compliance issues are accumulated in the property, but exceptions are not raised unless the stream is too corrupted to continue. The input stream. The default message codepage. The compliance mode. is null. is not a valid codepage. is not a supported codepage. The TNEF stream is corrupted or invalid. Initializes a new instance of the class. Creates a new for the specified input stream. The input stream. is null. Releases unmanaged resources and performs other cleanup operations before the is reclaimed by garbage collection. Releases unmanaged resources and performs other cleanup operations before the is reclaimed by garbage collection. Advances to the next attribute in the TNEF stream. Advances to the next attribute in the TNEF stream. true if there is another attribute available to be read; otherwise false. The TNEF stream is corrupted or invalid. Reads the raw attribute value data from the underlying TNEF stream. Reads the raw attribute value data from the underlying TNEF stream. The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not available, or zero (0) if the end of the value has been reached. The buffer to read data into. The offset into the buffer to start reading data. The number of bytes to read. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. An I/O error occurred. Resets the compliance status. Resets the compliance status. Closes the TNEF reader and the underlying stream. Closes the TNEF reader and the underlying stream. Releases the unmanaged resources used by the and optionally releases the managed resources. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only the unmanaged resources. Releases all resource used by the object. Call when you are finished using the . The method leaves the in an unusable state. After calling , you must release all references to the so the garbage collector can reclaim the memory that the was occupying. A stream for reading raw values from a or . A stream for reading raw values from a or . Initializes a new instance of the class. Creates a stream for reading a raw value from the . The . The end offset of the data. The end offset of the container value. Checks whether or not the stream supports reading. The is always readable. true if the stream supports reading; otherwise, false. Checks whether or not the stream supports writing. Writing to a is not supported. true if the stream supports writing; otherwise, false. Checks whether or not the stream supports seeking. Seeking within a is not supported. true if the stream supports seeking; otherwise, false. Gets the length of the stream, in bytes. Getting the length of a is not supported. The length of the stream in bytes. The stream does not support seeking. Gets or sets the current position within the stream. Getting and setting the position of a is not supported. The position of the stream. The stream does not support seeking. Reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. Reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. The buffer to read data into. The offset into the buffer to start reading data. The number of bytes to read. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . The stream has been disposed. An I/O error occurred. Writes a sequence of bytes to the stream and advances the current position within this stream by the number of bytes written. The does not support writing. The buffer to write. The offset of the first byte to write. The number of bytes to write. The stream does not support writing. Sets the position within the current stream. The does not support seeking. The new position within the stream. The offset into the stream relative to the . The origin to seek from. The stream does not support seeking. Clears all buffers for this stream and causes any buffered data to be written to the underlying device. The does not support writing. The stream does not support writing. Sets the length of the stream. The does not support setting the length. The desired length of the stream in bytes. The stream does not support setting the length. Releases the unmanaged resources used by the and optionally releases the managed resources. The underlying is not disposed. true to release both managed and unmanaged resources; false to release only the unmanaged resources. Provides a pool of reusable buffers. Renting and returning buffers with a can increase performance in situations where buffers are created and destroyed frequently, resulting in significant memory pressure on the garbage collector. This class is thread-safe. All members may be used by multiple threads concurrently. Initializes a new instance of the class. Creates a new buffer pool. The buffer size. The maximum number of buffers that should be retained by the pool. is less than 1. -or- is less than 1. Get the size of the buffers returned and/or retained by the pool. Gets the size of the buffers returned and/or retained by the pool. The size of the buffer. Get the maximum number of buffers that the pool should retain. Gets the maximum number of buffers that the pool should retain. The max buffer count. Rent a buffer from the pool. Returns a buffer from the pool. This buffer should later be returned back to the pool using when the caller is finished using it so that it may be reused in subsequent uses of . The rented buffer. true if the buffer should be cleared; otherwise, false. Return the specified buffer to the pool. Once a buffer has been returned to the pool, the caller gives up all ownership of the buffer and must not use it. The reference returned from a given call to must only be returned via once. The default may hold onto the returned buffer in order to rent it again, or it may release the returned buffer if it is determined that the pool already contains the maximum number of buffers as specified by . The buffer. is null. The size of the does not match . The 32-bit cyclic redundancy check (CRC) algorithm. A cyclic redundancy check is a form of integrity check to make sure that a block of data has not been corrupted. Initializes a new instance of the class. Creates a new CRC32 context. The initial value. Clones the CRC32 context and state. Clones the CRC32 context and state. Gets the computed checksum. Gets the computed checksum. The checksum. Updates the CRC based on the specified block of data. Updates the CRC based on the specified block of data. The buffer to read data into. The offset into the buffer to start reading data. The number of bytes to read. is null. is less than zero or greater than the length of . -or- The is not large enough to contain bytes starting at the specified . Updates the CRC based on the specified byte. Updates the CRC based on the specified byte. The byte value. Resets the checksum so that the context can be reused. Resets the checksum so that the context can be reused. Utility methods to parse and format rfc822 date strings. Utility methods to parse and format rfc822 date strings. Tries to parse the given input buffer into a new instance. Parses an rfc822 date and time from the supplied buffer starting at the given index and spanning across the specified number of bytes. true, if the date was successfully parsed, false otherwise. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. The parsed date. is null. and do not specify a valid range in the byte array. Tries to parse the given input buffer into a new instance. Parses an rfc822 date and time from the supplied buffer starting at the specified index. true, if the date was successfully parsed, false otherwise. The input buffer. The starting index of the input buffer. The parsed date. is null. is not within the range of the byte array. Tries to parse the given input buffer into a new instance. Parses an rfc822 date and time from the specified buffer. true, if the date was successfully parsed, false otherwise. The input buffer. The parsed date. is null. Tries to parse the given input buffer into a new instance. Parses an rfc822 date and time from the specified text. true, if the date was successfully parsed, false otherwise. The input text. The parsed date. is null. Formats the as an rfc822 date string. Formats the date and time in the format specified by rfc822, suitable for use in the Date header of MIME messages. The formatted string. The date. MIME utility methods. Various utility methods that don't belong anywhere else. A string comparer that performs a case-insensitive ordinal string comparison. A string comparer that performs a case-insensitive ordinal string comparison. Generates a Message-Id. Generates a new Message-Id using the supplied domain. The message identifier. A domain to use. is null. is invalid. Generates a Message-Id. Generates a new Message-Id using the local machine's domain. The message identifier. Enumerates the message-id references such as those that can be found in the In-Reply-To or References header. Incrementally parses Message-Ids (such as those from a References header in a MIME message) from the supplied buffer starting at the given index and spanning across the specified number of bytes. The references. The raw byte buffer to parse. The index into the buffer to start parsing. The length of the buffer to parse. is null. and do not specify a valid range in the byte array. Enumerates the message-id references such as those that can be found in the In-Reply-To or References header. Incrementally parses Message-Ids (such as those from a References header in a MIME message) from the specified text. The references. The text to parse. is null. Parses a Message-Id header value. Parses the Message-Id value, returning the addr-spec portion of the msg-id token. The addr-spec portion of the msg-id token. The raw byte buffer to parse. The index into the buffer to start parsing. The length of the buffer to parse. is null. and do not specify a valid range in the byte array. Parses a Message-Id header value. Parses the Message-Id value, returning the addr-spec portion of the msg-id token. The addr-spec portion of the msg-id token. The text to parse. is null. Tries to parse a version from a header such as Mime-Version. Parses a MIME version string from the supplied buffer starting at the given index and spanning across the specified number of bytes. true, if the version was successfully parsed, false otherwise. The raw byte buffer to parse. The index into the buffer to start parsing. The length of the buffer to parse. The parsed version. is null. and do not specify a valid range in the byte array. Tries to parse a version from a header such as Mime-Version. Parses a MIME version string from the specified text. true, if the version was successfully parsed, false otherwise. The text to parse. The parsed version. is null. Tries to parse the value of a Content-Transfer-Encoding header. Parses a Content-Transfer-Encoding header value. true, if the encoding was successfully parsed, false otherwise. The text to parse. The parsed encoding. is null. Quotes the specified text. Quotes the specified text, enclosing it in double-quotes and escaping any backslashes and double-quotes within. The quoted text. The text to quote. is null. Unquotes the specified text. Unquotes the specified text, removing any escaped backslashes within. The unquoted text. The text to unquote. is null. An optimized version of StringComparer.OrdinalIgnoreCase. An optimized version of StringComparer.OrdinalIgnoreCase. Initializes a new instance of the class. Creates a new . Compare the input strings for equality. Compares the input strings for equality. trueif and refer to the same object, or and are equal, or and are null; otherwise, false. A string to compare to . A string to compare to . Get the hash code for the specified string. Get the hash code for the specified string. A 32-bit signed hash code calculated from the value of the parameter. The string. is null. Utility methods for encoding and decoding rfc2047 encoded-word tokens. Utility methods for encoding and decoding rfc2047 encoded-word tokens. Decodes the phrase. Decodes the phrase(s) starting at the given index and spanning across the specified number of bytes using the supplied parser options. The decoded phrase. The parser options to use. The phrase to decode. The starting index. The number of bytes to decode. is null. -or- is null. and do not specify a valid range in the byte array. Decodes the phrase. Decodes the phrase(s) starting at the given index and spanning across the specified number of bytes using the default parser options. The decoded phrase. The phrase to decode. The starting index. The number of bytes to decode. is null. and do not specify a valid range in the byte array. Decodes the phrase. Decodes the phrase(s) within the specified buffer using the supplied parser options. The decoded phrase. The parser options to use. The phrase to decode. is null. -or- is null. Decodes the phrase. Decodes the phrase(s) within the specified buffer using the default parser options. The decoded phrase. The phrase to decode. is null. Decodes unstructured text. Decodes the unstructured text buffer starting at the given index and spanning across the specified number of bytes using the supplied parser options. The decoded text. The parser options to use. The text to decode. The starting index. The number of bytes to decode. is null. -or- is null. and do not specify a valid range in the byte array. Decodes unstructured text. Decodes the unstructured text buffer starting at the given index and spanning across the specified number of bytes using the default parser options. The decoded text. The text to decode. The starting index. The number of bytes to decode. is null. and do not specify a valid range in the byte array. Decodes unstructured text. Decodes the unstructured text buffer using the specified parser options. The decoded text. The parser options to use. The text to decode. is null. -or- is null. Decodes unstructured text. Decodes the unstructured text buffer using the default parser options. The decoded text. The text to decode. is null. Encodes the phrase. Encodes the phrase according to the rules of rfc2047 using the specified charset encoding and formatting options. The encoded phrase. The formatting options The charset encoding. The phrase to encode. is null. -or- is null. -or- is null. Encodes the phrase. Encodes the phrase according to the rules of rfc2047 using the specified charset encoding. The encoded phrase. The charset encoding. The phrase to encode. is null. -or- is null. Encodes the unstructured text. Encodes the unstructured text according to the rules of rfc2047 using the specified charset encoding and formatting options. The encoded text. The formatting options The charset encoding. The text to encode. is null. -or- is null. -or- is null. Encodes the unstructured text. Encodes the unstructured text according to the rules of rfc2047 using the specified charset encoding. The encoded text. The charset encoding. The text to encode. is null. -or- is null. A MIME message and entity parser. A MIME parser is used to parse and objects from arbitrary streams. Asynchronously parses a list of headers from the stream. Parses a list of headers from the stream. The parsed list of headers. The cancellation token. The operation was canceled via the cancellation token. There was an error parsing the headers. An I/O error occurred. Asynchronously parses an entity from the stream. Parses an entity from the stream. The parsed entity. The cancellation token. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Asynchronously parses a message from the stream. Parses a message from the stream. The parsed message. The cancellation token. The operation was canceled via the cancellation token. There was an error parsing the message. An I/O error occurred. Initializes a new instance of the class. Creates a new that will parse the specified stream. If is true and is seekable, then the will not copy the content of s into memory. Instead, it will use a to reference a substream of . This has the potential to not only save memory usage, but also improve performance. It should be noted, however, that disposing will make it impossible for to read the content. The stream to parse. The format of the stream. true if the stream is persistent; otherwise false. is null. Initializes a new instance of the class. Creates a new that will parse the specified stream. If is true and is seekable, then the will not copy the content of s into memory. Instead, it will use a to reference a substream of . This has the potential to not only save memory usage, but also improve performance. It should be noted, however, that disposing will make it impossible for to read the content. The stream to parse. true if the stream is persistent; otherwise false. is null. Initializes a new instance of the class. Creates a new that will parse the specified stream. If is true and is seekable, then the will not copy the content of s into memory. Instead, it will use a to reference a substream of . This has the potential to not only save memory usage, but also improve performance. It should be noted, however, that disposing will make it impossible for to read the content. The parser options. The stream to parse. true if the stream is persistent; otherwise false. is null. -or- is null. Initializes a new instance of the class. Creates a new that will parse the specified stream. If is true and is seekable, then the will not copy the content of s into memory. Instead, it will use a to reference a substream of . This has the potential to not only save memory usage, but also improve performance. It should be noted, however, that disposing will make it impossible for to read the content. The parser options. The stream to parse. The format of the stream. true if the stream is persistent; otherwise false. is null. -or- is null. Gets a value indicating whether the parser has reached the end of the input stream. Gets a value indicating whether the parser has reached the end of the input stream. true if this parser has reached the end of the input stream; otherwise, false. Gets the current position of the parser within the stream. Gets the current position of the parser within the stream. The stream offset. Gets the most recent mbox marker offset. Gets the most recent mbox marker offset. The mbox marker offset. Gets the most recent mbox marker. Gets the most recent mbox marker. The mbox marker. Sets the stream to parse. Sets the stream to parse. If is true and is seekable, then the will not copy the content of s into memory. Instead, it will use a to reference a substream of . This has the potential to not only save memory usage, but also improve performance. It should be noted, however, that disposing will make it impossible for to read the content. The parser options. The stream to parse. The format of the stream. true if the stream is persistent; otherwise false. is null. -or- is null. Sets the stream to parse. Sets the stream to parse. If is true and is seekable, then the will not copy the content of s into memory. Instead, it will use a to reference a substream of . This has the potential to not only save memory usage, but also improve performance. It should be noted, however, that disposing will make it impossible for to read the content. The parser options. The stream to parse. true if the stream is persistent; otherwise false. is null. -or- is null. Sets the stream to parse. Sets the stream to parse. If is true and is seekable, then the will not copy the content of s into memory. Instead, it will use a to reference a substream of . This has the potential to not only save memory usage, but also improve performance. It should be noted, however, that disposing will make it impossible for to read the content. The stream to parse. The format of the stream. true if the stream is persistent; otherwise false. is null. Sets the stream to parse. Sets the stream to parse. If is true and is seekable, then the will not copy the content of s into memory. Instead, it will use a to reference a substream of . This has the potential to not only save memory usage, but also improve performance. It should be noted, however, that disposing will make it impossible for to read the content. The stream to parse. true if the stream is persistent; otherwise false. is null. Parses a list of headers from the stream. Parses a list of headers from the stream. The parsed list of headers. The cancellation token. The operation was canceled via the cancellation token. There was an error parsing the headers. An I/O error occurred. Parses an entity from the stream. Parses an entity from the stream. The parsed entity. The cancellation token. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Parses a message from the stream. Parses a message from the stream. The parsed message. The cancellation token. The operation was canceled via the cancellation token. There was an error parsing the message. An I/O error occurred. Enumerates the messages in the stream. This is mostly useful when parsing mbox-formatted streams. The enumerator. Enumerates the messages in the stream. This is mostly useful when parsing mbox-formatted streams. The enumerator. A collection of attachments. The is only used when building a message body with a . Initializes a new instance of the class. Creates a new . If is true, then the attachments are treated as if they are linked to another . If set to true; the attachments are treated as linked resources. Initializes a new instance of the class. Creates a new . Gets the number of attachments currently in the collection. Indicates the number of attachments in the collection. The number of attachments. Gets whther or not the collection is read-only. A is never read-only. true if the collection is read only; otherwise, false. Gets or sets the at the specified index. Gets or sets the at the specified index. The attachment at the specified index. The index. is null. is out of range. Add the specified attachment. Adds the specified data as an attachment using the supplied Content-Type. The file name parameter is used to set the Content-Location. For a list of known mime-types and their associated file extensions, see http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types The newly added attachment . The name of the file. The file data. The mime-type of the file. is null. -or- is null. -or- is null. The specified file path is empty. Add the specified attachment. Adds the specified data as an attachment using the supplied Content-Type. The file name parameter is used to set the Content-Location. For a list of known mime-types and their associated file extensions, see http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types The newly added attachment . The name of the file. The content stream. The mime-type of the file. is null. -or- is null. -or- is null. The specified file path is empty. -or- The stream cannot be read. Add the specified attachment. Adds the data as an attachment, using the specified file name for deducing the mime-type by extension and for setting the Content-Location. The newly added attachment . The name of the file. The file data to attach. is null. -or- is null. The specified file path is empty. Add the specified attachment. Adds the stream as an attachment, using the specified file name for deducing the mime-type by extension and for setting the Content-Location. The newly added attachment . The name of the file. The content stream. is null. -or- is null. The specified file path is empty. -or- The stream cannot be read Add the specified attachment. Adds the specified file as an attachment using the supplied Content-Type. For a list of known mime-types and their associated file extensions, see http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types The newly added attachment . The name of the file. The mime-type of the file. is null. -or- is null. The specified file path is empty. The specified file could not be found. The user does not have access to read the specified file. An I/O error occurred. Add the specified attachment. Adds the specified file as an attachment. The newly added attachment . The name of the file. is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . is an invalid file path. The specified file path could not be found. The user does not have access to read the specified file. An I/O error occurred. Add the specified attachment. Adds the specified as an attachment. The attachment. is null. Clears the attachment collection. Removes all attachments from the collection. Checks if the collection contains the specified attachment. Determines whether or not the collection contains the specified attachment. true if the specified attachment exists; otherwise false. The attachment. is null. Copies all of the attachments in the collection to the specified array. Copies all of the attachments within the into the array, starting at the specified array index. The array to copy the attachments to. The index into the array. is null. is out of range. Gets the index of the requested attachment, if it exists. Finds the index of the specified attachment, if it exists. The index of the requested attachment; otherwise -1. The attachment. is null. Inserts the specified attachment at the given index. Inserts the attachment at the specified index. The index to insert the attachment. The attachment. is null. is out of range. Removes the specified attachment. Removes the specified attachment. true if the attachment was removed; otherwise false. The attachment. is null. Removes the attachment at the specified index. Removes the attachment at the specified index. The index. is out of range. Gets an enumerator for the list of attachments. Gets an enumerator for the list of attachments. The enumerator. Gets an enumerator for the list of attachments. Gets an enumerator for the list of attachments. The enumerator. A message body builder. is a helper class for building common MIME body structures. Initializes a new instance of the class. Creates a new . Gets the attachments. Represents a collection of file attachments that will be included in the message. The attachments. Gets the linked resources. Linked resources are a special type of attachment which are linked to from the . The linked resources. Gets or sets the text body. Represents the plain-text formatted version of the message body. The text body. Gets or sets the html body. Represents the html formatted version of the message body and may link to any of the . The html body. Constructs the message body based on the text-based bodies, the linked resources, and the attachments. Combines the , , , and into the proper MIME structure suitable for display in many common mail clients. The message body. A class representing a Content-Disposition header value. The Content-Disposition header is a way for the originating client to suggest to the receiving client whether to present the part to the user as an attachment or as part of the content (inline). The attachment disposition. Indicates that the should be treated as an attachment. The form-data disposition. Indicates that the should be treated as form data. The inline disposition. Indicates that the should be rendered inline. Initializes a new instance of the class. The disposition should either be or . The disposition. is null. is not "attachment" or "inline". Initializes a new instance of the class. This is identical to with a disposition value of . Gets or sets the disposition. The disposition is typically either "attachment" or "inline". The disposition. is null. is an invalid disposition value. Gets or sets a value indicating whether the is an attachment. A convenience property to determine if the entity should be considered an attachment or not. true if the is an attachment; otherwise, false. Gets the parameters. In addition to specifying whether the entity should be treated as an attachment vs displayed inline, the Content-Disposition header may also contain parameters to provide further information to the receiving client such as the file attributes. The parameters. Gets or sets the name of the file. When set, this can provide a useful hint for a default file name for the content when the user decides to save it to disk. The name of the file. Gets or sets the creation-date parameter. Refers to the date and time that the content file was created on the originating system. This parameter serves little purpose and is typically not used by mail clients. The creation date. Gets or sets the modification-date parameter. Refers to the date and time that the content file was last modified on the originating system. This parameter serves little purpose and is typically not used by mail clients. The modification date. Gets or sets the read-date parameter. Refers to the date and time that the content file was last read on the originating system. This parameter serves little purpose and is typically not used by mail clients. The read date. Gets or sets the size parameter. When set, the size parameter typically refers to the original size of the content on disk. This parameter is rarely used by mail clients as it serves little purpose. The size. Serializes the to a string, optionally encoding the parameters. Creates a string-representation of the , optionally encoding the parameters as they would be encoded for trabsport. The serialized string. The formatting options. The charset to be used when encoding the parameter values. If set to true, the parameter values will be encoded. is null. -or- is null. Serializes the to a string, optionally encoding the parameters. Creates a string-representation of the , optionally encoding the parameters as they would be encoded for trabsport. The serialized string. The charset to be used when encoding the parameter values. If set to true, the parameter values will be encoded. is null. Returns a that represents the current . Creates a string-representation of the . A that represents the current . Tries to parse the given input buffer into a new instance. Parses a Content-Disposition value from the supplied buffer starting at the given index and spanning across the specified number of bytes. true if the disposition was successfully parsed; otherwise, false. The parser options. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. The parsed disposition. is null. -or- is null. and do not specify a valid range in the byte array. Tries to parse the given input buffer into a new instance. Parses a Content-Disposition value from the supplied buffer starting at the given index and spanning across the specified number of bytes. true if the disposition was successfully parsed; otherwise, false. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. The parsed disposition. is null. and do not specify a valid range in the byte array. Tries to parse the given input buffer into a new instance. Parses a Content-Disposition value from the supplied buffer starting at the specified index. true if the disposition was successfully parsed; otherwise, false. The parser options. The input buffer. The starting index of the input buffer. The parsed disposition. is null. -or- is null. is out of range. Tries to parse the given input buffer into a new instance. Parses a Content-Disposition value from the supplied buffer starting at the specified index. true if the disposition was successfully parsed; otherwise, false. The input buffer. The starting index of the input buffer. The parsed disposition. is null. is out of range. Tries to parse the given input buffer into a new instance. Parses a Content-Disposition value from the specified buffer. true if the disposition was successfully parsed; otherwise, false. The parser options. The input buffer. The parsed disposition. is null. -or- is null. Tries to parse the given input buffer into a new instance. Parses a Content-Disposition value from the specified buffer. true if the disposition was successfully parsed; otherwise, false. The input buffer. The parsed disposition. is null. Tries to parse the given text into a new instance. Parses a Content-Disposition value from the supplied text. true if the disposition was successfully parsed; otherwise, false. The parser options. The text to parse. The parsed disposition. is null. -or- is null. Tries to parse the given text into a new instance. Parses a Content-Disposition value from the supplied text. true if the disposition was successfully parsed; otherwise, false. The text to parse. The parsed disposition. is null. Parse the specified input buffer into a new instance of the class. Parses a Content-Disposition value from the supplied buffer starting at the given index and spanning across the specified number of bytes. The parsed . The parser options. The input buffer. The start index of the buffer. The length of the buffer. is null. -or- is null. and do not specify a valid range in the byte array. The could not be parsed. Parse the specified input buffer into a new instance of the class. Parses a Content-Disposition value from the supplied buffer starting at the given index and spanning across the specified number of bytes. The parsed . The input buffer. The start index of the buffer. The length of the buffer. is null. and do not specify a valid range in the byte array. The could not be parsed. Parse the specified input buffer into a new instance of the class. Parses a Content-Disposition value from the supplied buffer starting at the specified index. The parsed . The parser options. The input buffer. The start index of the buffer. is null. -or- is null. is out of range. The could not be parsed. Parse the specified input buffer into a new instance of the class. Parses a Content-Disposition value from the supplied buffer starting at the specified index. The parsed . The input buffer. The start index of the buffer. is null. is out of range. The could not be parsed. Parse the specified input buffer into a new instance of the class. Parses a Content-Disposition value from the supplied buffer. The parsed . The parser options. The input buffer. is null. -or- is null. The could not be parsed. Parse the specified input buffer into a new instance of the class. Parses a Content-Disposition value from the supplied buffer. The parsed . The input buffer. is null. The could not be parsed. Parse the specified text into a new instance of the class. Parses a Content-Disposition value from the specified text. The parsed . The parser options. The input text. is null. -or- is null. The could not be parsed. Parse the specified text into a new instance of the class. Parses a Content-Disposition value from the specified text. The parsed . The input text. is null. The could not be parsed. An enumeration of all supported content transfer encodings. Some older mail software is unable to properly deal with data outside of the ASCII range, so it is sometimes necessary to encode the content of MIME entities. The default encoding (aka no encoding at all). The 7bit content transfer encoding. This encoding should be restricted to textual content in the US-ASCII range. The 8bit content transfer encoding. This encoding should be restricted to textual content outside of the US-ASCII range but may not be supported by all transport services such as older SMTP servers that do not support the 8BITMIME extension. The binary content transfer encoding. This encoding is simply unencoded binary data. Typically not supported by standard message transport services such as SMTP. The base64 content transfer encoding. This encoding is typically used for encoding binary data or textual content in a largely 8bit charset encoding and is supported by all message transport services. The quoted-printable content transfer encoding. This encoding is used for textual content that is in a charset that has a minority of characters outside of the US-ASCII range (such as ISO-8859-1 and other single-byte charset encodings) and is supported by all message transport services. The uuencode content transfer encoding. This is an obsolete encoding meant for encoding binary data and has largely been superceeded by . A class representing a Content-Type header value. The Content-Type header is a way for the originating client to suggest to the receiving client the mime-type of the content and, depending on that mime-type, presentation options such as charset. Initializes a new instance of the class. Creates a new based on the media type and subtype provided. Media type. Media subtype. is null. -or- is null. Gets or sets the type of the media. Represents the media type of the . Examples include "text", "image", and "application". This string should always be treated as case-insensitive. The type of the media. is null. Gets or sets the media subtype. Represents the media subtype of the . Examples include "html", "jpeg", and "octet-stream". This string should always be treated as case-insensitive. The media subtype. is null. Gets the parameters. In addition to the media type and subtype, the Content-Type header may also contain parameters to provide further hints to the receiving client as to how to process or display the content. The parameters. Gets or sets the boundary parameter. This is a special parameter on entities, designating to the parser a unique string that should be considered the boundary marker for each sub-part. The boundary. Gets or sets the charset parameter. Text-based entities will often include a charset parameter so that the receiving client can properly render the text. The charset. Gets or sets the format parameter. The format parameter is typically use with text/plain entities and will either have a value of "fixed" or "flowed". The charset. Gets the simple mime-type. Gets the simple mime-type. The mime-type. Gets or sets the name parameter. The name parameter is a way for the originiating client to suggest to the receiving client a display-name for the content, which may be used by the receiving client if it cannot display the actual content to the user. The name. Checks if the this instance of matches the specified MIME media type and subtype. If the specified or are "*", they match anything. true if the matches the provided media type and subtype. The media type. The media subtype. is null. -or- is null. Serializes the to a string, optionally encoding the parameters. Creates a string-representation of the , optionally encoding the parameters as they would be encoded for transport. The serialized string. The formatting options. The charset to be used when encoding the parameter values. If set to true, the parameter values will be encoded. is null. -or- is null. Serializes the to a string, optionally encoding the parameters. Creates a string-representation of the , optionally encoding the parameters as they would be encoded for transport. The serialized string. The charset to be used when encoding the parameter values. If set to true, the parameter values will be encoded. is null. Returns a that represents the current . Creates a string-representation of the . A that represents the current . Tries to parse the given input buffer into a new instance. Parses a Content-Type value from the supplied buffer starting at the given index and spanning across the specified number of bytes. true if the content type was successfully parsed; otherwise, false. The parser options. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. The parsed content type. is null. -or- is null. and do not specify a valid range in the byte array. Tries to parse the given input buffer into a new instance. Parses a Content-Type value from the supplied buffer starting at the given index and spanning across the specified number of bytes. true if the content type was successfully parsed; otherwise, false. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. The parsed content type. is null. and do not specify a valid range in the byte array. Tries to parse the given input buffer into a new instance. Parses a Content-Type value from the supplied buffer starting at the specified index. true if the content type was successfully parsed; otherwise, false. The parser options. The input buffer. The starting index of the input buffer. The parsed content type. is null. -or- is null. is out of range. Tries to parse the given input buffer into a new instance. Parses a Content-Type value from the supplied buffer starting at the specified index. true if the content type was successfully parsed; otherwise, false. The input buffer. The starting index of the input buffer. The parsed content type. is null. is out of range. Tries to parse the given input buffer into a new instance. Parses a Content-Type value from the specified buffer. true if the content type was successfully parsed; otherwise, false. The parser options. The input buffer. The parsed content type. is null. -or- is null. Tries to parse the given input buffer into a new instance. Parses a Content-Type value from the specified buffer. true if the content type was successfully parsed; otherwise, false. The input buffer. The parsed content type. is null. Tries to parse the given text into a new instance. Parses a Content-Type value from the specified text. true if the content type was successfully parsed; otherwise, false. THe parser options. The text to parse. The parsed content type. is null. -or- is null. Tries to parse the given text into a new instance. Parses a Content-Type value from the specified text. true if the content type was successfully parsed; otherwise, false. The text to parse. The parsed content type. is null. Parse the specified input buffer into a new instance of the class. Parses a Content-Type value from the supplied buffer starting at the given index and spanning across the specified number of bytes. The parsed . The parser options. The input buffer. The start index of the buffer. The length of the buffer. is null. -or- is null. and do not specify a valid range in the byte array. The could not be parsed. Parse the specified input buffer into a new instance of the class. Parses a Content-Type value from the supplied buffer starting at the given index and spanning across the specified number of bytes. The parsed . The input buffer. The start index of the buffer. The length of the buffer. is null. and do not specify a valid range in the byte array. The could not be parsed. Parse the specified input buffer into a new instance of the class. Parses a Content-Type value from the supplied buffer starting at the specified index. The parsed . The parser options. The input buffer. The start index of the buffer. is null. -or- is null. is out of range. The could not be parsed. Parse the specified input buffer into a new instance of the class. Parses a Content-Type value from the supplied buffer starting at the specified index. The parsed . The input buffer. The start index of the buffer. is null. is out of range. The could not be parsed. Parse the specified input buffer into a new instance of the class. Parses a Content-Type value from the specified buffer. The parsed . The parser options. The input buffer. is null. -or- is null. The could not be parsed. Parse the specified input buffer into a new instance of the class. Parses a Content-Type value from the specified buffer. The parsed . The input buffer. is null. The could not be parsed. Parse the specified text into a new instance of the class. Parses a Content-Type value from the specified text. The parsed . The parser options. The text. is null. -or- is null. The could not be parsed. Parse the specified text into a new instance of the class. Parses a Content-Type value from the specified text. The parsed . The text. is null. The could not be parsed. A domain list. Represents a list of domains, such as those that an email was routed through. Initializes a new instance of the class. Creates a new based on the domains provided. A domain list. is null. Initializes a new instance of the class. Creates a new . Gets the index of the requested domain, if it exists. Finds the index of the specified domain, if it exists. The index of the requested domain; otherwise -1. The domain. is null. Insert the domain at the specified index. Inserts the domain at the specified index in the list. The index to insert the domain. The domain to insert. is null. is out of range. Removes the domain at the specified index. Removes the domain at the specified index. The index. is out of range. Gets or sets the domain at the specified index. Gets or sets the domain at the specified index. The domain at the specified index. The index. is null. is out of range. Add the specified domain. Adds the specified domain to the end of the list. The domain. is null. Clears the domain list. Removes all of the domains in the list. Checks if the contains the specified domain. Determines whether or not the domain list contains the specified domain. true if the specified domain is contained; otherwise false. The domain. is null. Copies all of the domains in the to the specified array. Copies all of the domains within the into the array, starting at the specified array index. The array to copy the domains to. The index into the array. is null. is out of range. Removes the specified domain. Removes the first instance of the specified domain from the list if it exists. true if the domain was removed; otherwise false. The domain. is null. Gets the number of domains in the . Indicates the number of domains in the list. The number of domains. Gets a value indicating whether this instance is read only. A is never read-only. true if this instance is read only; otherwise, false. Gets an enumerator for the list of domains. Gets an enumerator for the list of domains. The enumerator. Gets an enumerator for the list of domains. Gets an enumerator for the list of domains. The enumerator. Returns a string representation of the list of domains. Each non-empty domain string will be prepended by an '@'. If there are multiple domains in the list, they will be separated by a comma. A string representing the . Tries to parse a list of domains. Attempts to parse a from the text buffer starting at the specified index. The index will only be updated if a was successfully parsed. true if a was successfully parsed; false otherwise. The buffer to parse. The index to start parsing. An index of the end of the input. A flag indicating whether or not an exception should be thrown on error. The parsed DomainList. Tries to parse a list of domains. Attempts to parse a from the supplied text. The index will only be updated if a was successfully parsed. true if a was successfully parsed; false otherwise. The text to parse. The parsed DomainList. is null. A content encoding constraint. Not all message transports support binary or 8-bit data, so it becomes necessary to constrain the content encoding to a subset of the possible Content-Transfer-Encoding values. There are no encoding constraints, the content may contain any byte. The content may contain bytes with the high bit set, but must not contain any zero-bytes. The content may only contain bytes within the 7-bit ASCII range. A New-Line format. There are two commonly used line-endings used by modern Operating Systems. Unix-based systems such as Linux and Mac OS use a single character ('\n' aka LF) to represent the end of line where-as Windows (or DOS) uses a sequence of two characters ("\r\n" aka CRLF). Most text-based network protocols such as SMTP, POP3, and IMAP use the CRLF sequence as well. The Unix New-Line format ("\n"). The DOS New-Line format ("\r\n"). Format options for serializing various MimeKit objects. Represents the available options for formatting MIME messages and entities when writing them to a stream. The default formatting options. If a custom is not passed to methods such as , the default options will be used. Gets or sets the maximum line length used by the encoders. The encoders use this value to determine where to place line breaks. Specifies the maximum line length to use when line-wrapping headers. The maximum line length. is out of range. It must be between 60 and 998. cannot be changed. Gets or sets the new-line format. Specifies the new-line encoding to use when writing the message or entity to a stream. The new-line format. cannot be changed. Gets or sets whether the formatter should ensure that messages end with a new-line sequence. By default, when writing a to a stream, the serializer attempts to maintain byte-for-byte compatibility with the original stream that the message was parsed from. This means that if the ogirinal message stream did not end with a new-line sequence, then the output of writing the message back to a stream will also not end with a new-line sequence. To override this behavior, you can set this property to true in order to ensure that writing the message back to a stream will always end with a new-line sequence. true in order to ensure that the message will end with a new-line sequence; otherwise, false. cannot be changed. Gets the message headers that should be hidden. Specifies the set of headers that should be removed when writing a to a stream. This is primarily meant for the purposes of removing Bcc and Resent-Bcc headers when sending via a transport such as SMTP. The message headers. Gets or sets whether the new "Internationalized Email" formatting standards should be used. The new "Internationalized Email" format is defined by rfc6530 and rfc6532. This feature should only be used when formatting messages meant to be sent via SMTP using the SMTPUTF8 extension (rfc6531) or when appending messages to an IMAP folder via UTF8 APPEND (rfc6855). true if the new internationalized formatting should be used; otherwise, false. cannot be changed. Gets or sets whether the formatter should allow mixed charsets in the headers. When this option is enabled, the MIME formatter will try to use us-ascii and/or iso-8859-1 to encode headers when appropriate rather than being forced to use the specified charset for all encoded-word tokens in order to maximize readability. Unfortunately, mail clients like Outlook and Thunderbird do not treat encoded-word tokens individually and assume that all tokens are encoded using the charset declared in the first encoded-word token despite the specification explicitly stating that each encoded-word token should be treated independently. The Thunderbird bug can be tracked at https://bugzilla.mozilla.org/show_bug.cgi?id=317263. true if the formatter should be allowed to use us-ascii and/or iso-8859-1 when encoding headers; otherwise, false. The method to use for encoding Content-Type and Content-Disposition parameter values. The method to use for encoding Content-Type and Content-Disposition parameter values when the is set to . The MIME specifications specify that the proper method for encoding Content-Type and Content-Disposition parameter values is the method described in rfc2231. However, it is common for some older email clients to improperly encode using the method described in rfc2047 instead. The parameter encoding method that will be used. is not a valid value. Initializes a new instance of the class. Creates a new set of formatting options for use with methods such as . Clones an instance of . Clones the formatting options. An exact copy of the . Get the default formatting options in a thread-safe way. Gets the default formatting options in a thread-safe way. The default formatting options. An address group, as specified by rfc0822. Group addresses are rarely used anymore. Typically, if you see a group address, it will be of the form: "undisclosed-recipients: ;". Initializes a new instance of the class. Creates a new with the specified name and list of addresses. The specified text encoding is used when encoding the name according to the rules of rfc2047. The character encoding to be used for encoding the name. The name of the group. A list of addresses. is null. Initializes a new instance of the class. Creates a new with the specified name and list of addresses. The name of the group. A list of addresses. Initializes a new instance of the class. Creates a new with the specified name. The specified text encoding is used when encoding the name according to the rules of rfc2047. The character encoding to be used for encoding the name. The name of the group. is null. Initializes a new instance of the class. Creates a new with the specified name. The name of the group. Clone the group address. Clones the group address. The cloned group address. Gets the members of the group. Represents the member addresses of the group. Typically the member addresses will be of the variety, but it is possible for groups to contain other groups. The list of members. Returns a string representation of the , optionally encoding it for transport. Returns a string containing the formatted group of addresses. If the parameter is true, then the name of the group and all member addresses will be encoded according to the rules defined in rfc2047, otherwise the names will not be encoded at all and will therefor only be suitable for display purposes. A string representing the . The formatting options. If set to true, the will be encoded. is null. Determines whether the specified is equal to the current . Compares two group addresses to determine if they are identical or not. The to compare with the current . true if the specified is equal to the current ; otherwise, false. Tries to parse the given input buffer into a new instance. Parses a single . If the address is not a group address or there is more than a single group address, then parsing will fail. true, if the address was successfully parsed, false otherwise. The parser options to use. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. The parsed group address. is null. -or- is null. and do not specify a valid range in the byte array. Tries to parse the given input buffer into a new instance. Parses a single . If the address is not a group address or there is more than a single group address, then parsing will fail. true, if the address was successfully parsed, false otherwise. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. The parsed group address. is null. and do not specify a valid range in the byte array. Tries to parse the given input buffer into a new instance. Parses a single . If the address is not a group address or there is more than a single group address, then parsing will fail. true, if the address was successfully parsed, false otherwise. The parser options to use. The input buffer. The starting index of the input buffer. The parsed group address. is null. -or- is null. is out of range. Tries to parse the given input buffer into a new instance. Parses a single . If the address is not a group address or there is more than a single group address, then parsing will fail. true, if the address was successfully parsed, false otherwise. The input buffer. The starting index of the input buffer. The parsed group address. is null. is out of range. Tries to parse the given input buffer into a new instance. Parses a single . If the address is not a group address or there is more than a single group address, then parsing will fail. true, if the address was successfully parsed, false otherwise. The parser options to use. The input buffer. The parsed group address. is null. -or- is null. Tries to parse the given input buffer into a new instance. Parses a single . If the address is not a group address or there is more than a single group address, then parsing will fail. true, if the address was successfully parsed, false otherwise. The input buffer. The parsed group address. is null. Tries to parse the given text into a new instance. Parses a single . If the address is not a group address or there is more than a single group address, then parsing will fail. true, if the address was successfully parsed, false otherwise. The parser options to use. The text. The parsed group address. is null. Tries to parse the given text into a new instance. Parses a single . If the address is not a group address or there is more than a single group address, then parsing will fail. true, if the address was successfully parsed, false otherwise. The text. The parsed group address. is null. Parses the given input buffer into a new instance. Parses a single . If the address is not a group address or there is more than a single group address, then parsing will fail. The parsed . The parser options to use. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. is null. -or- is null. and do not specify a valid range in the byte array. could not be parsed. Parses the given input buffer into a new instance. Parses a single . If the address is not a group address or there is more than a single group address, then parsing will fail. The parsed . The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. is null. and do not specify a valid range in the byte array. could not be parsed. Parses the given input buffer into a new instance. Parses a single . If the address is not a group address or there is more than a single group address, then parsing will fail. The parsed . The parser options to use. The input buffer. The starting index of the input buffer. is null. -or- is null. is out of range. could not be parsed. Parses the given input buffer into a new instance. Parses a single . If the address is not a group address or there is more than a single group address, then parsing will fail. The parsed . The input buffer. The starting index of the input buffer. is null. is out of range. could not be parsed. Parses the given input buffer into a new instance. Parses a single . If the address is not a group address or there is more than a single group address, then parsing will fail. The parsed . The parser options to use. The input buffer. is null. -or- is null. could not be parsed. Parses the given input buffer into a new instance. Parses a single . If the address is not a group address or there is more than a single group address, then parsing will fail. The parsed . The input buffer. is null. could not be parsed. Parses the given text into a new instance. Parses a single . If the address is not a group address or there is more than a single group address, then parsing will fail. The parsed . The parser options to use. The text. is null. -or- is null. could not be parsed. Parses the given text into a new instance. Parses a single . If the address is not a group address or there is more than a single group address, then parsing will fail. The parsed . The text. is null. could not be parsed. A class representing a Message or MIME header. Represents a single header field and value pair. Initializes a new instance of the class. Creates a new message or entity header for the specified field and value pair. The encoding is used to determine which charset to use when encoding the value according to the rules of rfc2047. The character encoding that should be used to encode the header value. The header identifier. The value of the header. is null. -or- is null. is not a valid . Initializes a new instance of the class. Creates a new message or entity header for the specified field and value pair. The encoding is used to determine which charset to use when encoding the value according to the rules of rfc2047. The charset that should be used to encode the header value. The header identifier. The value of the header. is null. -or- is null. is not a valid . is not supported. Initializes a new instance of the class. Creates a new message or entity header for the specified field and value pair with the UTF-8 encoding. The header identifier. The value of the header. is null. is not a valid . Initializes a new instance of the class. Creates a new message or entity header for the specified field and value pair. The encoding is used to determine which charset to use when encoding the value according to the rules of rfc2047. The character encoding that should be used to encode the header value. The name of the header field. The value of the header. is null. -or- is null. -or- is null. The contains illegal characters. Initializes a new instance of the class. Creates a new message or entity header for the specified field and value pair. The encoding is used to determine which charset to use when encoding the value according to the rules of rfc2047. The charset that should be used to encode the header value. The name of the header field. The value of the header. is null. -or- is null. -or- is null. The contains illegal characters. is not supported. Initializes a new instance of the class. Creates a new message or entity header for the specified field and value pair with the UTF-8 encoding. The name of the header field. The value of the header. is null. -or- is null. The contains illegal characters. Clone the header. Clones the header, copying the current RawValue. A copy of the header with its current state. Gets the stream offset of the beginning of the header. If the offset is set, it refers to the byte offset where it was found in the stream it was parsed from. The stream offset. Gets the name of the header field. Represents the field name of the header. The name of the header field. Gets the header identifier. This property is mainly used for switch-statements for performance reasons. The header identifier. Gets the raw field name of the header. Contains the raw field name of the header. The raw field name of the header. Gets the raw value of the header. Contains the raw value of the header, before any decoding or charset conversion. The raw value of the header. Gets or sets the header value. Represents the decoded header value and is suitable for displaying to the user. The header value. is null. Gets the header value using the specified character encoding. If the raw header value does not properly encode non-ASCII text, the decoder will fall back to a default charset encoding. Sometimes, however, this default charset fallback is wrong and the mail client may wish to override that default charset on a per-header basis. By using this method, the client is able to override the fallback charset on a per-header basis. The value. The character encoding to use as a fallback. Gets the header value using the specified charset. If the raw header value does not properly encode non-ASCII text, the decoder will fall back to a default charset encoding. Sometimes, however, this default charset fallback is wrong and the mail client may wish to override that default charset on a per-header basis. By using this method, the client is able to override the fallback charset on a per-header basis. The value. The charset to use as a fallback. Sets the header value using the specified formatting options and character encoding. When a particular charset is desired for encoding the header value according to the rules of rfc2047, this method should be used instead of the setter. The formatting options. A character encoding. The header value. is null. -or- is null. -or- is null. Sets the header value using the specified character encoding. When a particular charset is desired for encoding the header value according to the rules of rfc2047, this method should be used instead of the setter. A character encoding. The header value. is null. -or- is null. Sets the header value using the specified formatting options and charset. When a particular charset is desired for encoding the header value according to the rules of rfc2047, this method should be used instead of the setter. The formatting options. A charset encoding. The header value. is null. -or- is null. -or- is null. is not supported. Sets the header value using the specified charset. When a particular charset is desired for encoding the header value according to the rules of rfc2047, this method should be used instead of the setter. A charset encoding. The header value. is null. -or- is null. is not supported. Returns a string representation of the header. Formats the header field and value in a way that is suitable for display. A string representing the . Unfold the specified header value. Unfolds the header value so that it becomes suitable for display. Since is already unfolded, this method is really only needed when working with raw header strings. The unfolded header value. The header text. Tries to parse the given input buffer into a new instance. Parses a header from the supplied buffer starting at the given index and spanning across the specified number of bytes. true, if the header was successfully parsed, false otherwise. The parser options to use. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. The parsed header. is null. -or- is null. and do not specify a valid range in the byte array. Tries to parse the given input buffer into a new instance. Parses a header from the supplied buffer starting at the given index and spanning across the specified number of bytes. true, if the header was successfully parsed, false otherwise. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. The parsed header. is null. and do not specify a valid range in the byte array. Tries to parse the given input buffer into a new instance. Parses a header from the supplied buffer starting at the specified index. true, if the header was successfully parsed, false otherwise. The parser options to use. The input buffer. The starting index of the input buffer. The parsed header. is null. -or- is null. is out of range. Tries to parse the given input buffer into a new instance. Parses a header from the supplied buffer starting at the specified index. true, if the header was successfully parsed, false otherwise. The input buffer. The starting index of the input buffer. The parsed header. is null. is out of range. Tries to parse the given input buffer into a new instance. Parses a header from the specified buffer. true, if the header was successfully parsed, false otherwise. The parser options to use. The input buffer. The parsed header. is null. -or- is null. Tries to parse the given input buffer into a new instance. Parses a header from the specified buffer. true, if the header was successfully parsed, false otherwise. The input buffer. The parsed header. is null. Tries to parse the given text into a new instance. Parses a header from the specified text. true, if the header was successfully parsed, false otherwise. The parser options to use. The text to parse. The parsed header. is null. -or- is null. Tries to parse the given text into a new instance. Parses a header from the specified text. true, if the header was successfully parsed, false otherwise. The text to parse. The parsed header. is null. An enumeration of common header fields. Comparing enum values is not only faster, but less error prone than comparing strings. The Accept-Language header field. The Ad-Hoc header field. The Alternate-Recipient header field. The Apparently-To header field. The Approved header field. The ARC-Authentication-Results header field. The ARC-Message-Signature header field. The ARC-Seal header field. The Archive header field. The Archived-At header field. The Article header field. The Authentication-Results header field. The Autocrypt header field. The Autocrypt-Gossip header field. The Autocrypt-Setup-Message header field. The Autoforwarded header field. The Auto-Submitted header field. The Autosubmitted header field. The Base header field. The Bcc header field. The Body header field. The Bytes header field. The Cc header field. The Comments header field. The Content-Alternative header field. The Content-Base header field. The Content-Class header field. The Content-Description header field. The Content-Disposition header field. The Content-Duration header field. The Content-Features header field. The Content-Id header field. The Content-Identifier header field. The Content-Language header field. The Content-Length header field. The Content-Location header field. The Content-Md5 header field. The Content-Return header field. The Content-Transfer-Encoding header field. The Content-Translation-Type header field. The Content-Type header field. The Control header field. The Conversion header field. The Conversion-With-Loss header field. The Date header field. The Date-Received header field. The Deferred-Delivery header field. The Delivery-Date header field. The Disclose-Recipients header field. The Disposition-Notification-Options header field. The Disposition-Notification-To header field. The Distribution header field. The DKIM-Signature header field. The DomainKey-Signature header field. The Encoding header field. The Encrypted header field. The Expires header field. The Expiry-Date header field. The Followup-To header field. The From header field. The Generate-Delivery-Report header field. The Importance header field. The Injection-Date header field. The Injection-Info header field. The In-Reply-To header field. The Keywords header field. The Language header. The Latest-Delivery-Time header. The Lines header field. THe List-Archive header field. The List-Help header field. The List-Id header field. The List-Owner header field. The List-Post header field. The List-Subscribe header field. The List-Unsubscribe header field. The List-Unsubscribe-Post header field. The Message-Id header field. The MIME-Version header field. The Newsgroups header field. The Nntp-Posting-Host header field. The Organization header field. The Original-From header field. The Original-Message-Id header field. The Original-Recipient header field. The Original-Return-Address header field. The Original-Subject header field. The Path header field. The Precedence header field. The Prevent-NonDelivery-Report header field. The Priority header field. The Received header field. The Received-SPF header field. The References header field. The Relay-Version header field. The Reply-By header field. The Reply-To header field. The Require-Recipient-Valid-Since header field. The Resent-Bcc header field. The Resent-Cc header field. The Resent-Date header field. The Resent-From header field. The Resent-Message-Id header field. The Resent-Reply-To header field. The Resent-Sender header field. The Resent-To header field. The Return-Path header field. The Return-Receipt-To header field. The See-Also header field. The Sender header field. The Sensitivity header field. The Solicitation header field. The Status header field. The Subject header field. The Summary header field. The Supersedes header field. The To header field. The User-Agent header field. The X400-Content-Identifier header field. The X400-Content-Return header field. The X400-Content-Type header field. The X400-MTS-Identifier header field. The X400-Originator header field. The X400-Received header field. The X400-Recipients header field. The X400-Trace header field. The X-Mailer header field. The X-MSMail-Priority header field. The X-Priority header field. The X-Status header field. An unknown header field. extension methods. extension methods. Converts the enum value into the equivalent header field name. Converts the enum value into the equivalent header field name. The header name. The enum value. A list of s. Represents a list of headers as found in a or . Initializes a new instance of the class. Creates a new empty header list. Adds a header with the specified field and value. Adds a new header for the specified field and value pair. The header identifier. The header value. is null. is not a valid . Adds a header with the specified field and value. Adds a new header for the specified field and value pair. The name of the header field. The header value. is null. -or- is null. The contains illegal characters. Adds a header with the specified field and value. Adds a new header for the specified field and value pair. The header identifier. The character encoding to use for the value. The header value. is null. -or- is null. is not a valid . Adds a header with the specified field and value. Adds a new header for the specified field and value pair. The name of the header field. The character encoding to use for the value. The header value. is null. -or- is null. -or- is null. The contains illegal characters. Checks if the contains a header with the specified field name. Determines whether or not the header list contains the specified header. true if the requested header exists; otherwise false. The header identifier. is not a valid . Checks if the contains a header with the specified field name. Determines whether or not the header list contains the specified header. true if the requested header exists; otherwise false. The name of the header field. is null. Gets the index of the requested header, if it exists. Finds the first index of the specified header, if it exists. The index of the requested header; otherwise -1. The header id. is not a valid . Gets the index of the requested header, if it exists. Finds the first index of the specified header, if it exists. The index of the requested header; otherwise -1. The name of the header field. is null. Inserts a header with the specified field and value at the given index. Inserts the header at the specified index in the list. The index to insert the header. The header identifier. The header value. is null. is not a valid . -or- is out of range. Inserts a header with the specified field and value at the given index. Inserts the header at the specified index in the list. The index to insert the header. The name of the header field. The header value. is null. -or- is null. The contains illegal characters. is out of range. Inserts a header with the specified field and value at the given index. Inserts the header at the specified index in the list. The index to insert the header. The header identifier. The character encoding to use for the value. The header value. is null. -or- is null. is not a valid . -or- is out of range. Inserts a header with the specified field and value at the given index. Inserts the header at the specified index in the list. The index to insert the header. The name of the header field. The character encoding to use for the value. The header value. is null. -or- is null. -or- is null. The contains illegal characters. is out of range. Gets the last index of the requested header, if it exists. Finds the last index of the specified header, if it exists. The last index of the requested header; otherwise -1. The header id. is not a valid . Gets the last index of the requested header, if it exists. Finds the last index of the specified header, if it exists. The last index of the requested header; otherwise -1. The name of the header field. is null. Removes the first occurance of the specified header field. Removes the first occurance of the specified header field, if any exist. true if the first occurance of the specified header was removed; otherwise false. The header identifier. is is not a valid . Removes the first occurance of the specified header field. Removes the first occurance of the specified header field, if any exist. true if the first occurance of the specified header was removed; otherwise false. The name of the header field. is null. Removes all of the headers matching the specified field name. Removes all of the headers matching the specified field name. The header identifier. is not a valid . Removes all of the headers matching the specified field name. Removes all of the headers matching the specified field name. The name of the header field. is null. Replaces all headers with identical field names with the single specified header. Replaces all headers with identical field names with the single specified header. If no headers with the specified field name exist, it is simply added. The header identifier. The character encoding to use for the value. The header value. is null. -or- is null. is not a valid . Replaces all headers with identical field names with the single specified header. Replaces all headers with identical field names with the single specified header. If no headers with the specified field name exist, it is simply added. The header identifier. The header value. is null. is not a valid . Replaces all headers with identical field names with the single specified header. Replaces all headers with identical field names with the single specified header. If no headers with the specified field name exist, it is simply added. The name of the header field. The character encoding to use for the value. The header value. is null. -or- is null. -or- is null. Replaces all headers with identical field names with the single specified header. Replaces all headers with identical field names with the single specified header. If no headers with the specified field name exist, it is simply added. The name of the header field. The header value. is null. -or- is null. The contains illegal characters. Gets or sets the value of the first occurance of a header with the specified field name. Gets or sets the value of the first occurance of a header with the specified field name. The value of the first occurrance of the specified header if it exists; otherwise null. The header identifier. is null. Gets or sets the value of the first occurance of a header with the specified field name. Gets or sets the value of the first occurance of a header with the specified field name. The value of the first occurrance of the specified header if it exists; otherwise null. The name of the header field. is null. -or- is null. Write the to the specified output stream. Writes all of the headers to the output stream. The formatting options. The output stream. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. An I/O error occurred. Asynchronously write the to the specified output stream. Writes all of the headers to the output stream. A task that represents the asynchronous write operation. The formatting options. The output stream. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. An I/O error occurred. Write the to the specified output stream. Writes all of the headers to the output stream. The output stream. The cancellation token. is null. The operation was canceled via the cancellation token. An I/O error occurred. Asynchronously write the to the specified output stream. Writes all of the headers to the output stream. A task that represents the asynchronous write operation. The output stream. The cancellation token. is null. The operation was canceled via the cancellation token. An I/O error occurred. Gets the number of headers in the list. Gets the number of headers in the list. The number of headers. Gets whether or not the header list is read only. A is never read-only. true if this instance is read only; otherwise, false. Adds the specified header. Adds the specified header to the end of the header list. The header to add. is null. Clears the header list. Removes all of the headers from the list. Checks if the contains the specified header. Determines whether or not the header list contains the specified header. true if the specified header is contained; otherwise, false. The header. is null. Copies all of the headers in the to the specified array. Copies all of the headers within the into the array, starting at the specified array index. The array to copy the headers to. The index into the array. is null. is out of range. Removes the specified header. Removes the specified header from the list if it exists. true if the specified header was removed; otherwise false. The header. is null. Replaces all headers with identical field names with the single specified header. Replaces all headers with identical field names with the single specified header. If no headers with the specified field name exist, it is simply added. The header. is null. Gets the index of the requested header, if it exists. Finds the index of the specified header, if it exists. The index of the requested header; otherwise -1. The header. is null. Inserts the specified header at the given index. Inserts the header at the specified index in the list. The index to insert the header. The header. is null. is out of range. Removes the header at the specified index. Removes the header at the specified index. The index. is out of range. Gets or sets the at the specified index. Gets or sets the at the specified index. The header at the specified index. The index. is null. is out of range. Gets an enumerator for the list of headers. Gets an enumerator for the list of headers. The enumerator. Gets an enumerator for the list of headers. Gets an enumerator for the list of headers. The enumerator. Load a from the specified stream. Loads a from the given stream, using the specified . The parsed list of headers. The parser options. The stream. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. There was an error parsing the headers. An I/O error occurred. Asynchronously load a from the specified stream. Loads a from the given stream, using the specified . The parsed list of headers. The parser options. The stream. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. There was an error parsing the headers. An I/O error occurred. Load a from the specified stream. Loads a from the given stream, using the default . The parsed list of headers. The stream. The cancellation token. is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Asynchronously load a from the specified stream. Loads a from the given stream, using the default . The parsed list of headers. The stream. The cancellation token. is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Load a from the specified file. Loads a from the file at the give file path, using the specified . The parsed list of headers. The parser options. The name of the file to load. The cancellation token. is null. -or- is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . is an invalid file path. The specified file path could not be found. The user does not have access to read the specified file. The operation was canceled via the cancellation token. There was an error parsing the headers. An I/O error occurred. Asynchronously load a from the specified file. Loads a from the file at the give file path, using the specified . The parsed list of headers. The parser options. The name of the file to load. The cancellation token. is null. -or- is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . is an invalid file path. The specified file path could not be found. The user does not have access to read the specified file. The operation was canceled via the cancellation token. There was an error parsing the headers. An I/O error occurred. Load a from the specified file. Loads a from the file at the give file path, using the default . The parsed list of headers. The name of the file to load. The cancellation token. is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . is an invalid file path. The specified file path could not be found. The user does not have access to read the specified file. The operation was canceled via the cancellation token. There was an error parsing the headers. An I/O error occurred. Asynchronously load a from the specified file. Loads a from the file at the give file path, using the default . The parsed list of headers. The name of the file to load. The cancellation token. is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . is an invalid file path. The specified file path could not be found. The user does not have access to read the specified file. The operation was canceled via the cancellation token. There was an error parsing the headers. An I/O error occurred. Header list changed action. Specifies the way that a was changed. A header was added. A header was changed. A header was removed. The header list was cleared. A collection of groups. A collection of groups used with . Initializes a new instance of the class. Creates a new . Gets the number of groups in the collection. Gets the number of groups in the collection. The number of groups. Gets whether or not the header list collection is read only. A is never read-only. true if this instance is read only; otherwise, false. Gets or sets the at the specified index. Gets or sets the at the specified index. The group of headers at the specified index. The index. is null. is out of range. Adds the group of headers to the collection. Adds the group of headers to the collection. The group of headers. is null. Clears the header list collection. Removes all of the groups from the collection. Checks if the collection contains the specified group of headers. Determines whether or not the collection contains the specified group of headers. true if the specified group of headers is contained; otherwise, false. The group of headers. is null. Copies all of the header groups in the to the specified array. Copies all of the header groups within the into the array, starting at the specified array index. The array to copy the headers to. The index into the array. is null. is out of range. Removes the specified header group. Removes the specified header group from the collection, if it exists. true if the specified header group was removed; otherwise false. The group of headers. is null. Gets an enumerator for the groups of headers. Gets an enumerator for the groups of headers. The enumerator. Gets an enumerator for the groups of headers. Gets an enumerator for the groups of headers. The enumerator. An interface for content stream encapsulation as used by . Implemented by . Gets the content encoding. If the is not encoded, this value will be . Otherwise, it will be set to the raw content encoding of the stream. The encoding. Gets the content stream. Gets the content stream. The stream. Opens the decoded content stream. Provides a means of reading the decoded content without having to first write it to another stream using . The decoded content stream. Decodes the content stream into another stream. If the content stream is encoded, this method will decode it into the output stream using a suitable decoder based on the property, otherwise the stream will be copied into the output stream as-is. The output stream. The cancellation token. is null. The operation was cancelled via the cancellation token. An I/O error occurred. Asynchronously decodes the content stream into another stream. If the content stream is encoded, this method will decode it into the output stream using a suitable decoder based on the property, otherwise the stream will be copied into the output stream as-is. An awaitable task. The output stream. The cancellation token. is null. The operation was cancelled via the cancellation token. An I/O error occurred. Copies the content stream to the specified output stream. This is equivalent to simply using to copy the content stream to the output stream except that this method is cancellable. If you want the decoded content, use instead. The output stream. The cancellation token. is null. The operation was cancelled via the cancellation token. An I/O error occurred. Asynchronously copies the content stream to the specified output stream. This is equivalent to simply using to copy the content stream to the output stream except that this method is cancellable. If you want the decoded content, use instead. An awaitable task. The output stream. The cancellation token. is null. The operation was cancelled via the cancellation token. An I/O error occurred. An internet address, as specified by rfc0822. A can be any type of address defined by the original Internet Message specification. There are effectively two (2) types of addresses: mailboxes and groups. Mailbox addresses are what are most commonly known as email addresses and are represented by the class. Group addresses are themselves lists of addresses and are represented by the class. While rare, it is still important to handle these types of addresses. They typically only contain mailbox addresses, but may also contain other group addresses. Initializes a new instance of the class. Initializes the and properties of the internet address. The character encoding to be used for encoding the name. The name of the mailbox or group. is null. Gets or sets the character encoding to use when encoding the name of the address. The character encoding is used to convert the property, if it is set, to a stream of bytes when encoding the internet address for transport. The character encoding. is null. Gets or sets the display name of the address. A name is optional and is typically set to the name of the person or group that own the internet address. The name of the address. Clone the address. Clones the address. The cloned address. Compares two internet addresses. Compares two internet addresses for the purpose of sorting. The sort order of the current internet address compared to the other internet address. The internet address to compare to. is null. Determines whether the specified is equal to the current . Compares two internet addresses to determine if they are identical or not. The to compare with the current . true if the specified is equal to the current ; otherwise, false. Determines whether the specified object is equal to the current object. The type of comparison between the current instance and the parameter depends on whether the current instance is a reference type or a value type. The object to compare with the current object. true if the specified object is equal to the current object; otherwise, false. Returns the hash code for this instance. Returns the hash code for this instance. A hash code for the current object. Returns a string representation of the , optionally encoding it for transport. If the parameter is true, then this method will return an encoded version of the internet address according to the rules described in rfc2047. However, if the parameter is false, then this method will return a string suitable only for display purposes. A string representing the . The formatting options. If set to true, the will be encoded. is null. Returns a string representation of the , optionally encoding it for transport. If the parameter is true, then this method will return an encoded version of the internet address according to the rules described in rfc2047. However, if the parameter is false, then this method will return a string suitable only for display purposes. A string representing the . If set to true, the will be encoded. Returns a string representation of a suitable for display. The string returned by this method is suitable only for display purposes. A string representing the . Raises the internal changed event used by to keep headers in sync. This method is called whenever a property of the internet address is changed. Tries to parse the given input buffer into a new instance. Parses a single or . If the buffer contains more data, then parsing will fail. true, if the address was successfully parsed, false otherwise. The parser options to use. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. The parsed address. is null. -or- is null. and do not specify a valid range in the byte array. Tries to parse the given input buffer into a new instance. Parses a single or . If the buffer contains more data, then parsing will fail. true, if the address was successfully parsed, false otherwise. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. The parsed address. is null. and do not specify a valid range in the byte array. Tries to parse the given input buffer into a new instance. Parses a single or . If the buffer contains more data, then parsing will fail. true, if the address was successfully parsed, false otherwise. The parser options to use. The input buffer. The starting index of the input buffer. The parsed address. is null. -or- is null. is out of range. Tries to parse the given input buffer into a new instance. Parses a single or . If the buffer contains more data, then parsing will fail. true, if the address was successfully parsed, false otherwise. The input buffer. The starting index of the input buffer. The parsed address. is null. is out of range. Tries to parse the given input buffer into a new instance. Parses a single or . If the buffer contains more data, then parsing will fail. true, if the address was successfully parsed, false otherwise. The parser options to use. The input buffer. The parsed address. is null. -or- is null. Tries to parse the given input buffer into a new instance. Parses a single or . If the buffer contains more data, then parsing will fail. true, if the address was successfully parsed, false otherwise. The input buffer. The parsed address. is null. Tries to parse the given text into a new instance. Parses a single or . If the text contains more data, then parsing will fail. true, if the address was successfully parsed, false otherwise. The parser options to use. The text. The parsed address. is null. Tries to parse the given text into a new instance. Parses a single or . If the text contains more data, then parsing will fail. true, if the address was successfully parsed, false otherwise. The text. The parsed address. is null. Parses the given input buffer into a new instance. Parses a single or . If the buffer contains more data, then parsing will fail. The parsed . The parser options to use. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. is null. -or- is null. and do not specify a valid range in the byte array. could not be parsed. Parses the given input buffer into a new instance. Parses a single or . If the buffer contains more data, then parsing will fail. The parsed . The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. is null. and do not specify a valid range in the byte array. could not be parsed. Parses the given input buffer into a new instance. Parses a single or . If the buffer contains more data, then parsing will fail. The parsed . The parser options to use. The input buffer. The starting index of the input buffer. is null. -or- is null. is out of range. could not be parsed. Parses the given input buffer into a new instance. Parses a single or . If the buffer contains more data, then parsing will fail. The parsed . The input buffer. The starting index of the input buffer. is null. is out of range. could not be parsed. Parses the given input buffer into a new instance. Parses a single or . If the buffer contains more data, then parsing will fail. The parsed . The parser options to use. The input buffer. is null. -or- is null. could not be parsed. Parses the given input buffer into a new instance. Parses a single or . If the buffer contains more data, then parsing will fail. The parsed . The input buffer. is null. could not be parsed. Parses the given text into a new instance. Parses a single or . If the text contains more data, then parsing will fail. The parsed . The parser options to use. The text. is null. -or- is null. could not be parsed. Parses the given text into a new instance. Parses a single or . If the text contains more data, then parsing will fail. The parsed . The text. is null. could not be parsed. A list of email addresses. An may contain any number of addresses of any type defined by the original Internet Message specification. There are effectively two (2) types of addresses: mailboxes and groups. Mailbox addresses are what are most commonly known as email addresses and are represented by the class. Group addresses are themselves lists of addresses and are represented by the class. While rare, it is still important to handle these types of addresses. They typically only contain mailbox addresses, but may also contain other group addresses. Initializes a new instance of the class. Creates a new containing the supplied addresses. An initial list of addresses. is null. Initializes a new instance of the class. Creates a new, empty, . Recursively gets all of the mailboxes contained within the . This API is useful for collecting a flattened list of recipients for use with sending via SMTP or for encrypting via S/MIME or PGP/MIME. The mailboxes. Gets the index of the specified address. Finds the index of the specified address, if it exists. The index of the specified address if found; otherwise -1. The address to get the index of. is null. Inserts the address at the specified index. Inserts the address at the specified index in the list. The index to insert the address. The address. is null. is out of range. Removes the address at the specified index. Removes the address at the specified index. The index of the address to remove. is out of range. Gets or sets the at the specified index. Gets or sets the at the specified index. The internet address at the specified index. The index of the address to get or set. is null. is out of range. Gets the number of addresses in the . Indicates the number of addresses in the list. The number of addresses. Gets a value indicating whether this instance is read only. A is never read-only. true if this instance is read only; otherwise, false. Adds the specified address. Adds the specified address to the end of the address list. The address. is null. Adds a collection of addresses. Adds a range of addresses to the end of the address list. A colelction of addresses. is null. Clears the address list. Removes all of the addresses from the list. Checks if the contains the specified address. Determines whether or not the address list contains the specified address. true if the specified address exists; otherwise false. The address. is null. Copies all of the addresses in the to the specified array. Copies all of the addresses within the into the array, starting at the specified array index. The array to copy the addresses to. The index into the array. is null. is out of range. Removes the specified address. Removes the specified address. true if the address was removed; otherwise false. The address. is null. Gets an enumerator for the list of addresses. Gets an enumerator for the list of addresses. The enumerator. Gets an enumerator for the list of addresses. Gets an enumerator for the list of addresses. The enumerator. Determines whether the specified is equal to the current . Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Compares two internet address lists. Compares two internet address lists for the purpose of sorting. The sort order of the current internet address list compared to the other internet address list. The internet address list to compare to. is null. Determines whether the specified object is equal to the current object. The type of comparison between the current instance and the parameter depends on whether the current instance is a reference type or a value type. The object to compare with the current object. true if the specified object is equal to the current object; otherwise, false. Returns the hash code for this instance. Returns the hash code for this instance. A hash code for the current object. Returns a string representation of the email addresses in the , optionally encoding them for transport. If is true, each address in the list will be encoded according to the rules defined in rfc2047. If there are multiple addresses in the list, they will be separated by a comma. A string representing the . The formatting options. If set to true, each in the list will be encoded. Returns a string representation of the email addresses in the , optionally encoding them for transport. If is true, each address in the list will be encoded according to the rules defined in rfc2047. If there are multiple addresses in the list, they will be separated by a comma. A string representing the . If set to true, each in the list will be encoded. Returns a string representation of the email addresses in the . If there are multiple addresses in the list, they will be separated by a comma. A string representing the . Tries to parse the given input buffer into a new instance. Parses a list of addresses from the supplied buffer starting at the given index and spanning across the specified number of bytes. true, if the address list was successfully parsed, false otherwise. The parser options to use. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. The parsed addresses. is null. -or- is null. and do not specify a valid range in the byte array. Tries to parse the given input buffer into a new instance. Parses a list of addresses from the supplied buffer starting at the given index and spanning across the specified number of bytes. true, if the address list was successfully parsed, false otherwise. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. The parsed addresses. is null. and do not specify a valid range in the byte array. Tries to parse the given input buffer into a new instance. Parses a list of addresses from the supplied buffer starting at the specified index. true, if the address list was successfully parsed, false otherwise. The parser options to use. The input buffer. The starting index of the input buffer. The parsed addresses. is null. -or- is null. is out of range. Tries to parse the given input buffer into a new instance. Parses a list of addresses from the supplied buffer starting at the specified index. true, if the address list was successfully parsed, false otherwise. The input buffer. The starting index of the input buffer. The parsed addresses. is null. is out of range. Tries to parse the given input buffer into a new instance. Parses a list of addresses from the specified buffer. true, if the address list was successfully parsed, false otherwise. The parser options to use. The input buffer. The parsed addresses. is null. -or- is null. Tries to parse the given input buffer into a new instance. Parses a list of addresses from the specified buffer. true, if the address list was successfully parsed, false otherwise. The input buffer. The parsed addresses. is null. Tries to parse the given text into a new instance. Parses a list of addresses from the specified text. true, if the address list was successfully parsed, false otherwise. The parser options to use. The text. The parsed addresses. is null. -or- is null. Tries to parse the given text into a new instance. Parses a list of addresses from the specified text. true, if the address list was successfully parsed, false otherwise. The text. The parsed addresses. is null. Parses the given input buffer into a new instance. Parses a list of addresses from the supplied buffer starting at the given index and spanning across the specified number of bytes. The parsed . The parser options to use. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. is null. -or- is null. and do not specify a valid range in the byte array. could not be parsed. Parses the given input buffer into a new instance. Parses a list of addresses from the supplied buffer starting at the given index and spanning across the specified number of bytes. The parsed . The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. is null. and do not specify a valid range in the byte array. could not be parsed. Parses the given input buffer into a new instance. Parses a list of addresses from the supplied buffer starting at the specified index. The parsed . The parser options to use. The input buffer. The starting index of the input buffer. is null. -or- is null. is out of range. could not be parsed. Parses the given input buffer into a new instance. Parses a list of addresses from the supplied buffer starting at the specified index. The parsed . The input buffer. The starting index of the input buffer. is null. is out of range. could not be parsed. Parses the given input buffer into a new instance. Parses a list of addresses from the specified buffer. The parsed . The parser options to use. The input buffer. is null. -or- is null. could not be parsed. Parses the given input buffer into a new instance. Parses a list of addresses from the specified buffer. The parsed . The input buffer. is null. could not be parsed. Parses the given text into a new instance. Parses a list of addresses from the specified text. The parsed . The parser options to use. The text. is null. -or- is null. could not be parsed. Parses the given text into a new instance. Parses a list of addresses from the specified text. The parsed . The text. is null. could not be parsed. Explicit cast to convert a to a . Casts a to a in cases where you might want to make use of the System.Net.Mail APIs. The equivalent . The addresses. contains one or more group addresses and cannot be converted. Explicit cast to convert a to a . Casts a to a in cases where you might want to make use of the the superior MimeKit APIs. The equivalent . The mail address. A mailbox address, as specified by rfc822. Represents a mailbox address (commonly referred to as an email address) for a single recipient. Initializes a new instance of the class. Creates a new with the specified name, address and route. The specified text encoding is used when encoding the name according to the rules of rfc2047. The character encoding to be used for encoding the name. The name of the mailbox. The route of the mailbox. The address of the mailbox. is null. -or- is null. -or- is null. is malformed. Initializes a new instance of the class. Creates a new with the specified name, address and route. The name of the mailbox. The route of the mailbox. The address of the mailbox. is null. -or- is null. is malformed. Initializes a new instance of the class. Creates a new with the specified address and route. The route of the mailbox. The address of the mailbox. is null. -or- is null. is malformed. Initializes a new instance of the class. Creates a new with the specified name and address. The specified text encoding is used when encoding the name according to the rules of rfc2047. The character encoding to be used for encoding the name. The name of the mailbox. The address of the mailbox. is null. -or- is null. is malformed. Initializes a new instance of the class. Creates a new with the specified name and address. The name of the mailbox. The address of the mailbox. is null. is malformed. Initializes a new instance of the class. Creates a new with the specified address. The must be in the form user@example.com. This method cannot be used to parse a free-form email address that includes the name or encloses the address in angle brackets. To parse a free-form email address, use instead. The address of the mailbox. is null. is malformed. Clone the mailbox address. Clones the mailbox address. The cloned mailbox address. Gets the mailbox route. A route is convention that is rarely seen in modern email systems, but is supported for compatibility with email archives. The mailbox route. Gets or sets the mailbox address. Represents the actual email address and is in the form of user@example.com. The mailbox address. is null. is malformed. Gets whether or not the address is an international address. International addresses are addresses that contain international characters in either their local-parts or their domains. For more information, see section 3.2 of rfc6532. true if the address is an international address; otherwise, false. Encode an addrspec token according to IDN encoding rules. Encodes an addrspec token according to IDN encoding rules. The encoded addrspec token. The addrspec token. is null. Decode an addrspec token according to IDN decoding rules. Decodes an addrspec token according to IDN decoding rules. The decoded addrspec token. The addrspec token. is null. Returns a string representation of the , optionally encoding it for transport. Returns a string containing the formatted mailbox address. If the parameter is true, then the mailbox name will be encoded according to the rules defined in rfc2047, otherwise the name will not be encoded at all and will therefor only be suitable for display purposes. A string representing the . The formatting options. If set to true, the will be encoded. is null. Determines whether the specified is equal to the current . Compares two mailbox addresses to determine if they are identical or not. The to compare with the current . true if the specified is equal to the current ; otherwise, false. Tries to parse the given input buffer into a new instance. Parses a single . If the address is not a mailbox address or there is more than a single mailbox address, then parsing will fail. true, if the address was successfully parsed, false otherwise. The parser options to use. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. The parsed mailbox address. is null. -or- is null. and do not specify a valid range in the byte array. Tries to parse the given input buffer into a new instance. Parses a single . If the address is not a mailbox address or there is more than a single mailbox address, then parsing will fail. true, if the address was successfully parsed, false otherwise. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. The parsed mailbox address. is null. and do not specify a valid range in the byte array. Tries to parse the given input buffer into a new instance. Parses a single . If the address is not a mailbox address or there is more than a single mailbox address, then parsing will fail. true, if the address was successfully parsed, false otherwise. The parser options to use. The input buffer. The starting index of the input buffer. The parsed mailbox address. is null. -or- is null. is out of range. Tries to parse the given input buffer into a new instance. Parses a single . If the address is not a mailbox address or there is more than a single mailbox address, then parsing will fail. true, if the address was successfully parsed, false otherwise. The input buffer. The starting index of the input buffer. The parsed mailbox address. is null. is out of range. Tries to parse the given input buffer into a new instance. Parses a single . If the address is not a mailbox address or there is more than a single mailbox address, then parsing will fail. true, if the address was successfully parsed, false otherwise. The parser options to use. The input buffer. The parsed mailbox address. is null. -or- is null. Tries to parse the given input buffer into a new instance. Parses a single . If the address is not a mailbox address or there is more than a single mailbox address, then parsing will fail. true, if the address was successfully parsed, false otherwise. The input buffer. The parsed mailbox address. is null. Tries to parse the given text into a new instance. Parses a single . If the address is not a mailbox address or there is more than a single mailbox address, then parsing will fail. true, if the address was successfully parsed, false otherwise. The parser options to use. The text. The parsed mailbox address. is null. Tries to parse the given text into a new instance. Parses a single . If the address is not a mailbox address or there is more than a single mailbox address, then parsing will fail. true, if the address was successfully parsed, false otherwise. The text. The parsed mailbox address. is null. Parses the given input buffer into a new instance. Parses a single . If the address is not a mailbox address or there is more than a single mailbox address, then parsing will fail. The parsed . The parser options to use. The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. is null. -or- is null. and do not specify a valid range in the byte array. could not be parsed. Parses the given input buffer into a new instance. Parses a single . If the address is not a mailbox address or there is more than a single mailbox address, then parsing will fail. The parsed . The input buffer. The starting index of the input buffer. The number of bytes in the input buffer to parse. is null. and do not specify a valid range in the byte array. could not be parsed. Parses the given input buffer into a new instance. Parses a single . If the address is not a mailbox address or there is more than a single mailbox address, then parsing will fail. The parsed . The parser options to use. The input buffer. The starting index of the input buffer. is null. -or- is null. is out of range. could not be parsed. Parses the given input buffer into a new instance. Parses a single . If the address is not a mailbox address or there is more than a single mailbox address, then parsing will fail. The parsed . The input buffer. The starting index of the input buffer. is null. is out of range. could not be parsed. Parses the given input buffer into a new instance. Parses a single . If the address is not a mailbox address or there is more than a single mailbox address, then parsing will fail. The parsed . The parser options to use. The input buffer. is null. -or- is null. could not be parsed. Parses the given input buffer into a new instance. Parses a single . If the address is not a mailbox address or there is more than a single mailbox address, then parsing will fail. The parsed . The input buffer. is null. could not be parsed. Parses the given text into a new instance. Parses a single . If the address is not a mailbox address or there is more than a single mailbox address, then parsing will fail. The parsed . The parser options to use. The text. is null. -or- is null. could not be parsed. Parses the given text into a new instance. Parses a single . If the address is not a mailbox address or there is more than a single mailbox address, then parsing will fail. The parsed . The text. is null. could not be parsed. Explicit cast to convert a to a . Casts a to a in cases where you might want to make use of the System.Net.Mail APIs. The equivalent . The mailbox. Explicit cast to convert a to a . Casts a to a in cases where you might want to make use of the the superior MimeKit APIs. The equivalent . The mail address. A message delivery status MIME part. A message delivery status MIME part is a machine readable notification denoting the delivery status of a message and has a MIME-type of message/delivery-status. For more information, see rfc3464. Initializes a new instance of the class. This constructor is used by . Information used by the constructor. is null. Initializes a new instance of the class. Creates a new . Get the groups of delivery status fields. Gets the groups of delivery status fields. The first contains the per-message fields while each remaining contains fields that pertain to particular recipients of the message. For more information about these fields and their values, check out rfc3464. Section 2.2 defines the per-message fields while Section 2.3 defines the per-recipient fields. The fields. Dispatches to the specific visit method for this MIME entity. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. A message disposition notification MIME part. A message disposition notification MIME part is a machine readable notification denoting the disposition of a message once it has been successfully delivered and has a MIME-type of message/disposition-notification. Initializes a new instance of the class. This constructor is used by . Information used by the constructor. is null. Initializes a new instance of the class. Creates a new . Get the disposition notification fields. Gets the disposition notification fields. The fields. Dispatches to the specific visit method for this MIME entity. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. A list of Message-Ids. Used by the property. Initializes a new instance of the class. Creates a new, empty, . Clones the . Creates an exact copy of the . An exact copy of the . Gets the index of the requested Message-Id, if it exists. Finds the index of the specified Message-Id, if it exists. The index of the requested Message-Id; otherwise -1. The Message-Id. is null. Insert the Message-Id at the specified index. Inserts the Message-Id at the specified index in the list. The index to insert the Message-Id. The Message-Id to insert. is null. is out of range. Removes the Message-Id at the specified index. Removes the Message-Id at the specified index. The index. is out of range. Gets or sets the at the specified index. Gets or sets the Message-Id at the specified index. The Message-Id at the specified index. The index. is null. is out of range. Add the specified Message-Id. Adds the specified Message-Id to the end of the list. The Message-Id. is null. Add a collection of Message-Id items. Adds a collection of Message-Id items to append to the list. The Message-Id items to add. is null. Clears the Message-Id list. Removes all of the Message-Ids in the list. Checks if the contains the specified Message-Id. Determines whether or not the list contains the specified Message-Id. true if the specified Message-Id is contained; otherwise false. The Message-Id. is null. Copies all of the Message-Ids in the to the specified array. Copies all of the Message-Ids within the into the array, starting at the specified array index. The array to copy the Message-Ids to. The index into the array. is null. is out of range. Removes the specified Message-Id. Removes the first instance of the specified Message-Id from the list if it exists. true if the specified Message-Id was removed; otherwise false. The Message-Id. is null. Gets the number of Message-Ids in the . Indicates the number of Message-Ids in the list. The number of Message-Ids. Gets a value indicating whether this instance is read only. A is never read-only. true if this instance is read only; otherwise, false. Gets an enumerator for the list of Message-Ids. Gets an enumerator for the list of Message-Ids. The enumerator. Gets an enumerator for the list of Message-Ids. Gets an enumerator for the list of Message-Ids. The enumerator. Returns a string representation of the list of Message-Ids. Each Message-Id will be surrounded by angle brackets. If there are multiple Message-Ids in the list, they will be separated by whitespace. A string representing the . An enumeration of message importance values. Indicates the importance of a message. The message is of low importance. The message is of normal importance. The message is of high importance. A MIME part containing a as its content. Represents MIME entities such as those with a Content-Type of message/rfc822 or message/news. Initializes a new instance of the class. This constructor is used by . Information used by the constructor. is null. Initializes a new instance of the class. Creates a new . The message subtype. An array of initialization parameters: headers and message parts. is null. -or- is null. contains more than one . -or- contains one or more arguments of an unknown type. Initializes a new instance of the class. Initializes the based on the provided media type and subtype. The media type. The media subtype. is null. -or- is null. Initializes a new instance of the class. Creates a new MIME message entity with the specified subtype. The message subtype. is null. Initializes a new instance of the class. Creates a new message/rfc822 MIME entity. Gets or sets the message content. Gets or sets the message content. The message content. Dispatches to the specific visit method for this MIME entity. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. Prepare the MIME entity for transport using the specified encoding constraints. Prepares the MIME entity for transport using the specified encoding constraints. The encoding constraint. The maximum number of octets allowed per line (not counting the CRLF). Must be between 60 and 998 (inclusive). is not between 60 and 998 (inclusive). -or- is not a valid value. Writes the to the output stream. Writes the MIME entity and its message to the output stream. The formatting options. The output stream. true if only the content should be written; otherwise, false. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. An I/O error occurred. Asynchronously writes the to the output stream. Asynchronously writes the MIME entity and its message to the output stream. An awaitable task. The formatting options. The output stream. true if only the content should be written; otherwise, false. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. An I/O error occurred. A MIME part containing a partial message as its content. The "message/partial" MIME-type is used to split large messages into multiple parts, typically to work around transport systems that have size limitations (for example, some SMTP servers limit have a maximum message size that they will accept). Initializes a new instance of the class. This constructor is used by . Information used by the constructor. is null. Initializes a new instance of the class. Creates a new message/partial entity. Three (3) parameters must be specified in the Content-Type header of a message/partial: id, number, and total. The "id" parameter is a unique identifier used to match the parts together. The "number" parameter is the sequential (1-based) index of the partial message fragment. The "total" parameter is the total number of pieces that make up the complete message. The id value shared among the partial message parts. The (1-based) part number for this partial message part. The total number of partial message parts. is null. is less than 1. -or- is less than . Gets the "id" parameter of the Content-Type header. The "id" parameter is a unique identifier used to match the parts together. The identifier. Gets the "number" parameter of the Content-Type header. The "number" parameter is the sequential (1-based) index of the partial message fragment. The part number. Gets the "total" parameter of the Content-Type header. The "total" parameter is the total number of pieces that make up the complete message. The total number of parts. Dispatches to the specific visit method for this MIME entity. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. Splits the specified message into multiple messages. Splits the specified message into multiple messages, each with a message/partial body no larger than the max size specified. An enumeration of partial messages. The message. The maximum size for each message body. is null. is less than 1. Joins the specified message/partial parts into the complete message. Combines all of the message/partial fragments into its original, complete, message. The re-combined message. The parser options to use. The list of partial message parts. is null. -or- is null. The last partial does not have a Total. -or- The number of partials provided does not match the expected count. -or- One or more partials is missing. Joins the specified message/partial parts into the complete message. Combines all of the message/partial fragments into its original, complete, message. The re-combined message. The list of partial message parts. is null. An enumeration of message priority values. Indicates the priority of a message. The message has non-urgent priority. The message has normal priority. The message has urgent priority. Encapsulates a content stream used by . A represents the content of a . The content has both a stream and an encoding (typically ). Initializes a new instance of the class. When creating new s, the should typically be unless the has already been encoded. The content stream. The stream encoding. is null. does not support reading. -or- does not support seeking. Encapsulates a content stream used by . A represents the content of a . The content has both a stream and an encoding (typically ). Initializes a new instance of the class. When creating new s, the should typically be unless the has already been encoded. The content stream. The stream encoding. is null. does not support reading. -or- does not support seeking. Gets or sets the content encoding. If the was parsed from an existing stream, the encoding will be identical to the , otherwise it will typically be . The content encoding. Gets the content stream. Gets the content stream. The stream. Opens the decoded content stream. Provides a means of reading the decoded content without having to first write it to another stream using . The decoded content stream. Copies the content stream to the specified output stream. This is equivalent to simply using to copy the content stream to the output stream except that this method is cancellable. If you want the decoded content, use instead. The output stream. The cancellation token. is null. The operation was canceled via the cancellation token. An I/O error occurred. Asynchronously copies the content stream to the specified output stream. This is equivalent to simply using to copy the content stream to the output stream except that this method is cancellable. If you want the decoded content, use instead. An awaitable task. The output stream. The cancellation token. is null. The operation was canceled via the cancellation token. An I/O error occurred. Decodes the content stream into another stream. If the content stream is encoded, this method will decode it into the output stream using a suitable decoder based on the property, otherwise the stream will be copied into the output stream as-is. The output stream. The cancellation token. is null. The operation was canceled via the cancellation token. An I/O error occurred. Asynchronously decodes the content stream into another stream. If the content stream is encoded, this method will decode it into the output stream using a suitable decoder based on the property, otherwise the stream will be copied into the output stream as-is. An awaitable task. The output stream. The cancellation token. is null. The operation was canceled via the cancellation token. An I/O error occurred. An abstract MIME entity. A MIME entity is really just a node in a tree structure of MIME parts in a MIME message. There are 3 basic types of entities: , , and (which is actually just a special variation of who's content is another MIME message/document). All other types are derivatives of one of those. Initializes a new instance of the class based on the . Custom subclasses MUST implement this constructor in order to register it using . Information used by the constructor. is null. Initializes a new instance of the class. Initializes the based on the provided media type and subtype. The media type. The media subtype. is null. -or- is null. Initializes a new instance of the class. Initializes the to the one provided. The content type. is null. Tries to use the given object to initialize the appropriate property. Initializes the appropriate property based on the type of the object. The object. true if the object was recognized and used; false otherwise. Gets the list of headers. Represents the list of headers for a MIME part. Typically, the headers of a MIME part will be various Content-* headers such as Content-Type or Content-Disposition, but may include just about anything. The list of headers. Gets or sets the content disposition. Represents the pre-parsed Content-Disposition header value, if present. If the Content-Disposition header is not set, then this property will be null. The content disposition. Gets the type of the content. The Content-Type header specifies information about the type of content contained within the MIME entity. The type of the content. Gets or sets the base content URI. The Content-Base header specifies the base URI for the in cases where the is a relative URI. The Content-Base URI must be an absolute URI. For more information, see rfc2110. The base content URI or null. is not an absolute URI. Gets or sets the content location. The Content-Location header specifies the URI for a MIME entity and can be either absolute or relative. Setting a Content-Location URI allows other objects within the same multipart/related container to reference this part by URI. This can be useful, for example, when constructing an HTML message body that needs to reference image attachments. For more information, see rfc2110. The content location or null. Gets or sets the content identifier. The Content-Id header is used for uniquely identifying a particular entity and uses the same syntax as the Message-Id header on MIME messages. Setting a Content-Id allows other objects within the same multipart/related container to reference this part by its unique identifier, typically by using a "cid:" URI in an HTML-formatted message body. This can be useful, for example, when the HTML-formatted message body needs to reference image attachments. The content identifier. Gets a value indicating whether this is an attachment. If the Content-Disposition header is set and has a value of "attachment", then this property returns true. Otherwise it is assumed that the is not meant to be treated as an attachment. true if this is an attachment; otherwise, false. Returns a that represents the current . Returns a that represents the current . In general, the string returned from this method SHOULD NOT be used for serializing the message to disk. It is recommended that you use instead. A that represents the current . Dispatches to the specific visit method for this MIME entity. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. Prepare the MIME entity for transport using the specified encoding constraints. Prepares the MIME entity for transport using the specified encoding constraints. The encoding constraint. The maximum allowable length for a line (not counting the CRLF). Must be between 72 and 998 (inclusive). is not between 72 and 998 (inclusive). -or- is not a valid value. Write the to the specified output stream. Writes the headers to the output stream, followed by a blank line. Subclasses should override this method to write the content of the entity. The formatting options. The output stream. true if only the content should be written; otherwise, false. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. An I/O error occurred. Asynchronously write the to the specified output stream. Asynchronously writes the headers to the output stream, followed by a blank line. Subclasses should override this method to write the content of the entity. An awaitable task. The formatting options. The output stream. true if only the content should be written; otherwise, false. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. An I/O error occurred. Write the to the specified output stream. Writes the headers to the output stream, followed by a blank line. Subclasses should override this method to write the content of the entity. The formatting options. The output stream. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. An I/O error occurred. Asynchronously write the to the specified output stream. Asynchronously writes the headers to the output stream, followed by a blank line. Subclasses should override this method to write the content of the entity. An awaitable task. The formatting options. The output stream. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. An I/O error occurred. Write the to the specified output stream. Writes the entity to the output stream. The output stream. true if only the content should be written; otherwise, false. The cancellation token. is null. The operation was canceled via the cancellation token. An I/O error occurred. Asynchronously write the to the specified output stream. Asynchronously writes the entity to the output stream. An awaitable task. The output stream. true if only the content should be written; otherwise, false. The cancellation token. is null. The operation was canceled via the cancellation token. An I/O error occurred. Write the to the specified output stream. Writes the entity to the output stream. The output stream. The cancellation token. is null. The operation was canceled via the cancellation token. An I/O error occurred. Asynchronously write the to the specified output stream. Asynchronously writes the entity to the output stream. An awaitable task. The output stream. The cancellation token. is null. The operation was canceled via the cancellation token. An I/O error occurred. Write the to the specified file. Writes the to the specified file using the provided formatting options. The formatting options. The file. true if only the content should be written; otherwise, false. The cancellation token. is null. -or- is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . The operation was canceled via the cancellation token. is an invalid file path. The specified file path could not be found. The user does not have access to write to the specified file. An I/O error occurred. Asynchronously write the to the specified file. Asynchronously writes the to the specified file using the provided formatting options. An awaitable task. The formatting options. The file. true if only the content should be written; otherwise, false. The cancellation token. is null. -or- is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . The operation was canceled via the cancellation token. is an invalid file path. The specified file path could not be found. The user does not have access to write to the specified file. An I/O error occurred. Write the to the specified file. Writes the to the specified file using the provided formatting options. The formatting options. The file. The cancellation token. is null. -or- is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . The operation was canceled via the cancellation token. is an invalid file path. The specified file path could not be found. The user does not have access to write to the specified file. An I/O error occurred. Asynchronously write the to the specified file. Asynchronously writes the to the specified file using the provided formatting options. An awaitable task. The formatting options. The file. The cancellation token. is null. -or- is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . The operation was canceled via the cancellation token. is an invalid file path. The specified file path could not be found. The user does not have access to write to the specified file. An I/O error occurred. Write the to the specified file. Writes the to the specified file using the default formatting options. The file. true if only the content should be written; otherwise, false. The cancellation token. is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . The operation was canceled via the cancellation token. is an invalid file path. The specified file path could not be found. The user does not have access to write to the specified file. An I/O error occurred. Asynchronously write the to the specified file. Asynchronously writes the to the specified file using the default formatting options. An awaitable task. The file. true if only the content should be written; otherwise, false. The cancellation token. is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . The operation was canceled via the cancellation token. is an invalid file path. The specified file path could not be found. The user does not have access to write to the specified file. An I/O error occurred. Writes the to the specified file. Writes the to the specified file using the default formatting options. The file. The cancellation token. is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . The operation was canceled via the cancellation token. is an invalid file path. The specified file path could not be found. The user does not have access to write to the specified file. An I/O error occurred. Asynchronously writes the to the specified file. Asynchronously writes the to the specified file using the default formatting options. An awaitable task. The file. The cancellation token. is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . The operation was canceled via the cancellation token. is an invalid file path. The specified file path could not be found. The user does not have access to write to the specified file. An I/O error occurred. Removes the header. Removes all headers matching the specified name without calling . The name of the header. Sets the header. Sets the header to the specified value without calling . The name of the header. The value of the header. Sets the header using the raw value. Sets the header to the specified value without calling . The name of the header. The raw value of the header. Called when the headers change in some way. Whenever a header is added, changed, or removed, this method will be called in order to allow custom subclasses to update their state. Overrides of this method should call the base method so that their superclass may also update its own state. The type of change. The header being added, changed or removed. Load a from the specified stream. Loads a from the given stream, using the specified . If is true and is seekable, then the will not copy the content of s into memory. Instead, it will use a to reference a substream of . This has the potential to not only save mmeory usage, but also improve performance. The parsed MIME entity. The parser options. The stream. true if the stream is persistent; otherwise false. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Asynchronously load a from the specified stream. Loads a from the given stream, using the specified . If is true and is seekable, then the will not copy the content of s into memory. Instead, it will use a to reference a substream of . This has the potential to not only save mmeory usage, but also improve performance. The parsed MIME entity. The parser options. The stream. true if the stream is persistent; otherwise false. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Load a from the specified stream. Loads a from the given stream, using the specified . The parsed MIME entity. The parser options. The stream. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Asynchronously load a from the specified stream. Loads a from the given stream, using the specified . The parsed MIME entity. The parser options. The stream. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Load a from the specified stream. Loads a from the given stream, using the default . If is true and is seekable, then the will not copy the content of s into memory. Instead, it will use a to reference a substream of . This has the potential to not only save mmeory usage, but also improve performance. The parsed MIME entity. The stream. true if the stream is persistent; otherwise false. The cancellation token. is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Asynchronously load a from the specified stream. Loads a from the given stream, using the default . If is true and is seekable, then the will not copy the content of s into memory. Instead, it will use a to reference a substream of . This has the potential to not only save mmeory usage, but also improve performance. The parsed MIME entity. The stream. true if the stream is persistent; otherwise false. The cancellation token. is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Load a from the specified stream. Loads a from the given stream, using the default . The parsed MIME entity. The stream. The cancellation token. is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Asynchronously load a from the specified stream. Loads a from the given stream, using the default . The parsed MIME entity. The stream. The cancellation token. is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Load a from the specified file. Loads a from the file at the give file path, using the specified . The parsed entity. The parser options. The name of the file to load. The cancellation token. is null. -or- is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . is an invalid file path. The specified file path could not be found. The user does not have access to read the specified file. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Asynchronously load a from the specified file. Loads a from the file at the give file path, using the specified . The parsed entity. The parser options. The name of the file to load. The cancellation token. is null. -or- is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . is an invalid file path. The specified file path could not be found. The user does not have access to read the specified file. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Load a from the specified file. Loads a from the file at the give file path, using the default . The parsed entity. The name of the file to load. The cancellation token. is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . is an invalid file path. The specified file path could not be found. The user does not have access to read the specified file. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Asynchroinously load a from the specified file. Loads a from the file at the give file path, using the default . The parsed entity. The name of the file to load. The cancellation token. is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . is an invalid file path. The specified file path could not be found. The user does not have access to read the specified file. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Load a from the specified content stream. This method is mostly meant for use with APIs such as where the headers are parsed separately from the content. The parsed MIME entity. The parser options. The Content-Type of the stream. The content stream. The cancellation token. is null. -or- is null. -or- is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Asynchronously load a from the specified content stream. This method is mostly meant for use with APIs such as where the headers are parsed separately from the content. The parsed MIME entity. The parser options. The Content-Type of the stream. The content stream. The cancellation token. is null. -or- is null. -or- is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Load a from the specified content stream. This method is mostly meant for use with APIs such as where the headers are parsed separately from the content. The parsed MIME entity. The Content-Type of the stream. The content stream. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Asynchronously load a from the specified content stream. This method is mostly meant for use with APIs such as where the headers are parsed separately from the content. The parsed MIME entity. The Content-Type of the stream. The content stream. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. MIME entity constructor arguments. MIME entity constructor arguments. The format of the MIME stream. The format of the MIME stream. The stream contains a single MIME entity or message. The stream is in the Unix mbox format and may contain more than a single message. The default stream format. An iterator for a MIME tree structure. Walks the MIME tree structure of a in depth-first order. Initializes a new instance of the class. Creates a new for the specified message. The message. is null. Releases unmanaged resources and performs other cleanup operations before the is reclaimed by garbage collection. Releases unmanaged resources and performs other cleanup operations before the is reclaimed by garbage collection. Gets the top-level message. Gets the top-level message. The message. Gets the parent of the current entity. After an iterator is created or after the method is called, the method must be called to advance the iterator to the first entity of the message before reading the value of the Parent property; otherwise, Parent throws a . Parent also throws a if the last call to returned false, which indicates the end of the message. If the current entity is the top-level entity of the message, then the parent will be null; otherwise the parent will be either be a or a . The parent entity. Either has not been called or has moved beyond the end of the message. Gets the current entity. After an iterator is created or after the method is called, the method must be called to advance the iterator to the first entity of the message before reading the value of the Current property; otherwise, Current throws a . Current also throws a if the last call to returned false, which indicates the end of the message. The current entity. Either has not been called or has moved beyond the end of the message. Gets the current entity. After an iterator is created or after the method is called, the method must be called to advance the iterator to the first entity of the message before reading the value of the Current property; otherwise, Current throws a . Current also throws a if the last call to returned false, which indicates the end of the message. The current entity. Either has not been called or has moved beyond the end of the message. Gets the path specifier for the current entity. After an iterator is created or after the method is called, the method must be called to advance the iterator to the first entity of the message before reading the value of the PathSpecifier property; otherwise, PathSpecifier throws a . PathSpecifier also throws a if the last call to returned false, which indicates the end of the message. The path specifier. Either has not been called or has moved beyond the end of the message. Gets the depth of the current entity. After an iterator is created or after the method is called, the method must be called to advance the iterator to the first entity of the message before reading the value of the Depth property; otherwise, Depth throws a . Depth also throws a if the last call to returned false, which indicates the end of the message. The depth. Either has not been called or has moved beyond the end of the message. Advances the iterator to the next depth-first entity of the tree structure. After an iterator is created or after the method is called, an iterator is positioned before the first entity of the message, and the first call to the MoveNext method moves the iterator to the first entity of the message. If MoveNext advances beyond the last entity of the message, MoveNext returns false. When the iterator is at this position, subsequent calls to MoveNext also return false until is called. true if the iterator was successfully advanced to the next entity; otherwise, false. Advances to the entity specified by the path specifier. Advances the iterator to the entity specified by the path specifier which must be in the same format as returned by . If the iterator has already advanced beyond the entity at the specified path, the iterator will and advance as normal. true if advancing to the specified entity was successful; otherwise, false. The path specifier. is null. is empty. is in an invalid format. Resets the iterator to its initial state. Resets the iterator to its initial state. Releases the unmanaged resources used by the and optionally releases the managed resources. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only the unmanaged resources. Releases all resources used by the object. Call when you are finished using the . The method leaves the in an unusable state. After calling , you must release all references to the so the garbage collector can reclaim the memory that the was occupying. A MIME message. A message consists of header fields and, optionally, a body. The body of the message can either be plain text or it can be a tree of MIME entities such as a text/plain MIME part and a collection of file attachments. Initializes a new instance of the class. Creates a new . An array of initialization parameters: headers and message parts. is null. contains more than one . -or- contains one or more arguments of an unknown type. Initializes a new instance of the class. Creates a new MIME message, specifying details at creation time. The list of addresses in the From header. The list of addresses in the To header. The subject of the message. The body of the message. Initializes a new instance of the class. Creates a new MIME message. Gets or sets the mbox marker. Set by the when parsing attached message/rfc822 parts so that the message/rfc822 part can be reserialized back to its original form. The mbox marker. Gets the list of headers. Represents the list of headers for a message. Typically, the headers of a message will contain transmission headers such as From and To along with metadata headers such as Subject and Date, but may include just about anything. To access any MIME headers other than , you will need to access the property of the . The list of headers. Get or set the value of the Importance header. Gets or sets the value of the Importance header. The importance. is not a valid . Get or set the value of the Priority header. Gets or sets the value of the Priority header. The priority. is not a valid . Get or set the value of the X-Priority header. Gets or sets the value of the X-Priority header. The priority. is not a valid . Gets or sets the address in the Sender header. The sender may differ from the addresses in if the message was sent by someone on behalf of someone else. The address in the Sender header. Gets or sets the address in the Resent-Sender header. The resent sender may differ from the addresses in if the message was sent by someone on behalf of someone else. The address in the Resent-Sender header. Gets the list of addresses in the From header. The "From" header specifies the author(s) of the message. If more than one is added to the list of "From" addresses, the should be set to the single of the personal actually sending the message. The list of addresses in the From header. Gets the list of addresses in the Resent-From header. The "Resent-From" header specifies the author(s) of the messagebeing resent. If more than one is added to the list of "Resent-From" addresses, the should be set to the single of the personal actually sending the message. The list of addresses in the Resent-From header. Gets the list of addresses in the Reply-To header. When the list of addresses in the Reply-To header is not empty, it contains the address(es) where the author(s) of the message prefer that replies be sent. When the list of addresses in the Reply-To header is empty, replies should be sent to the mailbox(es) specified in the From header. The list of addresses in the Reply-To header. Gets the list of addresses in the Resent-Reply-To header. When the list of addresses in the Resent-Reply-To header is not empty, it contains the address(es) where the author(s) of the resent message prefer that replies be sent. When the list of addresses in the Resent-Reply-To header is empty, replies should be sent to the mailbox(es) specified in the Resent-From header. The list of addresses in the Resent-Reply-To header. Gets the list of addresses in the To header. The addresses in the To header are the primary recipients of the message. The list of addresses in the To header. Gets the list of addresses in the Resent-To header. The addresses in the Resent-To header are the primary recipients of the message. The list of addresses in the Resent-To header. Gets the list of addresses in the Cc header. The addresses in the Cc header are secondary recipients of the message and are usually not the individuals being directly addressed in the content of the message. The list of addresses in the Cc header. Gets the list of addresses in the Resent-Cc header. The addresses in the Resent-Cc header are secondary recipients of the message and are usually not the individuals being directly addressed in the content of the message. The list of addresses in the Resent-Cc header. Gets the list of addresses in the Bcc header. Recipients in the Blind-Carpbon-Copy list will not be visible to the other recipients of the message. The list of addresses in the Bcc header. Gets the list of addresses in the Resent-Bcc header. Recipients in the Resent-Bcc list will not be visible to the other recipients of the message. The list of addresses in the Resent-Bcc header. Gets or sets the subject of the message. The Subject is typically a short string denoting the topic of the message. Replies will often use "Re: " followed by the Subject of the original message. The subject of the message. is null. Gets or sets the date of the message. If the date is not explicitly set before the message is written to a stream, the date will default to the exact moment when it is written to said stream. The date of the message. Gets or sets the Resent-Date of the message. Gets or sets the Resent-Date of the message. The Resent-Date of the message. Gets or sets the list of references to other messages. The References header contains a chain of Message-Ids back to the original message that started the thread. The references. Gets or sets the Message-Id that this message is in reply to. If the message is a reply to another message, it will typically use the In-Reply-To header to specify the Message-Id of the original message being replied to. The message id that this message is in reply to. is improperly formatted. Gets or sets the message identifier. The Message-Id is meant to be a globally unique identifier for a message. can be used to generate this value. The message identifier. is null. is improperly formatted. Gets or sets the Resent-Message-Id header. The Resent-Message-Id is meant to be a globally unique identifier for a message. can be used to generate this value. The Resent-Message-Id. is null. is improperly formatted. Gets or sets the MIME-Version. The MIME-Version header specifies the version of the MIME specification that the message was created for. The MIME version. is null. Gets or sets the body of the message. The body of the message can either be plain text or it can be a tree of MIME entities such as a text/plain MIME part and a collection of file attachments. For a convenient way of constructing message bodies, see the class. The body of the message. Gets the text body of the message if it exists. Gets the text content of the first text/plain body part that is found (in depth-first search order) which is not an attachment. The text body if it exists; otherwise, null. Gets the html body of the message if it exists. Gets the HTML-formatted body of the message if it exists. The html body if it exists; otherwise, null. Gets the text body in the specified format. Gets the text body in the specified format, if it exists. The text body in the desired format if it exists; otherwise, null. The desired text format. Gets the body parts of the message. Traverses over the MIME tree, enumerating all of the objects, but does not traverse into the bodies of attached messages. The body parts. Gets the attachments. Traverses over the MIME tree, enumerating all of the objects that have a Content-Disposition header set to "attachment". The attachments. Returns a that represents the current . Returns a that represents the current . In general, the string returned from this method SHOULD NOT be used for serializing the message to disk. It is recommended that you use instead. A that represents the current . Dispatches to the specific visit method for this MIME message. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. Prepare the message for transport using the specified encoding constraints. Prepares the message for transport using the specified encoding constraints. The encoding constraint. The maximum allowable length for a line (not counting the CRLF). Must be between 60 and 998 (inclusive). is not between 60 and 998 (inclusive). -or- is not a valid value. Write the message to the specified output stream. Writes the message to the output stream using the provided formatting options. The formatting options. The output stream. true if only the headers should be written; otherwise, false. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. An I/O error occurred. Asynchronously write the message to the specified output stream. Asynchronously writes the message to the output stream using the provided formatting options. An awaitable task. The formatting options. The output stream. true if only the headers should be written; otherwise, false. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. An I/O error occurred. Write the message to the specified output stream. Writes the message to the output stream using the provided formatting options. The formatting options. The output stream. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. An I/O error occurred. Asynchronously write the message to the specified output stream. Asynchronously writes the message to the output stream using the provided formatting options. An awaitable task. The formatting options. The output stream. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. An I/O error occurred. Write the message to the specified output stream. Writes the message to the output stream using the default formatting options. The output stream. true if only the headers should be written; otherwise, false. The cancellation token. is null. The operation was canceled via the cancellation token. An I/O error occurred. Asynchronously write the message to the specified output stream. Asynchronously writes the message to the output stream using the default formatting options. An awaitable task. The output stream. true if only the headers should be written; otherwise, false. The cancellation token. is null. The operation was canceled via the cancellation token. An I/O error occurred. Write the message to the specified output stream. Writes the message to the output stream using the default formatting options. The output stream. The cancellation token. is null. The operation was canceled via the cancellation token. An I/O error occurred. Asynchronously write the message to the specified output stream. Asynchronously writes the message to the output stream using the default formatting options. An awaitable task. The output stream. The cancellation token. is null. The operation was canceled via the cancellation token. An I/O error occurred. Write the message to the specified file. Writes the message to the specified file using the provided formatting options. The formatting options. The file. The cancellation token. is null. -or- is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . The operation was canceled via the cancellation token. is an invalid file path. The specified file path could not be found. The user does not have access to write to the specified file. An I/O error occurred. Asynchronously write the message to the specified file. Asynchronously writes the message to the specified file using the provided formatting options. An awaitable task. The formatting options. The file. The cancellation token. is null. -or- is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . The operation was canceled via the cancellation token. is an invalid file path. The specified file path could not be found. The user does not have access to write to the specified file. An I/O error occurred. Write the message to the specified file. Writes the message to the specified file using the default formatting options. The file. The cancellation token. is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . The operation was canceled via the cancellation token. is an invalid file path. The specified file path could not be found. The user does not have access to write to the specified file. An I/O error occurred. Asynchronously write the message to the specified file. Asynchronously writes the message to the specified file using the default formatting options. An awaitable task. The file. The cancellation token. is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . The operation was canceled via the cancellation token. is an invalid file path. The specified file path could not be found. The user does not have access to write to the specified file. An I/O error occurred. Digitally sign the message using a DomainKeys Identified Mail (DKIM) signature. Digitally signs the message using a DomainKeys Identified Mail (DKIM) signature. The formatting options. The DKIM signer. The list of header fields to sign. The header canonicalization algorithm. The body canonicalization algorithm. is null. -or- is null. -or- is null. does not contain the 'From' header. -or- contains one or more of the following headers: Return-Path, Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature. Digitally sign the message using a DomainKeys Identified Mail (DKIM) signature. Digitally signs the message using a DomainKeys Identified Mail (DKIM) signature. The DKIM signer. The headers to sign. The header canonicalization algorithm. The body canonicalization algorithm. is null. -or- is null. does not contain the 'From' header. -or- contains one or more of the following headers: Return-Path, Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature. Digitally sign the message using a DomainKeys Identified Mail (DKIM) signature. Digitally signs the message using a DomainKeys Identified Mail (DKIM) signature. The formatting options. The DKIM signer. The list of header fields to sign. The header canonicalization algorithm. The body canonicalization algorithm. is null. -or- is null. -or- is null. does not contain the 'From' header. -or- contains one or more of the following headers: Return-Path, Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature. Digitally sign the message using a DomainKeys Identified Mail (DKIM) signature. Digitally signs the message using a DomainKeys Identified Mail (DKIM) signature. The DKIM signer. The headers to sign. The header canonicalization algorithm. The body canonicalization algorithm. is null. -or- is null. does not contain the 'From' header. -or- contains one or more of the following headers: Return-Path, Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature. Verify the specified DKIM-Signature header. Verifies the specified DKIM-Signature header. true if the DKIM-Signature is valid; otherwise, false. The formatting options. The DKIM-Signature header. The public key locator service. The cancellation token. is null. -or- is null. -or- is null. is not a DKIM-Signature header. The DKIM-Signature header value is malformed. The operation was canceled via the cancellation token. Asynchronously verify the specified DKIM-Signature header. Verifies the specified DKIM-Signature header. true if the DKIM-Signature is valid; otherwise, false. The formatting options. The DKIM-Signature header. The public key locator service. The cancellation token. is null. -or- is null. -or- is null. is not a DKIM-Signature header. The DKIM-Signature header value is malformed. The operation was canceled via the cancellation token. Verify the specified DKIM-Signature header. Verifies the specified DKIM-Signature header. true if the DKIM-Signature is valid; otherwise, false. The DKIM-Signature header. The public key locator service. The cancellation token. is null. -or- is null. is not a DKIM-Signature header. The DKIM-Signature header value is malformed. The operation was canceled via the cancellation token. Asynchronously verify the specified DKIM-Signature header. Verifies the specified DKIM-Signature header. true if the DKIM-Signature is valid; otherwise, false. The DKIM-Signature header. The public key locator service. The cancellation token. is null. -or- is null. is not a DKIM-Signature header. The DKIM-Signature header value is malformed. The operation was canceled via the cancellation token. Sign the message using the specified cryptography context and digest algorithm. If either of the Resent-Sender or Resent-From headers are set, then the message will be signed using the Resent-Sender (or first mailbox in the Resent-From) address as the signer address, otherwise the Sender or From address will be used instead. The cryptography context. The digest algorithm. is null. The has not been set. -or- A sender has not been specified. The was out of range. The is not supported. A signing certificate could not be found for the sender. The private key could not be found for the sender. Sign the message using the specified cryptography context and the SHA-1 digest algorithm. If either of the Resent-Sender or Resent-From headers are set, then the message will be signed using the Resent-Sender (or first mailbox in the Resent-From) address as the signer address, otherwise the Sender or From address will be used instead. The cryptography context. is null. The has not been set. -or- A sender has not been specified. A signing certificate could not be found for the sender. The private key could not be found for the sender. Encrypt the message to the sender and all of the recipients using the specified cryptography context. If either of the Resent-Sender or Resent-From headers are set, then the message will be encrypted to all of the addresses specified in the Resent headers (Resent-Sender, Resent-From, Resent-To, Resent-Cc, and Resent-Bcc), otherwise the message will be encrypted to all of the addresses specified in the standard address headers (Sender, From, To, Cc, and Bcc). The cryptography context. is null. An unknown type of cryptography context was used. The has not been set. -or- No recipients have been specified. A certificate could not be found for one or more of the recipients. The public key could not be found for one or more of the recipients. Sign and encrypt the message to the sender and all of the recipients using the specified cryptography context and the specified digest algorithm. If either of the Resent-Sender or Resent-From headers are set, then the message will be signed using the Resent-Sender (or first mailbox in the Resent-From) address as the signer address, otherwise the Sender or From address will be used instead. Likewise, if either of the Resent-Sender or Resent-From headers are set, then the message will be encrypted to all of the addresses specified in the Resent headers (Resent-Sender, Resent-From, Resent-To, Resent-Cc, and Resent-Bcc), otherwise the message will be encrypted to all of the addresses specified in the standard address headers (Sender, From, To, Cc, and Bcc). The cryptography context. The digest algorithm. is null. An unknown type of cryptography context was used. The was out of range. The has not been set. -or- No sender has been specified. -or- No recipients have been specified. The is not supported. A certificate could not be found for the signer or one or more of the recipients. The private key could not be found for the sender. The public key could not be found for one or more of the recipients. Sign and encrypt the message to the sender and all of the recipients using the specified cryptography context and the SHA-1 digest algorithm. If either of the Resent-Sender or Resent-From headers are set, then the message will be signed using the Resent-Sender (or first mailbox in the Resent-From) address as the signer address, otherwise the Sender or From address will be used instead. Likewise, if either of the Resent-Sender or Resent-From headers are set, then the message will be encrypted to all of the addresses specified in the Resent headers (Resent-Sender, Resent-From, Resent-To, Resent-Cc, and Resent-Bcc), otherwise the message will be encrypted to all of the addresses specified in the standard address headers (Sender, From, To, Cc, and Bcc). The cryptography context. is null. An unknown type of cryptography context was used. The has not been set. -or- No sender has been specified. -or- No recipients have been specified. A certificate could not be found for the signer or one or more of the recipients. The private key could not be found for the sender. The public key could not be found for one or more of the recipients. Load a from the specified stream. Loads a from the given stream, using the specified . If is true and is seekable, then the will not copy the content of s into memory. Instead, it will use a to reference a substream of . This has the potential to not only save mmeory usage, but also improve performance. The parsed message. The parser options. The stream. true if the stream is persistent; otherwise false. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Asynchronously load a from the specified stream. Loads a from the given stream, using the specified . If is true and is seekable, then the will not copy the content of s into memory. Instead, it will use a to reference a substream of . This has the potential to not only save mmeory usage, but also improve performance. The parsed message. The parser options. The stream. true if the stream is persistent; otherwise false. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Load a from the specified stream. Loads a from the given stream, using the specified . The parsed message. The parser options. The stream. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Asynchronously load a from the specified stream. Loads a from the given stream, using the specified . The parsed message. The parser options. The stream. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Load a from the specified stream. Loads a from the given stream, using the default . If is true and is seekable, then the will not copy the content of s into memory. Instead, it will use a to reference a substream of . This has the potential to not only save mmeory usage, but also improve performance. The parsed message. The stream. true if the stream is persistent; otherwise false. The cancellation token. is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Asynchronously load a from the specified stream. Loads a from the given stream, using the default . If is true and is seekable, then the will not copy the content of s into memory. Instead, it will use a to reference a substream of . This has the potential to not only save mmeory usage, but also improve performance. The parsed message. The stream. true if the stream is persistent; otherwise false. The cancellation token. is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Load a from the specified stream. Loads a from the given stream, using the default . The parsed message. The stream. The cancellation token. is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Asynchronously load a from the specified stream. Loads a from the given stream, using the default . The parsed message. The stream. The cancellation token. is null. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Load a from the specified file. Loads a from the file at the given path, using the specified . The parsed message. The parser options. The name of the file to load. The cancellation token. is null. -or- is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . is an invalid file path. The specified file path could not be found. The user does not have access to read the specified file. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Asynchronously load a from the specified file. Loads a from the file at the given path, using the specified . The parsed message. The parser options. The name of the file to load. The cancellation token. is null. -or- is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . is an invalid file path. The specified file path could not be found. The user does not have access to read the specified file. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Load a from the specified file. Loads a from the file at the given path, using the default . The parsed message. The name of the file to load. The cancellation token. is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . is an invalid file path. The specified file path could not be found. The user does not have access to read the specified file. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Asynchronously load a from the specified file. Loads a from the file at the given path, using the default . The parsed message. The name of the file to load. The cancellation token. is null. is a zero-length string, contains only white space, or contains one or more invalid characters as defined by . is an invalid file path. The specified file path could not be found. The user does not have access to read the specified file. The operation was canceled via the cancellation token. There was an error parsing the entity. An I/O error occurred. Creates a new from a . Creates a new from a . The equivalent . The message. is null. Explicit cast to convert a to a . Allows creation of messages using Microsoft's System.Net.Mail APIs. The equivalent . The message. A leaf-node MIME part that contains content such as the message body text or an attachment. A leaf-node MIME part that contains content such as the message body text or an attachment. Initializes a new instance of the class based on the . This constructor is used by . Information used by the constructor. is null. Initializes a new instance of the class with the specified media type and subtype. Creates a new with the specified media type and subtype. The media type. The media subtype. An array of initialization parameters: headers and part content. is null. -or- is null. -or- is null. contains more than one or . -or- contains one or more arguments of an unknown type. Initializes a new instance of the class with the specified media type and subtype. Creates a new with the specified media type and subtype. The media type. The media subtype. is null. -or- is null. Initializes a new instance of the class with the specified content type. Creates a new with the specified Content-Type value. The content type. is null. Initializes a new instance of the class with the specified content type. Creates a new with the specified Content-Type value. The content type. is null. could not be parsed. Initializes a new instance of the class with the default Content-Type of application/octet-stream. Creates a new with a Content-Type of application/octet-stream. Gets or sets the duration of the content if available. The Content-Duration header specifies duration of timed media, such as audio or video, in seconds. The duration of the content. is negative. Gets or sets the md5sum of the content. The Content-MD5 header specifies the base64-encoded MD5 checksum of the content in its canonical format. For more information, see rfc1864. The md5sum of the content. Gets or sets the content transfer encoding. The Content-Transfer-Encoding header specifies an auxiliary encoding that was applied to the content in order to allow it to pass through mail transport mechanisms (such as SMTP) which may have limitations in the byte ranges that it accepts. For example, many SMTP servers do not accept data outside of the 7-bit ASCII range and so sending binary attachments or even non-English text is not possible without applying an encoding such as base64 or quoted-printable. The content transfer encoding. is not a valid content encoding. Gets or sets the name of the file. First checks for the "filename" parameter on the Content-Disposition header. If that does not exist, then the "name" parameter on the Content-Type header is used. When setting the filename, both the "filename" parameter on the Content-Disposition header and the "name" parameter on the Content-Type header are set. The name of the file. Gets or sets the MIME content. Gets or sets the MIME content. The MIME content. Gets or sets the MIME content. Gets or sets the MIME content. The MIME content. Dispatches to the specific visit method for this MIME entity. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. Calculates the most efficient content encoding given the specified constraint. If no is set, will be returned. The most efficient content encoding. The encoding constraint. The cancellation token. is not a valid value. The operation was canceled via the cancellation token. An I/O error occurred. Calculates the most efficient content encoding given the specified constraint. If no is set, will be returned. The most efficient content encoding. The encoding constraint. The maximum allowable length for a line (not counting the CRLF). Must be between 72 and 998 (inclusive). The cancellation token. is not between 72 and 998 (inclusive). -or- is not a valid value. The operation was canceled via the cancellation token. An I/O error occurred. Computes the MD5 checksum of the content. Computes the MD5 checksum of the MIME content in its canonical format and then base64-encodes the result. The md5sum of the content. The is null. Verifies the Content-Md5 value against an independently computed md5sum. Computes the MD5 checksum of the MIME content and compares it with the value in the Content-MD5 header, returning true if and only if the values match. true, if content MD5 checksum was verified, false otherwise. Prepare the MIME entity for transport using the specified encoding constraints. Prepares the MIME entity for transport using the specified encoding constraints. The encoding constraint. The maximum number of octets allowed per line (not counting the CRLF). Must be between 60 and 998 (inclusive). is not between 60 and 998 (inclusive). -or- is not a valid value. Writes the to the specified output stream. Writes the MIME part to the output stream. The formatting options. The output stream. true if only the content should be written; otherwise, false. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. An I/O error occurred. Asynchronously writes the to the specified output stream. Asynchronously writes the MIME part to the output stream. An awaitable task. The formatting options. The output stream. true if only the content should be written; otherwise, false. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. An I/O error occurred. Called when the headers change in some way. Updates the , , and properties if the corresponding headers have changed. The type of change. The header being added, changed or removed. A mapping of file name extensions to the corresponding MIME-type. A mapping of file name extensions to the corresponding MIME-type. Gets the MIME-type of the file. Gets the MIME-type of the file based on the file extension. The MIME-type. The file name. is null. Represents a visitor for MIME trees. This class is designed to be inherited to create more specialized classes whose functionality requires traversing, examining or copying a MIME tree. Dispatches the entity to one of the more specialized visit methods in this class. Dispatches the entity to one of the more specialized visit methods in this class. The MIME entity. Dispatches the message to one of the more specialized visit methods in this class. Dispatches the message to one of the more specialized visit methods in this class. The MIME message. Visit the application/pgp-encrypted MIME entity. Visits the application/pgp-encrypted MIME entity. The application/pgp-encrypted MIME entity. Visit the application/pgp-signature MIME entity. Visits the application/pgp-signature MIME entity. The application/pgp-signature MIME entity. Visit the application/pkcs7-mime MIME entity. Visits the application/pkcs7-mime MIME entity. The application/pkcs7-mime MIME entity. Visit the application/pkcs7-signature MIME entity. Visits the application/pkcs7-signature MIME entity. The application/pkcs7-signature MIME entity. Visit the message/disposition-notification MIME entity. Visits the message/disposition-notification MIME entity. The message/disposition-notification MIME entity. Visit the message/delivery-status MIME entity. Visits the message/delivery-status MIME entity. The message/delivery-status MIME entity. Visit the message contained within a message/rfc822 or message/news MIME entity. Visits the message contained within a message/rfc822 or message/news MIME entity. The message/rfc822 or message/news MIME entity. Visit the message/rfc822 or message/news MIME entity. Visits the message/rfc822 or message/news MIME entity. The message/rfc822 or message/news MIME entity. Visit the message/partial MIME entity. Visits the message/partial MIME entity. The message/partial MIME entity. Visit the abstract MIME entity. Visits the abstract MIME entity. The MIME entity. Visit the body of the message. Visits the body of the message. The message. Visit the MIME message. Visits the MIME message. The MIME message. Visit the abstract MIME part entity. Visits the MIME part entity. The MIME part entity. Visit the children of a . Visits the children of a . Multipart. Visit the abstract multipart MIME entity. Visits the abstract multipart MIME entity. The multipart MIME entity. Visit the multipart/alternative MIME entity. Visits the multipart/alternative MIME entity. The multipart/alternative MIME entity. Visit the multipart/encrypted MIME entity. Visits the multipart/encrypted MIME entity. The multipart/encrypted MIME entity. Visit the multipart/related MIME entity. Visits the multipart/related MIME entity. The multipart/related MIME entity. Visit the multipart/report MIME entity. Visits the multipart/report MIME entity. The multipart/report MIME entity. Visit the multipart/signed MIME entity. Visits the multipart/signed MIME entity. The multipart/signed MIME entity. Visit the text-based MIME part entity. Visits the text-based MIME part entity. The text-based MIME part entity. Visit the text/rfc822-headers MIME entity. Visits the text/rfc822-headers MIME entity. The text/rfc822-headers MIME entity. Visit the Microsoft TNEF MIME part entity. Visits the Microsoft TNEF MIME part entity. The Microsoft TNEF MIME part entity. A multipart MIME entity which may contain a collection of MIME entities. All multipart MIME entities will have a Content-Type with a media type of "multipart". The most common multipart MIME entity used in email is the "multipart/mixed" entity. Four (4) initial subtypes were defined in the original MIME specifications: mixed, alternative, digest, and parallel. The "multipart/mixed" type is a sort of general-purpose container. When used in email, the first entity is typically the "body" of the message while additional entities are most often file attachments. Speaking of message "bodies", the "multipart/alternative" type is used to offer a list of alternative formats for the main body of the message (usually they will be "text/plain" and "text/html"). These alternatives are in order of increasing faithfulness to the original document (in other words, the last entity will be in a format that, when rendered, will most closely match what the sending client's WYSISYG editor produced). The "multipart/digest" type will typically contain a digest of MIME messages and is most commonly used by mailing-list software. The "multipart/parallel" type contains entities that are all meant to be shown (or heard) in parallel. Another commonly used type is the "multipart/related" type which contains, as one might expect, inter-related MIME parts which typically reference each other via URIs based on the Content-Id and/or Content-Location headers. Initializes a new instance of the class. This constructor is used by . Information used by the constructor. is null. Initializes a new instance of the class. Creates a new with the specified subtype. The multipart media sub-type. An array of initialization parameters: headers and MIME entities. is null. -or- is null. contains one or more arguments of an unknown type. Initializes a new instance of the class. Creates a new with the specified subtype. The multipart media sub-type. is null. Initializes a new instance of the class. Creates a new with a ContentType of multipart/mixed. Gets or sets the boundary. Gets or sets the boundary parameter on the Content-Type header. The boundary. is null. Gets or sets the preamble. A multipart preamble appears before the first child entity of the multipart and is typically used only in the top-level multipart of the message to specify that the message is in MIME format and therefore requires a MIME compliant email application to render it correctly. The preamble. Gets or sets the epilogue. A multipart epiloque is the text that appears after the closing boundary of the multipart and is typically either empty or a single new line character sequence. The epilogue. Gets or sets whether the end boundary should be written. Gets or sets whether the end boundary should be written. true if the end boundary should be written; otherwise, false. Dispatches to the specific visit method for this MIME entity. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. Prepare the MIME entity for transport using the specified encoding constraints. Prepares the MIME entity for transport using the specified encoding constraints. The encoding constraint. The maximum number of octets allowed per line (not counting the CRLF). Must be between 60 and 998 (inclusive). is not between 60 and 998 (inclusive). -or- is not a valid value. Writes the to the specified output stream. Writes the multipart MIME entity and its subparts to the output stream. The formatting options. The output stream. true if only the content should be written; otherwise, false. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. An I/O error occurred. Asynchronously writes the to the specified output stream. Asynchronously writes the multipart MIME entity and its subparts to the output stream. An awaitable task. The formatting options. The output stream. true if only the content should be written; otherwise, false. The cancellation token. is null. -or- is null. The operation was canceled via the cancellation token. An I/O error occurred. Gets the number of parts in the multipart. Indicates the number of parts in the multipart. The number of parts in the multipart. Gets a value indicating whether this instance is read only. A is never read-only. true if this instance is read only; otherwise, false. Adds the specified part. Adds the specified part to the multipart. The part to add. is null. Clears the multipart. Removes all of the parts within the multipart. Checks if the contains the specified part. Determines whether or not the multipart contains the specified part. true if the specified part exists; otherwise false. The part to check for. is null. Copies all of the entities in the to the specified array. Copies all of the entities within the into the array, starting at the specified array index. The array to copy the headers to. The index into the array. is null. is out of range. Removes the specified part. Removes the specified part, if it exists within the multipart. true if the part was removed; otherwise false. The part to remove. is null. Gets the index of the specified part. Finds the index of the specified part, if it exists. The index of the specified part if found; otherwise -1. The part. is null. Inserts the part at the specified index. Inserts the part into the multipart at the specified index. The index. The part. is null. is out of range. Removes the part at the specified index. Removes the part at the specified index. The index. is out of range. Gets or sets the at the specified index. Gets or sets the at the specified index. The entity at the specified index. The index. is null. is out of range. Gets the enumerator for the children of the . Gets the enumerator for the children of the . The enumerator. Gets the enumerator for the children of the . Gets the enumerator for the children of the . The enumerator. A multipart/alternative MIME entity. A multipart/alternative MIME entity contains, as one might expect, is used to offer a list of alternative formats for the main body of the message (usually they will be "text/plain" and "text/html"). These alternatives are in order of increasing faithfulness to the original document (in other words, the last entity will be in a format that, when rendered, will most closely match what the sending client's WYSISYG editor produced). Initializes a new instance of the class. This constructor is used by . Information used by the constructor. is null. Initializes a new instance of the class. Creates a new part. An array of initialization parameters: headers and MIME entities. is null. contains one or more arguments of an unknown type. Initializes a new instance of the class. Creates a new part. Get the text of the text/plain alternative. Gets the text of the text/plain alternative, if it exists. The text if a text/plain alternative exists; otherwise, null. Get the HTML-formatted text of the text/html alternative. Gets the HTML-formatted text of the text/html alternative, if it exists. The HTML if a text/html alternative exists; otherwise, null. Dispatches to the specific visit method for this MIME entity. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. Get the text body in the specified format. Gets the text body in the specified format, if it exists. The text body in the desired format if it exists; otherwise, null. The desired text format. A multipart/related MIME entity. A multipart/related MIME entity contains, as one might expect, inter-related MIME parts which typically reference each other via URIs based on the Content-Id and/or Content-Location headers. Initializes a new instance of the class. This constructor is used by . Information used by the constructor. is null. Initializes a new instance of the class. Creates a new part. An array of initialization parameters: headers and MIME entities. is null. contains one or more arguments of an unknown type. Initializes a new instance of the class. Creates a new part. Gets or sets the root document of the multipart/related part and the appropriate Content-Type parameters. Gets or sets the root document that references the other MIME parts within the multipart/related. When getting the root document, the "start" parameter of the Content-Type header is used to determine which of the parts is the root. If the "start" parameter does not exist or does not reference any of the child parts, then the first child is assumed to be the root. When setting the root document MIME part, the Content-Type header of the multipart/related part is also updated with a appropriate "start" and "type" parameters. The root MIME part. is null. Dispatches to the specific visit method for this MIME entity. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. Checks if the contains a part matching the specified URI. Determines whether or not the multipart/related entity contains a part matching the specified URI. true if the specified part exists; otherwise false. The URI of the MIME part. is null. Gets the index of the part matching the specified URI. Finds the index of the part matching the specified URI, if it exists. If the URI scheme is "cid", then matching is performed based on the Content-Id header values, otherwise the Content-Location headers are used. If the provided URI is absolute and a child part's Content-Location is relative, then then the child part's Content-Location URI will be combined with the value of its Content-Base header, if available, otherwise it will be combined with the multipart/related part's Content-Base header in order to produce an absolute URI that can be compared with the provided absolute URI. The index of the part matching the specified URI if found; otherwise -1. The URI of the MIME part. is null. Opens a stream for reading the decoded content of the MIME part specified by the provided URI. Opens a stream for reading the decoded content of the MIME part specified by the provided URI. A stream for reading the decoded content of the MIME part specified by the provided URI. The URI. The mime-type of the content. The charset of the content (if the content is text-based) is null. The MIME part for the specified URI could not be found. Opens a stream for reading the decoded content of the MIME part specified by the provided URI. Opens a stream for reading the decoded content of the MIME part specified by the provided URI. A stream for reading the decoded content of the MIME part specified by the provided URI. The URI. is null. The MIME part for the specified URI could not be found. A multipart/report MIME entity. A multipart/related MIME entity is a general container part for electronic mail reports of any kind. Initializes a new instance of the class. This constructor is used by . Information used by the constructor. is null. Initializes a new instance of the class. Creates a new part. The type of the report. An array of initialization parameters: headers and MIME entities. is null. -or- is null. contains one or more arguments of an unknown type. Initializes a new instance of the class. Creates a new part. The type of the report. is null. Gets or sets the type of the report. Gets or sets the type of the report. The report type should be the subtype of the second of the multipart/report. The type of the report. is null. Dispatches to the specific visit method for this MIME entity. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. A header parameter as found in the Content-Type and Content-Disposition headers. Content-Type and Content-Disposition headers often have parameters that specify further information about how to interpret the content. Initializes a new instance of the class. Creates a new parameter with the specified name and value. The parameter name. The parameter value. is null. -or- is null. contains illegal characters. Initializes a new instance of the class. Creates a new parameter with the specified name and value. The character encoding. The parameter name. The parameter value. is null. -or- is null. -or- is null. contains illegal characters. Initializes a new instance of the class. Creates a new parameter with the specified name and value. The character encoding. The parameter name. The parameter value. is null. -or- is null. -or- is null. contains illegal characters. is not supported. Gets the parameter name. Gets the parameter name. The parameter name. Gets or sets the parameter value character encoding. Gets or sets the parameter value character encoding. The character encoding. Gets or sets the parameter encoding method to use. Gets or sets the parameter encoding method to use. The MIME specifications specify that the proper method for encoding Content-Type and Content-Disposition parameter values is the method described in rfc2231. However, it is common for some older email clients to improperly encode using the method described in rfc2047 instead. If set to , the encoding method used will default to the value set on the . The encoding method. is not a valid value. Gets or sets the parameter value. Gets or sets the parameter value. The parameter value. is null. Returns a string representation of the . Formats the parameter name and value in the form name="value". A string representation of the . The method to use for encoding Content-Type and Content-Disposition parameter values. The MIME specifications specify that the proper method for encoding Content-Type and Content-Disposition parameter values is the method described in rfc2231. However, it is common for some older email clients to improperly encode using the method described in rfc2047 instead. Use the default encoding method set on the . Use the encoding method described in rfc2231. Use the encoding method described in rfc2047 (for compatibility with older, non-rfc-compliant email clients). A list of parameters, as found in the Content-Type and Content-Disposition headers. Parameters are used by both and . Initializes a new instance of the class. Creates a new parameter list. Adds a parameter with the specified name and value. Adds a new parameter to the list with the specified name and value. The parameter name. The parameter value. is null. -or- is null. The contains illegal characters. Adds a parameter with the specified name and value. Adds a new parameter to the list with the specified name and value. The character encoding. The parameter name. The parameter value. is null. -or- is null. -or- is null. contains illegal characters. Adds a parameter with the specified name and value. Adds a new parameter to the list with the specified name and value. The character encoding. The parameter name. The parameter value. is null. -or- is null. -or- is null. cannot be empty. -or- contains illegal characters. is not supported. Checks if the contains a parameter with the specified name. Determines whether or not the parameter list contains a parameter with the specified name. true if the requested parameter exists; otherwise false. The parameter name. is null. Gets the index of the requested parameter, if it exists. Finds the index of the parameter with the specified name, if it exists. The index of the requested parameter; otherwise -1. The parameter name. is null. Inserts a parameter with the specified name and value at the given index. Inserts a new parameter with the given name and value at the specified index. The index to insert the parameter. The parameter name. The parameter value. is null. -or- is null. The contains illegal characters. is out of range. Removes the specified parameter. Removes the parameter with the specified name from the list, if it exists. true if the specified parameter was removed; otherwise false. The parameter name. is null. Gets or sets the value of a parameter with the specified name. Gets or sets the value of a parameter with the specified name. The value of the specified parameter if it exists; otherwise null. The parameter name. is null. -or- is null. The contains illegal characters. Gets the parameter with the specified name. Gets the parameter with the specified name. true if the parameter exists; otherwise, false. The parameter name. The parameter. is null. Gets the value of the parameter with the specified name. Gets the value of the parameter with the specified name. true if the parameter exists; otherwise, false. The parameter name. The parameter value. is null. Gets the number of parameters in the . Indicates the number of parameters in the list. The number of parameters. Gets a value indicating whether this instance is read only. A is never read-only. true if this instance is read only; otherwise, false. Adds the specified parameter. Adds the specified parameter to the end of the list. The parameter to add. The is null. A parameter with the same name as already exists. Clears the parameter list. Removes all of the parameters from the list. Checks if the contains the specified parameter. Determines whether or not the parameter list contains the specified parameter. true if the specified parameter is contained; otherwise false. The parameter. The is null. Copies all of the contained parameters to the specified array. Copies all of the parameters within the into the array, starting at the specified array index. The array to copy the parameters to. The index into the array. Removes the specified parameter. Removes the specified parameter from the list. true if the specified parameter was removed; otherwise false. The parameter. The is null. Gets the index of the requested parameter, if it exists. Finds the index of the specified parameter, if it exists. The index of the requested parameter; otherwise -1. The parameter. The is null. Inserts the specified parameter at the given index. Inserts the parameter at the specified index in the list. The index to insert the parameter. The parameter. The is null. The is out of range. A parameter with the same name as already exists. Removes the parameter at the specified index. Removes the parameter at the specified index. The index. The is out of range. Gets or sets the at the specified index. Gets or sets the at the specified index. The parameter at the specified index. The index. The is null. The is out of range. A parameter with the same name as already exists. Gets an enumerator for the list of parameters. Gets an enumerator for the list of parameters. The enumerator. Gets an enumerator for the list of parameters. Gets an enumerator for the list of parameters. The enumerator. Returns a string representation of the parameters in the . If there are multiple parameters in the list, they will be separated by a semicolon. A string representing the . A Parse exception as thrown by the various Parse methods in MimeKit. A can be thrown by any of the Parse() methods in MimeKit. Each exception instance will have a which marks the byte offset of the token that failed to parse as well as a which marks the byte offset where the error occurred. Initializes a new instance of the class. Creates a new . The serialization info. The stream context. is null. Initializes a new instance of the class. Creates a new . The error message. The byte offset of the token. The byte offset of the error. The inner exception. Initializes a new instance of the class. Creates a new . The error message. The byte offset of the token. The byte offset of the error. When overridden in a derived class, sets the with information about the exception. Sets the with information about the exception. The serialization info. The streaming context. is null. Gets the byte index of the token that was malformed. The token index is the byte offset at which the token started. The byte index of the token. Gets the index of the byte that caused the error. The error index is the byte offset at which the parser encountered an error. The index of the byte that caused error. Parser options as used by as well as various Parse and TryParse methods in MimeKit. allows you to change and/or override default parsing options used by methods such as and others. The default parser options. If a is not supplied to or other Parse and TryParse methods throughout MimeKit, will be used. Gets or sets the compliance mode that should be used when parsing rfc822 addresses. In general, you'll probably want this value to be (the default) as it allows maximum interoperability with existing (broken) mail clients and other mail software such as sloppily written perl scripts (aka spambots). Even in mode, the address parser is fairly liberal in what it accepts. Setting it to just makes it try harder to deal with garbage input. The RFC compliance mode. Gets or sets whether the rfc822 address parser should ignore unquoted commas in address names. In general, you'll probably want this value to be true (the default) as it allows maximum interoperability with existing (broken) mail clients and other mail software such as sloppily written perl scripts (aka spambots) that do not properly quote the name when it contains a comma. true if the address parser should ignore unquoted commas in address names; otherwise, false. Gets or sets whether the rfc822 address parser should allow addresses without a domain. In general, you'll probably want this value to be true (the default) as it allows maximum interoperability with older email messages that may contain local UNIX addresses. This option exists in order to allow parsing of mailbox addresses that do not have an @domain component. These types of addresses are rare and were typically only used when sending mail to other users on the same UNIX system. true if the address parser should allow mailbox addresses without a domain; otherwise, false. Gets or sets the maximum address group depth the parser should accept. This option exists in order to define the maximum recursive depth of an rfc822 group address that the parser should accept before bailing out with the assumption that the address is maliciously formed. If the value is set too large, then it is possible that a maliciously formed set of recursive group addresses could cause a stack overflow. The max address group depth. Gets or sets the compliance mode that should be used when parsing Content-Type and Content-Disposition parameters. In general, you'll probably want this value to be (the default) as it allows maximum interoperability with existing (broken) mail clients and other mail software such as sloppily written perl scripts (aka spambots). Even in mode, the parameter parser is fairly liberal in what it accepts. Setting it to just makes it try harder to deal with garbage input. The RFC compliance mode. Gets or sets the compliance mode that should be used when decoding rfc2047 encoded words. In general, you'll probably want this value to be (the default) as it allows maximum interoperability with existing (broken) mail clients and other mail software such as sloppily written perl scripts (aka spambots). The RFC compliance mode. Gets or sets a value indicating whether the Content-Length value should be respected when parsing mbox streams. For more details about why this may be useful, you can find more information at http://www.jwz.org/doc/content-length.html. true if the Content-Length value should be respected; otherwise, false. Gets or sets the charset encoding to use as a fallback for 8bit headers. and use this charset encoding as a fallback when decoding 8bit text into unicode. The first charset encoding attempted is UTF-8, followed by this charset encoding, before finally falling back to iso-8859-1. The charset encoding. Initializes a new instance of the class. By default, new instances of enable rfc2047 work-arounds (which are needed for maximum interoperability with mail software used in the wild) and do not respect the Content-Length header value. Clones an instance of . Clones a set of options, allowing you to change a specific option without requiring you to change the original. An identical copy of the current instance. Registers the subclass for the specified mime-type. The MIME type. A custom subclass of . Your custom class should not subclass directly, but rather it should subclass , , , or one of their derivatives. is null. -or- is null. is not a subclass of , , or . -or- does not have a constructor that takes only a argument. An RFC compliance mode. An RFC compliance mode. Attempt to be much more liberal accepting broken and/or invalid formatting. Do not attempt to be overly liberal in accepting broken and/or invalid formatting. A Textual MIME part. Unless overridden, all textual parts parsed by the , such as text/plain or text/html, will be represented by a . For more information about text media types, see section 4.1 of rfc2046. Initializes a new instance of the class. This constructor is used by . Information used by the constructor. is null. Initializes a new instance of the class with the specified text subtype. Creates a new with the specified subtype. Typically the should either be "plain" for plain text content or "html" for HTML content. For more options, check the MIME-type registry at http://www.iana.org/assignments/media-types/media-types.xhtml#text The media subtype. An array of initialization parameters: headers, charset encoding and text. is null. -or- is null. contains more than one . -or- contains more than one . -or- contains one or more arguments of an unknown type. Initializes a new instance of the class with the specified text subtype. Creates a new with the specified subtype. Typically the should either be "plain" for plain text content or "html" for HTML content. For more options, check the MIME-type registry at http://www.iana.org/assignments/media-types/media-types.xhtml#text The media subtype. is null. Initializes a new instance of the class with the specified text format. Creates a new with the specified text format. The text format. is out of range. Initializes a new instance of the class with a Content-Type of text/plain. Creates a default with a mime-type of text/plain. Gets whether or not this text part contains enriched text. Checks whether or not the text part's Content-Type is text/enriched or its predecessor, text/richtext (not to be confused with text/rtf). true if the text is enriched; otherwise, false. Gets whether or not this text part contains flowed text. Checks whether or not the text part's Content-Type is text/plain and has a format parameter with a value of flowed. true if the text is flowed; otherwise, false. Gets whether or not this text part contains HTML. Checks whether or not the text part's Content-Type is text/html. true if the text is html; otherwise, false. Gets whether or not this text part contains plain text. Checks whether or not the text part's Content-Type is text/plain. true if the text is html; otherwise, false. Gets whether or not this text part contains RTF. Checks whether or not the text part's Content-Type is text/rtf. true if the text is RTF; otherwise, false. Gets the decoded text content. If the charset parameter on the is set, it will be used in order to convert the raw content into unicode. If that fails or if the charset parameter is not set, iso-8859-1 will be used instead. For more control, use or . The text. Dispatches to the specific visit method for this MIME entity. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. Determines whether or not the text is in the specified format. Determines whether or not the text is in the specified format. true if the text is in the specified format; otherwise, false. The text format. Gets the decoded text content using the provided charset encoding to override the charset specified in the Content-Type parameters. Uses the provided charset encoding to convert the raw text content into a unicode string, overriding any charset specified in the Content-Type header. The decoded text. The charset encoding to use. is null. Gets the decoded text content using the provided charset to override the charset specified in the Content-Type parameters. Uses the provided charset encoding to convert the raw text content into a unicode string, overriding any charset specified in the Content-Type header. The decoded text. The charset encoding to use. is null. The is not supported. Sets the text content and the charset parameter in the Content-Type header. This method is similar to setting the property, but allows specifying a charset encoding to use. Also updates the property. The charset encoding. The text content. is null. -or- is null. Sets the text content and the charset parameter in the Content-Type header. This method is similar to setting the property, but allows specifying a charset encoding to use. Also updates the property. The charset encoding. The text content. is null. -or- is null. The is not supported. A MIME part containing message headers as its content. Represents MIME entities with a Content-Type of text/rfc822-headers. Initializes a new instance of the class. This constructor is used by . Information used by the constructor. is null. Initializes a new instance of the class. Creates a new . An array of initialization parameters: headers and message parts. is null. contains more than one . -or- contains one or more arguments of an unknown type. Initializes a new instance of the class. Creates a new text/rfc822-headers MIME entity. Dispatches to the specific visit method for this MIME entity. This default implementation for nodes calls . Override this method to call into a more specific method on a derived visitor class of the class. However, it should still support unknown visitors by calling . The visitor. is null. An enumeration of X-Priority header values. Indicates the priority of a message. The message is of the highest priority. The message is high priority. The message is of normal priority. The message is of low priority. The message is of lowest priority.