Qore Mime Module Reference  1.4.4
Mime Module

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:
#!/usr/bin/env qore
%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

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