MimeCreateMessagePartEx Function  
 
INT WINAPI MimeCreateMessagePartEx(
  HMESSAGE hMessage,  
  UINT nCharacterSet,  
  UINT nEncodingType,  
  LPCTSTR lpszText  
);

The MimeCreateMessagePartEx function creates a new part for the specified message. If this the first part created for a message that does not have the multipart content type specified, the message is marked as multipart and the header fields are updated.

Parameters

hMessage
Handle to the message.
nCharacterSet
A numeric identifier which specifies the character set to use when composing the message. A value of zero specifies that the default USASCII character set should be used. The following values may also be used:
Constant Description
MIME_CHARSET_USASCII The default character set using US-ASCII which defines 7-bit printable characters with values ranging from 20h to 7Eh. An application that uses this character set has the broadest compatibility with most mail servers (MTAs) because it does not require the server to handle 8-bit characters correctly when the message is delivered. This is the most commonly used character set for plain text e-mail messages in the English language and is the default character set used by the library.
MIME_CHARSET_ISO8859_1 An 8-bit character set for most western European languages such as English, French, Spanish and German. This character set is also commonly referred to as Latin1. The Windows code page for this character set is 28591, however Windows code page 1252 (Windows-1252) is typically used to represent this character set in most applications.
MIME_CHARSET_ISO8859_2 An 8-bit character set for most central and eastern European languages such as Czech, Hungarian, Polish and Romanian. This character set is also commonly referred to as Latin2. This character set is similar to Windows code page 1250, however the characters are arranged differently.
MIME_CHARSET_ISO8859_5 An 8-bit character set for Cyrillic languages such as Russian, Bulgarian and Serbian. The Windows code page for this character set is 28595. This character set is not widely used and it is recommended that you use UTF-8 instead.
MIME_CHARSET_ISO8859_6 An 8-bit character set for Arabic languages. Note that the application is responsible for displaying text that uses this character set. In particular, any display engine needs to be able to handle the reverse writing direction and analyze the context of the message to correctly combine the glyphs. This character set is not widely used and it is recommended that you use UTF-8 instead.
MIME_CHARSET_ISO8859_7 An 8-bit character set for the Greek language. This character set is also commonly referred to as Latin/Greek. The Windows code page for this character set is 28597.
MIME_CHARSET_ISO8859_8 An 8-bit character set for the Hebrew language. Note that similar to Arabic, Hebrew uses a reverse writing direction. An application which displays this character should be capable of processing bi-directional text where a single message may include both right-to-left and left-to-right languages, such as Hebrew and English. The Windows code page for this character set is 28598.
MIME_CHARSET_ISO8859_9 An 8-bit character set for the Turkish language. This character set is also commonly referred to as Latin5. The Windows code page for this character set is 28599.
MIME_CHARSET_UTF7 A 7-bit Unicode Transformation Format that uses variable-length character encoding to represent Unicode text as a stream of ASCII characters that are safe to transport between mail servers that only support 7-bit printable characters. It is primarily used as an alternative to UTF-8 which requires that the mail server support 8-bit text or use quoted-printable encoding.
MIME_CHARSET_UTF8 An 8-bit Unicode Transformation Format that uses multibyte character sequences to represent Unicode text. It is backwards compatible with the ASCII character set, however because it uses 8-bit text, it should be encoded using either quoted-printable or base64 encoding to ensure that mail servers that do not support 8-bit characters.
nEncodingType
A numeric identifier which specifies the encoding type to use when composing the message. A value of zero specifies that default 7bit encoding should be used. The following values may also be used:
Constant Description
MIME_ENCODING_7BIT Each character is encoded in one or more bytes, with each byte being 8 bits long, with the first bit cleared. This encoding is most commonly used with plain text using the US-ASCII character set, where each character is represented by a single byte in the range of 20h to 7Eh. Most e-mail messages are composed using 7-bit ASCII.
MIME_ENCODING_8BIT Each character is encoded in one or more bytes, with each byte being 8 bits long and all bits are used. 8-bit encoding may be used with multi-byte character sets, although this encoding type is uncommon in e-mail messages. It is recommended that quoted-printable encoding be used for 8-bit character sets.
MIME_ENCODING_QUOTED Quoted-printable encoding is designed for textual messages where most of the characters are represented by the ASCII character set and is generally human-readable. Non-printable characters or 8-bit characters with the high bit set are encoded as hexadecimal values and represented as 7-bit text. Quoted-printable encoding is typically used for messages which use character sets such as ISO-8859-1, as well as those which use HTML.
lpszText
A pointer to a null-terminated string which specifies the text to be included in the body of the new message part. If this parameter is NULL or points to an empty string, no text is added to the message part.

Return Value

If the function succeeds, the return value is the new message part number. If the function fails, the return value is MIME_ERROR. To get extended error information, call MimeGetLastError.

Requirements

Client: Requires Windows 7, Windows Vista or Windows XP.
Server: Requires Windows Server 2008 or Windows Server 2003.
Header: Include cstools7.h.
Library: Use csmsgav7.lib.
Unicode: Implemented as Unicode and ANSI versions.

See Also

MimeAttachFile, MimeComposeMessage, MimeCreateMessage, MimeCreateMessagePart, MimeDeleteMessagePart, MimeGetMessagePart, MimeGetMessagePartCount, MimeSetMessagePart