Message Object
The Message object represents
a single e-mail message. You can use methods and properties of the Message
object to examine or set message attributes and content.
When retrieving a message with the POP3
or IMAP4 object, downloaded message is
parsed and stored in the Message object's property values.
When creating a message to be sent by the SMTP
object, the Message object's property values are encoded and assembled
to produce e-mail message data.
Thus, many properties of the Message object can be both read (when downloading
and displaying messages) and set (when composing and sending messages).
Syntax
Message.property|method
Collections | |
Attachments | The collection of attachments to the message. |
Properties | |
AddressDelimiter | Specifies the delimiter to be used to separate individual items when returning e-mail addresses' or friendly names' strings. |
AltBodyEncoding | Specifies which encoding method to use for the message alternative body. |
AutoEncodeHeaders | Sets or gets if MailBee should automatically encode headers and attachment filenames with international characters. |
AltBodyText | Contains alternative plain-text body of the message if the primary body is HTML-formatted. |
BCCAddr | The e-mail addresses of the blind-carbon-copy recipients. |
BodyEncoding | Specifies which encoding method to use for the message primary body. |
BodyFormat | Indicates the primary body format: Plain-Text, HTML, etc. |
BodyText | The primary body text. |
CCAddr | The e-mail addresses of the carbon-copy recipients. |
CCFriendlyName | The friendly names of the carbon-copy recipients. |
Charset | Specifies the charset of the message body. |
ContentType | The "Content-Type:" message header value. |
Date | The date and time when the message was composed. |
Enable8bitEncoding | Indicates whether 8bit characters are permitted in the message body. |
FromAddr | The e-mail address of the sender. |
FromFriendlyName | The friendly name of the sender. |
HasAttachments | Indicates whether the message has any attachments. |
MessageID | The "Message-ID:" message header value. |
MinimalRebuild | Restricts possible modifications of the message to operations with its headers. |
PureCCAddr | The e-mail addresses (with friendly names removed) of the carbon-copy recipients. |
PureFromAddr | The e-mail address (with friendly name removed) of the sender. |
PureToAddr | The e-mail addresses (with friendly names removed) of the primary recipients. |
RawBody | The entire message source including the headers, all the bodies and attachments. |
RawHeader | Returns the entire message header block. |
Received | The "Received:" message header value. |
ReplyToAddr | The e-mail address of the entity specified to receive all replies to the message. |
ReturnPath | The e-mail address from which the message was actually sent. |
Size | The size of the entire message in bytes. |
SpecialBodyContentType | Contains the value of Content-Type header of the non-standard text body part of the message. |
SpecialBodyHeaders | Specifies additional headers to be put into the header section of the non-standard text body part of the message. |
SpecialBodyText | Contains the non-standard body of the message. |
Subject | The subject of the message. |
ToAddr | The e-mail addresses of the primary recipients. |
ToFriendlyName | The friendly names of the primary recipients. |
XMailer | The "X-Mailer:" message header value. |
Methods | |
AddAttachment | Attaches a file to the message. |
AddHeader | Adds custom header to the message. |
AddMemoryAttachment | Attaches a data from memory as file to the message. |
AddStringAttachment | Attaches a data from string as file to the message. |
ConvertCharset | Converts the supplied string encoded in the given charset into another charset. |
DecodeMstnef | Extracts attachments from MS-TNEF (winmail.dat) attachment if any, removes MS-TNEF attachments from Attachments collection, and returns the number of extracted files. |
EncodeHeaderText | Encodes a string using the specified charset encoding. |
EscapeIdnDomain | Encodes specified text string (e-mail address) to allow using international characters in domain name. |
GetBodyWithEmbeddedObjects | Saves embedded pictures (and other objects referenced in the message HTML body) to temporary files and returns modified HTML body text where paths to the embedded objects are replaced with paths to the the temporary files. |
GetBodyWithEmbeddedObjectsEx | In addition to GetBodyWithEmbeddedObjects method functionality, provides more options and allows using virtual paths and dynamic URLs to reference embedded objects in the HTML body. |
GetCodepageFromCharset | Returns codepage number for the specified charset. |
GetDateFromString | Converts the specified date and time string into Date type. |
GetFileAsArray | Returns the contents of the specified file as Byte Array. In ASP, you can use this method to download files to the clients. |
GetFriendlyName | Extracts and returns the friendly name from the specified full e-mail address |
GetHeader | Returns the value of the specified message header. |
GetHtmlFromPlain | Returns the specified plain-text adapted for display in HTML browser. |
GetMD5Digest | Returns the MD5 Digest value of the specified string. |
GetMD5DigestOfArray | Returns the MD5 Digest value of the specified byte array. |
GetMessageDirectoryPath | Returns path to the directory where the embedded objects were saved during GetBodyWithEmbeddedObjects or GetBodyWithEmbeddedObjectsEx method call. |
GetPlainFromHtml | Converts the specified HTML text into plain-text. |
GetPureAddr | Extracts and returns the pure e-mail address from the specified full e-mail address |
ImportAltBodyText | Loads the specified file contents into the message alternative body. |
ImportBodyText | Loads the specified file contents into the message primary body and, optionally, scans the loaded HTML body for embedded objects and appends them as attachments. |
ImportFromFile | Loads entire message from the specified file. |
ImportFromMemory | Loads entire message from the specified byte array. |
MakeAltBody | Creates the alternative plain-text body from the current value of the HTML body. |
MessageDirectoryExists | Indicates whether the directory for the embedded objects storage exists. |
RemoveCharsetFromBody | Removes the meta tag containing the charset declaration of the document from the HTML body, and returns the charset removed. |
RemoveHeader | Removes custom header from the message. |
RemoveMessageDirectory | Deletes the directory for the embedded objects storage. |
SaveMessage | Saves the entire message to disk in .EML format. |
ToUTF8 | Returns the specified string converted in UTF-8 charset. |
UnescapeIdnDomain | Decodes the e-mail address string with Punycode-encoded domain part (IDN) into human-readable form. |
ValidateEmailAddress | Tests whether the specified e-mail address is correct. |
WriteStringToFile | Writes the specified string into the specified file. |
Remarks
To retrieve
a message (and the Message object) from the POP3 server, you can use
RetrieveSingleMessage
or RetrieveSingleMessageHeaders
methods of the POP3 object. RetrieveSingleMessageHeaders method
returns a message with only headers set so you can use it for message preview
purposes.
The IMAP4 object does also include RetrieveSingleMessage
and RetrieveSingleMessageHeaders
methods.
The POP3 object can also return multiple messages at once within the
Messages collection of Message
objects. Refer to RetrieveMessages
and RetrieveHeaders methods
documentation for details. With the IMAP4 object, however, it is more
efficient to preview multiple messages as the Envelopes
collection of Envelope objects.
When composing a new message, you can get a reference to the Message
object from SMTP.Message property.
Finally, you can create the Message object directly in the code:
[Visual Basic]
Set objMessage = CreateObject("MailBee.Message")
[ASP]
Set objMessage = Server.CreateObject("MailBee.Message")
This is useful when using stand-alone methods of the Message object (such
as GetFileAsArray), or when you want to extract a message from another
message (e.g. to obtain forwarded message
from the attachment).
Example
The following example retrieves a message from the POP3 server and displays it. The sample is presented separately in Visual Basic version and ASP version since they differ quite enough.Dim objPOP3, objMsg ' Create POP3 object Set objPOP3 = CreateObject("MailBee.POP3") ' Unlock POP3 object objPOP3.LicenseKey = "put your license key here" ' Set POP3 server name objPOP3.ServerName = "mail.server.com" ' Set user credentials objPOP3.UserName = "username" objPOP3.Password = "password" ' Download first message in the mailbox Set objMsg = objPOP3.RetrieveSingleMessage(1) If objPOP3.IsError Then ' Display error information MsgBox "Error #" & objPOP3.ErrCode & ", " & objPOP3.ErrDesc Else ' Display the message MsgBox _ "From: " & objMsg.FromAddr & vbCrLf & _ "To: " & objMsg.ToAddr & vbCrLf & _ "Subject: " & objMsg.Subject & vbCrLf & _ "Date: " & objMsg.GetDateFromString(objMsg.Date) & vbCrLf & vbCrLf & _ objMsg.BodyText End If ' Close the connection objPOP3.Disconnect
[ASP]
<% Dim objPOP3, objMsg ' Create POP3 object Set objPOP3 = Server.CreateObject("MailBee.POP3") ' Unlock POP3 object objPOP3.LicenseKey = "put your license key here" ' Set POP3 server name objPOP3.ServerName = "mail.server.com" ' Set user credentials objPOP3.UserName = "username" objPOP3.Password = "password" ' Download first message in the mailbox Set objMsg = objPOP3.RetrieveSingleMessage(1) If objPOP3.IsError Then ' Display error information Response.Write "Error #" & objPOP3.ErrCode & ", " & objPOP3.ErrDesc Else ' Display the message. ' We use Server.HTMLEncode to convert '<' and '>' ' characters which can disturb the output if they ' are contained in the message headers. Response.Write _ "From: " & Server.HTMLEncode(objMsg.FromAddr) & "<br>" & _ "To: " & Server.HTMLEncode(objMsg.ToAddr) & "<br>" & _ "Subject: " & Server.HTMLEncode(objMsg.Subject) & "<br>" & _ "Date: " & objMsg.GetDateFromString(objMsg.Date) & "<br><br>" & _ objMsg.BodyText End If ' Close the connection objPOP3.Disconnect %>
See Also
SMTP Object, POP3 Object, IMAP4 Object