Click or drag to resize

IMail Interface

This class provides simple access to email message. Use MailBuilder class to create this object. It is possible to access entire MIME tree using MimeDocument property.

Namespace: Limilabs.Mail
Assembly: Mail (in Mail.dll) Version: 3.0.26106.1555
Syntax
public interface IMail

The IMail type exposes the following members.

Properties
 NameDescription
Public propertyAlternatives Gets the list of alternative elements in this email message. E.g. MimeCalendar if message is an appointment invitation.
Public propertyAppointments Gets the list of all appointments in this email message.
Public propertyAttachments Gets the list of all attachments in this email message. Including Alternatives, Visuals (Inline) and NonVisuals (Attachment).
Public propertyBcc Gets the address(es) of others who are to receive this email message ('BCC', Blind Carbon Copy header), even tough the content of the message may not be directed at them. In this collection you can find MailBox which represents single mailbox, or MailGroup which represents group of email addresses. This collection can be modified. May be empty. BCC header is not rendered when Render method is used, however it is rendered when message is saved using Save(String) method.
Public propertyCc Gets the address(es) of others who are to receive this email message ('CC', Carbon Copy header), even tough the content of the message may not be directed at them. In this collection you can find MailBox which represent single mailbox, or MailGroup which represents group of email addresses. This collection can be modified. May be empty.
Public propertyDate Gets or sets the send date of this email message ('Date' header). May be null in case of parsing error or when 'Date' header is missing.
Public propertyDeliveryStatuses Gets the list of all Delivery Status Notifications (DSNs) in this email message.
Public propertyDKIMSignatureInfo Gets DKIM signature information from the first 'DKIM-Signature' header.
Public propertyDKIMSignatureInfos Gets DKIM signature information.
Public propertyDocument Gets the entire MimeDocument object associated with this email message.
Public propertyEnvelopeFrom Gets or sets the address of the sender taken from the SMTP envelope (SMTP "MAIL FROM").
Public propertyEnvelopeTo Gets or sets the address of the recipient taken from the SMTP envelope (SMTP "RCTP FROM").
Public propertyFrom Gets the author(s) of this email message ('From' header). This collection can be modified. If it's empty, email message is NOT RFC 2822 compliant.
Public propertyHeaders MIME headers collection for root MIME entity.
Public propertyHtml Gets HTML version of this email message. You can use GetTextFromHtml method to extract plain text from HTML content. You can also use GetBodyAsText or GetBodyAsHtml to obtain body in a specific format.
Public propertyHtmlData Gets the object representing 'text/html' body of this email message. May be null if no HTML data is present. You may use Html as a shortcut to retrieve HTML text.
Public propertyHtmlDataString Gets HTML data of this email message. You can use GetTextFromHtml method to extract plain text from HTML content.
Obsolete
Public propertyImportance Gets or sets the importance of this email message ('Importance' header). Consider using GetGenericPriority as it also checks Priority and XPriority properties.
Public propertyInReplyTo Gets or sets the message-id of the parent email message ('In-Reply-To' header). Does not contain surrounding brackets (< and >).
Public propertyIsDKIMSigned Indicates if this email message has been DKIM (DomainKeys Identified Mail) signed.
Public propertyIsEncrypted Indicates if this email message has been encrypted.
Public propertyIsForward Gets the boolean value indicating if this message was forwarded.
Public propertyIsHtml Returns true if body of this email message is specified in HTML format. You can use Html property to access HTML version of the body.
Public propertyIsPartial Gets the boolean value indicating if this message was split (MIME document root is of type MimeMessagePartial).
Public propertyIsReply Gets the boolean value indicating if this message is a reply.
Public propertyIsRtf Returns true if body of this email message is specified in RTF format. You can use Rtf property to access RTF version of the body.
Public propertyIsSigned Indicates if this email message has been signed.
Public propertyIsText Returns true if body of this email message is specified in plain text format. You can use Text property to access plain text version of the body.
Public propertyListArchive Gets URL list of mailing list archive ('List-Archive' header). This collection can be modified. May be empty.
Public propertyListHelp Gets URL list for mailing list information ('List-Help' header). This collection can be modified. May be empty.
Public propertyListID Gets or sets mailing list identifier ('List-Id' header).May be null.
Public propertyListOwner Gets URL list for mailing list owner's mailbox ('List-Owner' header). This collection can be modified. May be empty.
Public propertyListPost Gets URL list for mailing list posting ('List-Post' header). This collection can be modified. May be empty.
Public propertyListSubscribe Gets URL list for mailing list subscription ('List-Subscribe' header). This collection can be modified. May be empty.
Public propertyListUnsubscribe Gets list of URLs ("http://www.example.com/unsubscribe") or emails ("mailto:unsubscribe@lexample.com") for mailing list unsubscription ('List-Unsubscribe' header). This collection can be modified. May be empty.
Public propertyMessageID Gets or sets id of this email message ('Message-ID' header). Does not include surrounding brackets (< and >).
Public propertyMimeVersion Gets or sets MIME version of this email message ('MIME-version' header).
Public propertyNeedsDecryption Indicates if this email message needs to be decrypted. You can use Decrypt, Decrypt(ListX509Certificate2), Decrypt(X509Certificate2) to decrypt a message.
Public propertyNeedsSignedExtraction Indicates if this email message needs signed message extraction.
Public propertyNonVisuals Gets the list of all non visual elements (ContentDisposition.Value equal to Attachment) in this email message. E.g. Attached data files.
Public propertyNotificationTo Gets the disposition notifications addresses ('Disposition-Notification-To' header). This collection can be modified. May be empty.
Public propertyPartialId Gets the unique identifier to be used to match the parts together.
Public propertyPriority Gets or sets the priority of this email message ('Priority' header). Consider using GetGenericPriority as it also checks Importance and XPriority properties.
Public propertyRcptTo Gets or sets the address of the recipient taken from the SMTP envelope (SMTP "RCTP FROM").
Public propertyReadReceipts Gets the list of all Message Disposition Notifications (MDNs) in this email message.
Public propertyReceived Gets the list of all 'received' headers added to this email message. Last item in this list is the one added earliest.
Public propertyReferences Gets the ids of the referenced email messages. Does not include surrounding brackets (< and >). This collection can be modified. May be empty.
Public propertyReplyTo Gets the address(es) to which the author of this email message suggests that replies be sent ('Reply-to' header). In this collection you can find MailBox which represents single mailbox, or MailGroup which represents group of email addresses. This collection can be modified. May be empty.
Public propertyReturnPath Gets or sets return path address ('Return-Path' header). Does not include brackets (< and >).
Public propertyReturnReceiptTo Gets return receipt addresses ('Return-Receipt-To' header). This collection can be modified. May be empty.
Public propertyRtf Gets RTF version of this email message. RTF may be extracted from a TNEF attachment (winmail.dat) a proprietary e-mail attachment format used by Microsoft Outlook and Microsoft Exchange Server.
Public propertyRtfData Gets the object representing 'text/rtf' or 'application/rtf' body of this email message. May be null if no RTF data is present. You may use Rtf as a shortcut to retrieve RTF text.
Public propertySender Gets or sets mailbox of the agent responsible for the actual transmission of this email message ('Sender' header). If 'Sender' is null, it returns first item from From collection.
Public propertySenderHeader Gets or sets mailbox of the agent responsible for the actual transmission of this email message ('Sender' header).
Public propertySensitivity Gets or sets the sensitivity of this email message ('Sensitivity' header)
Public propertySubject Gets or sets the subject of this email message ('Subject' header). May be null.
Public propertyText Gets plain text version of this email message. For some HTML emails plain text may be not defined, you can use GetTextFromHtml method to extract plain text from HTML content. You can also use GetBodyAsText or GetBodyAsHtml to obtain body in a specific format.
Public propertyTextData Gets the object representing 'text/plain' body of this email message. May be null if no text/plain data is present. You may use Text as a shortcut to retrieve plain text.
Public propertyTextDataString Gets plain text data from this email message. For some HTML emails plain text may be not defined, you can use GetTextFromHtml method to extract plain text from HTML content. You can also use GetBodyAsText or GetBodyAsHtml to obtain body in a specific format.
Obsolete
Public propertyTo Gets the address(es) of the primary recipient(s) of this email message ('To' header). In this collection you can find MailBox which represents single mailbox, or MailGroup which represents group of email addresses. This collection can be modified. May be empty.
Public propertyVCards Gets the list of all vCards in this email message.
Public propertyVisuals Gets the list of all visual elements (ContentDisposition.Value equal to Inline) in this email message. E.g. Images embedded inside HTML email. You can use Visuals[string cid] to find the picture embedded in the HTML body using its content id ('Content-ID' header).
Public propertyXConfirmReadingTo Gets confirm reading addresses ('X-Confirm-Reading-To' header). This collection can be modified. May be empty.
Public propertyXEnvelopeFrom Gets or sets the address of the sender taken from the SMTP envelope (SMTP "MAIL FROM").
Public propertyXMsg2Mime Gets or sets the 'X-Msg2Mime' value. It represents information if this email was created from MSG data.
Public propertyXMsg2MimeClientSubmitTime Gets or sets the 'X-Msg2Mime-Client-Submit-Time' value. It represents PR_CLIENT_SUBMIT_TIME. May be null.
Public propertyXMsg2MimeCreationTime Gets or sets the 'X-Msg2Mime-Creation-Time' value. It represents PR_CREATION_TIME. May be null.
Public propertyXMsg2MimeMessageDeliveryTime Gets or sets the 'X-Msg2Mime-Message-Delivery-Time' value. It represents PR_MESSAGE_DELIVERY_TIME. May be null.
Public propertyXPriority Gets or sets the X-Priority of this email message ('X-Priority' header) (Outlook specific). Value ranges from "1" to "5" where "1" is the highest priority, "3" is normal, and "5" is the lowest priority. Consider using GetGenericPriority as it also checks Priority and Importance properties.
Public propertyXRcptTo Gets or sets the address of the recipient taken from the SMTP envelope (SMTP "RCTP FROM").
Public propertyXTnef2MimeMessageClass Gets or sets the 'X-Tnef2Mime-MessageClass' value. May be null.
Top
Methods
 NameDescription
Public methodCheckDKIMSignature Verifies the DKIM (DomainKeys Identified Mail) digital signature on this message. Queries DNS server to get the public key.
Public methodCheckDKIMSignature(DKIMValidationConfiguration) Verifies the DKIM (DomainKeys Identified Mail) digital signature on this message. Queries DNS server to get the public key.
Public methodCheckDKIMSignature(RSACryptoServiceProvider) Verifies the DKIM (DomainKeys Identified Mail) digital signature on this message.
Public methodCheckDKIMSignature(RSACryptoServiceProvider, DKIMValidationConfiguration) Verifies the DKIM (DomainKeys Identified Mail) digital signature on this message.
Public methodCheckSignature(Boolean) Verifies the digital signatures on the signed CMS/PKCS #7 email message and, optionally, validates the signers' certificates. Checks also if the content was signed by the person that sent it.
Public methodCheckSignature(SignatureValidationConfiguration) Verifies the digital signatures on the signed CMS/PKCS #7 email message and, optionally, validates the signers' certificates. Checks also if the content was signed by the person that sent it.
Public methodDecrypt Decrypts the message. Searches through My certificate store to find appropriate certificate. You can use SMIMEConfiguration to specify certificates and automatic email decryption.
Public methodDecrypt(ListX509Certificate2) Decrypts the message. Searches through specified certificates and My certificate store to find appropriate certificate.
Public methodDecrypt(MimeConfiguration) Decrypts the message using specified MIME and S/MIME configuration.
Public methodDecrypt(SMIMEConfiguration) Decrypts the message using specified S/MIME configuration.
Public methodDecrypt(X509Certificate2) Decrypts the message using specified certificate for decryption. Uses the specified certificate and My certificate store to find appropriate certificate.
Public methodDKIMSign(ListDKIMSignatureConfiguration) Signs this message with multiple DKIM (DomainKeys Identified Mail) signatures.
Public methodDKIMSign(RSACryptoServiceProvider, DKIMSignatureInfo) Signs this message using DKIM (DomainKeys Identified Mail) signature.
Public methodDKIMSign(RSACryptoServiceProvider, String, String) Signs this message using DKIM (DomainKeys Identified Mail) signature.
Public methodEstimateTransportSize Gets the estimated transport size of this message.
Public methodExtractAttachmentsFromInnerMessages Extracts attachments from this message and all attached messages (MimeRfc822 objects with MessageRfc822 content type).
Public methodExtractSigned Extracts signed message.
Public methodExtractSigned(MimeConfiguration) Extracts signed message using specified MIME and S/MIME configuration.
Public methodExtractSigned(SMIMEConfiguration) Extracts signed message using specified S/MIME configuration.
Public methodForward Creates ForwardBuilder configured to forward this email.
Public methodGetBodyAsHtml Returns body in HTML format. If IsHtml is false this method uses Text property to create valid HTML.
Public methodGetBodyAsHtml(Boolean) Returns body in HTML format. If IsHtml is false this method uses Text property to create valid HTML. When inlineVisuals is set to true, all visual elements are inlined using 'data:' URI scheme.
Public methodGetBodyAsText Returns body in plain text format. Uses Text, GetTextFromHtml or GetTextFromRtf.
Public methodGetBodyAsText(Boolean) Returns body in plain text format. Uses Text, GetTextFromHtml or GetTextFromRtf.
Public methodGetEnvelopedCms Gets the EnvelopedCms object for encrypted emails.
Public methodGetGenericPriority Gets message priority. It checks following headers in the specified order: Priority, Importance, XPriority.
Public methodGetReadReceiptAddresses Gets addresses to which read receipt should be send. It uses , NotificationTo and XConfirmReadingTo header. Duplicates are removed. It returs an empty list, if read receipt was not requested.
Public methodGetSignedCms Gets the SignedCms object for signed emails.
Public methodGetTextFromHtml Extracts plain text from Html. This text may be different from what is actually stored in the email's Text property.
Public methodGetTextFromRtf Extracts plain text from Rtf. This text may be different from what is actually stored in the email's Text property.
Public methodPriorityHigh Sets XPriority to 1, Priority to Urgent and Importance to High
Public methodPriorityLow Sets XPriority to 5, Priority to NonUrgent and Importance to Low
Public methodRemoveAttachments Removes all attachments (NonVisuals) and visual elements from this email. Same as invoking RemoveAttachments(new AttachmentRemoverConfiguration()).
Public methodRemoveAttachments(AttachmentRemoverConfiguration) Removes attachments and visual elements from this email, according to configuration settings.
Public methodRender Renders mail message using eml format. BCC header is not rendered.
Public methodRender(AddressHeaderRenderMode) Renders mail message using eml format.
Public methodRender(Stream) Render mail message using eml format to specified stream. BCC header is rendered.
Public methodRender(Stream, AddressHeaderRenderMode) Render mail message using eml format to specified stream.
Public methodRenderEml Renders mail message using eml format. BCC header is not rendered.
Obsolete
Public methodRenderEml(Boolean) Renders mail message using eml format.
Obsolete
Public methodReplaceAttachments Replaces all attachments (NonVisuals) and visual elements with text indicating that attachment/visual was removed.
Public methodReplaceAttachments(AttachmentReplacerConfiguration) Replaces attachments and visual elements with text indicating that attachment/visual was removed, according to configuration settings.
Public methodReply Creates ReplyBuilder configured to reply to this email.
Public methodRequestReadReceipt This method copies From or ReplyTo addresses to all read receipts lists. Read receipts are stored using NotificationTo, ReturnReceiptTo and XConfirmReadingTo headers.
Public methodReSignWith(SignatureConfiguration) Computes the signature again.
Public methodReSignWith(X509Certificate2) Computes the signature again.
Public methodSave Saves email using eml format to specified file. BCC header is rendered.
Public methodSaveHtmlAs(String) Saves HTML version of the message as regular HTML file. Saves all visual elements as files to the same folder. If the message is plain text only, this method uses GetBodyAsHtml to create HTML from plain text.
Public methodSaveHtmlAs(String, Boolean) Saves HTML version of the message as regular HTML file. When inlineVisuals is set to true: all visual elements are inlined using data: URI scheme, instead of being saved to disk. If the message is plain text only, this method uses GetBodyAsHtml to create HTML from plain text.
Public methodToBuilder Creates new, fully initialized MailBuilder instance, with all data imported from this email object.
Top
See Also