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.23341.1754
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
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 Obsolete.
Gets HTML data of this email message. You can use GetTextFromHtml method to extract plain text from HTML content.
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
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 Obsolete.
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.
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(RSACryptoServiceProvider)
Verifies the DKIM (DomainKeys Identified Mail) digital signature on this message.
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, 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(X509Certificate2)
Decrypts the message using specified certificate for decryption. Uses the specified certificate 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 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
Public methodGetBodyAsText(Boolean)
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(Stream)
Render mail message using eml format to specified stream. BCC header is rendered.
Public methodRender(AddressHeaderRenderMode)
Renders mail message using eml format.
Public methodRender(Stream, AddressHeaderRenderMode)
Render mail message using eml format to specified stream.
Public methodRenderEml Obsolete.
Renders mail message using eml format. BCC header is not rendered.
Public methodRenderEml(Boolean) Obsolete.
Renders mail message using eml format.
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(X509Certificate2)
Computes the signature again.
Public methodReSignWith(SignatureConfiguration)
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