Email Support in InterSystems IRIS
This topic describes how InterSystems IRIS® data platform supports sending and receiving MIME email messages.
InterSystems IRIS does not provide a mail server. Instead, it provides the ability to connect to and interact with mail servers.
Supported Email Protocols
Email sends messages across the Internet using standard protocols. InterSystems IRIS supports three of these protocols, as follows:
-
InterSystems IRIS provides an object representation of MIME email messages. It supports text and non-text attachments, single-part or multipart message bodies, and headers in ASCII and non-ASCII character sets. (For more general support of MIME parts, see Creating and Writing MIME Messages.)
-
You can send email via an SMTP (Simple Mail Transport Protocol) server.
-
You can also retrieve email from an email server via POP3, the most common standard for retrieving email from remote servers.
How InterSystems IRIS Represents MIME Email Messages
This section describes how InterSystems IRIS represents MIME email messages.
In general, a multipart MIME message consists of the following pieces:
-
A set of message headers, each of which contains information such as the address to which the message is sent. This also includes the Mime-Type header and the Content-Type header for the entire message.
For a multipart message, the Content-Type header must be multipart/mixed or some other subtype of multipart; the MIME standard has many variants.
-
Multiple message parts, each of which consists of the pieces:
-
A set of content headers, which includes the Content-Type header and other headers specific to this part.
-
A body, which is either text or binary, and which can be in a different character set than the bodies of other parts.
-
InterSystems IRIS uses two classes to represent email messages: %Net.MailMessageOpens in a new tab and %Net.MailMessagePartOpens in a new tab, the superclass of %Net.MailMessageOpens in a new tab. The following graphic shows the relationship between these classes:
In general:
-
To represent an ordinary, one-part message, you use %Net.MailMessageOpens in a new tab
-
To represent a multipart message, you use %Net.MailMessageOpens in a new tab as the parent message and you use multiple instances of %Net.MailMessagePartOpens in a new tab as its parts.