MimeMessage class

A MIME message

Inheritance

Constructors

MimeMessage.new()

Properties

allPartsFlat List<MimePart>
Puts all parts of this message into a flat sequential list.
no setter
bcc List<MailAddress>?
getter/setter pair
body BodyPart?
The body structure of the message.
getter/setter pair
cc List<MailAddress>?
getter/setter pair
envelope Envelope?
The envelope of the message.
getter/setter pair
flags List<String>?
Message flags like \Seen, \Recent, etc
getter/setter pair
from List<MailAddress>?
according to RFC 2822 section 3.6.2. there can be more than one FROM address, in that case the sender MUST be specified
getter/setter pair
fromEmail String?
The email of the first from address of this message
no setter
hashCode int
The hash code for this object.
no setterinherited
headers List<Header>?
The headers field contains all message(part) headers
getter/setter pairinherited
internalDate String?
The internal date of the message on the recipient's provider server
getter/setter pair
isAnswered bool
Checks if this message has been replied
getter/setter pair
isDeleted bool
Checks if this message has been marked as deleted
getter/setter pair
isDownloaded bool
Checks if this message contents has been downloaded
no setter
isFlagged bool
Checks if this message has been marked as important / flagged
getter/setter pair
isForwarded bool
Checks if this message has been forwarded
getter/setter pair
isMdnSent bool
Checks if a read receipt has been sent for this message
getter/setter pair
isReadReceiptRequested bool
Checks if a disposition notification message is requested.
no setter
isReadReceiptSent bool
Checks if a read receipt has been sent for this message
getter/setter pair
isSeen bool
Checks if this message has been read
getter/setter pair
mediaType MediaType
Simplified way to retrieve the media type When no content-type header is defined, the media type text/plain is returned
no setterinherited
mimeData MimeData?
The raw message data of this part. May or may not include headers, depending on retrieval.
getter/setter pairinherited
modSequence int?
The modifications sequence of this message. This is only returned by servers that support the CONDSTORE capability and can be fetch explicitely with 'MODSEQ'.
getter/setter pair
parts List<MimePart>?
The children of this part, if any.
getter/setter pairinherited
recipientAddresses List<String>
Retrieves the mail addresses of all message recipients
no setter
replyTo List<MailAddress>?
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sender MailAddress?
getter/setter pair
sequenceId int?
The index of the message, if known
getter/setter pair
size int?
The size of the message in bytes
getter/setter pair
threadSequence MessageSequence?
The thread sequence, this can be populated manually or with MailClient.fetchThreadData.
getter/setter pair
to List<MailAddress>?
getter/setter pair
uid int?
The uid of the message, if known
getter/setter pair

Methods

addFlag(String name) → void
Adds the flag with the specified name to this message.
addHeader(String name, String? value, [HeaderEncoding encoding = HeaderEncoding.none]) → void
Adds a header with the specified name, value and optional encoding.
inherited
addPart(MimePart part) → void
inherited
collectContentInfo(ContentDisposition disposition, List<ContentInfo> result, String? fetchId, {bool? reverse, bool? complete}) → void
Adds the matching disposition header with the specified disposition of this part and this children parts to the result.
inherited
copyIndividualParts(MimeMessage other) → void
decodeContentBinary() Uint8List?
Decodes the binary data of this part.
inherited
decodeContentMessage() MimeMessage?
Decodes a message/rfc822 part
inherited
decodeContentText() String?
Decodes the text of this part.
inherited
decodeDate() DateTime?
Decodes the message 'date' header to local time.
inherited
decodeFileName() String?
Tries to find and decode the associated file name
inherited
decodeHeaderDateValue(String name) DateTime?
Decodes the a date value of the first matching header
inherited
decodeHeaderMailAddressValue(String name) List<MailAddress>?
Decodes the email address value of first matching header
inherited
decodeHeaderValue(String name) String?
Decodes the value of the first matching header
inherited
decodeSender({bool combine = false}) List<MailAddress>
Retrieves the sender of the this message by checking the reply-to, sender and from header values in this order. Set combine to true in case you want to combine the addresses from these headers, by default the first non-emptry entry is returned.
decodeSubject() String?
Decodes the subject of this message
decodeTextHtmlPart() String?
Tries to find a 'content-type: text/html' part and decodes its contents when found.
override
decodeTextPlainPart() String?
Tries to find a 'content-type: text/plain' part and decodes its contents when found.
override
findContentInfo({ContentDisposition disposition = ContentDisposition.attachment, bool? withCleanParts, bool? complete}) List<ContentInfo>
Retrieves all content info of parts with the specified disposition Content-Type. By default the content info with ContentDisposition.attachment are retrieved. Typically this used to list all attachments of a message. Note that either the message contents (BODY[]) or the BODYSTRUCTURE is required to reliably list all matching content elements. All fetchId parsed from the BODYSTRUCTURE are returned in a form compatible with the body parts tree unless withCleanParts is false.
findRecipient(MailAddress recipient, {List<MailAddress>? aliases, bool allowPlusAliases = false}) MailAddress?
Finds the matching recipient address. Optionally specify known aliases and set allowPlusAliases to true to allow aliass such as me+alias@domain.com.
findSender(MailAddress sender, {List<MailAddress>? aliases, bool allowPlusAliases = false}) MailAddress?
Finds the matching sender address. Optionally specify known aliases and set allowPlusAliases to true to allow aliass such as me+alias@domain.com.
getHeader(String name) Iterable<Header>?
Retrieves all matching headers with the specified name.
inherited
getHeaderContentDisposition() ContentDispositionHeader?
Retrieves the first 'content-disposition' header.
inherited
getHeaderContentType() ContentTypeHeader?
Retrieves the first 'content-type' header.
override
getHeaderValue(String name) String?
Retrieves the raw value of the first matching header.
inherited
getPart(String fetchId) MimePart?
Retrieves the part with the specified fetchId.
getPartWithContentId(String cid) MimePart?
Retrieves the part with the specified Content-ID cid.
getPartWithMediaSubtype(MediaSubtype subtype) MimePart?
Searches the MimePart with the specified subtype.
override
hasAttachments() bool
Checks if this message has parts with a Content-Disposition: attachment header.
hasAttachmentsOrInlineNonTextualParts() bool
Checks if this message contains either explicit attachments or non-textual inline parts.
hasContent(ContentDisposition disposition) bool
Checks if this message has parts with the specified disposition. Note that either the full message or the body structure must have been downloaded before.
hasFlag(String name) bool
Checks if the messages has the message flag with the specified name.
hasHeader(String name) bool
Checks if this MIME part has a header with the specified name.
inherited
hasInlineParts() bool
Checks if this message any inline parts.
hasPart(MediaSubtype subtype, {int? depth}) bool
Checks if this MIME part or a child is of the specified media type
inherited
hasTextPart({int? depth}) bool
Checks if this MIME part or a child is textual.
inherited
insertPart(MimePart part) → void
inherited
isFrom(MailAddress sender, {List<MailAddress>? aliases, bool allowPlusAliases = false}) bool
Checks of this messagin is from the specified sender address. Optionally specify known aliases and set allowPlusAliases to true to allow aliass such as me+alias@domain.com. Set allowPlusAliases to true in case + aliases like me+alias@domain.com are valid.
isTextMediaType() bool
Checks if this MIME part is textual.
inherited
isTextMessage() bool
Checks if this is a typical text message Compare isTextPlainMessage Compare decodeTextPlainPart Compare decodeTextHtmlPart
isTextPlainMessage() bool
Checks if this is a typical text message with a plain text part Compare decodeTextPlainPart Compare isTextMessage
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
parse() → void
Parses this and all children MIME parts.
inherited
removeFlag(String name) → void
Removes the flag with the specified name from this message.
removeHeader(String name) → void
Removes the header with the specified name.
inherited
render(StringBuffer buffer, {bool renderHeader = true}) → void
Renders this mime part with all children parts into the specified buffer.
inherited
renderMessage({bool renderHeader = true}) String
Renders the complete message into a String.
setFlag(String name, bool enable) → void
Adds or removes the flag with the specified name to/from this message depending on value.
setHeader(String name, String? value, [HeaderEncoding encoding = HeaderEncoding.none]) → void
Sets a header with the specified name, value and optional encoding, replacing any existing header with the same name.
inherited
setPart(String fetchId, MimePart part) → void
Sets the individually loaded part with the given fetchId.
toString() String
A string representation of this object.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

parseFromData(Uint8List data) MimeMessage
Creates a new message based on the specified binary data. Compare renderMessage method for converting a message to text.
parseFromText(String text) MimeMessage
Creates a new message based on the specified rendered text form.