MIME Boundaries
MIME boundaries are strings of 7-bit US-ASCII text that define the boundaries between message parts in a MIME message. MIME boundaries are declared in a Content-Type message header for any message that encapsulates more than one message part and in part headers for those parts that encapsulate nested parts.
Messages that encapsulate only one message part do not require MIME boundaries since there is nothing to delineate.
MIME boundaries must consist of strings that are guaranteed to be unique within their scope of reference (i.e, a message or message part). This is done by ensuring that they include:
Hyphens (-), which are guaranteed not to exist in base64-encoded data
Alphanumeric US-ASCII characters
Character sequences that will not appear elsewhere
“+” or “.” (although “.” should be avoided as not “mail safe” since it has special meaning under RFC 822)
MIME boundaries may not include any of the following:
ASCII control characters
ASCII spaces
Any of the following characters:
()<>@,;:\"/[]?=
unless declared in a quoted string. Even then, their use is discouraged and not guaranteed to pass through all MTAs
Any of the following characters:
!#$∧'|~",
if the message is likely to pass through a gateway that translates the mail into the EBCDIC character set
MIME boundaries are case sensitive. A sample MIME boundary looks like this when it is defined in a message header:
Content-Type: multipart/mixed; boundary="------------B164240059B29C0E4EFEC397"
Whenever a parameter, such as the preceding ...
Get Programming Internet Email now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.