Introduction to the Mime Module
The Mime module provides definitions and functions related to MIME processing. MIME concepts are used in HTTP and SMTP communications, among others.
To use this module, use "%requires Mime"
in your code. See the SmtpClient and the HttpServer modules for examples of Qore code using this module.
All the public symbols in the module are defined in the Mime namespace
The main definitions and functions are:
based on:
- Example:
%requires Mime
string str = "This is a test: æéìœü";
printf(
"%y: quoted printable: %y\n", mime_decode_quoted_printable(mime_encode_quoted_printable(str)),
mime_encode_quoted_printable(str));
printf(
"%y: base64: %y\n", mime_decode_base64_to_string(mime_encode_base64(str)), mime_encode_base64(str));
printf(
"%y: header word q: %y\n", mime_decode_header(mime_encode_header_word_q(str)), mime_encode_header_word_q(str));
printf(
"%y: header word b: %y\n", mime_decode_header(mime_encode_header_word_b(str)), mime_encode_header_word_b(str));
string printf(string fmt,...)
The output of the above example looks like: "This is a test: æéìœü": quoted printable: "This is a test: =C3=A6=C3=A9=C3=AC=C5=93=C3=BC"
"This is a test: æéìœü": base64: "VGhpcyBpcyBhIHRlc3Q6IMOmw6nDrMWTw7w="
"This is a test: æéìœü": header word q: "=?UTF-8?Q?This_is_a_test:_=C3=A6=C3=A9=C3=AC=C5=93=C3=BC?="
"This is a test: æéìœü": header word b: "=?UTF-8?B?VGhpcyBpcyBhIHRlc3Q6IMOmw6nDrMWTw7w=?="
Release Notes
v1.4.4
v1.4.3
- fixed bugs parsing binary data in multipart messages (issue 4223)
v1.4.2
- fixed bugs parsing binary data in multipart messages (issue 2936)
v1.4.1
v1.4
- added complex type support
- added the following constants:
- added the following methods:
- fixed a bug parsing multipart messages where unnecessary characters were searched (issue 2099)
v1.3.4.1
- added support for generating and parsing MIME multipart form encoded data
v1.3.4
v1.3.3
v1.3.2
- added mime type for WSDL files (
"application/wsdl+xml"
)
- added mappings for xls and xlst extensions to Mime::MimeTypes
v1.3.1
v1.3
v1.2.1
- fixed q-encoding mail headers (always encode '_' chars otherwise they will be decoded as spaces)
v1.2
- added MIME decoding functions
v1.1
v1.0
- pulled MIME implementation out of other code and made a user module to aggregate MIME definitions and functions