171 "7z":
"application/x-7z-compressed",
172 "ai":
"application/postscript",
173 "aif":
"audio/x-aiff",
174 "aifc":
"audio/x-aiff",
175 "aiff":
"audio/x-aiff",
177 "atom":
"application/atom+xml",
179 "avi":
"video/x-msvideo",
180 "bcpio":
"application/x-bcpio",
181 "bin": MimeTypeUnknown,
183 "bz2":
"application/x-bzip",
185 "cdf":
"application/x-netcdf",
187 "class": MimeTypeUnknown,
188 "cpio":
"application/x-cpio",
190 "cpt":
"application/mac-compactpro",
191 "csh":
"application/x-csh",
194 "dcr":
"application/x-director",
196 "dir":
"application/x-director",
197 "djv":
"image/vnd.djvu",
198 "djvu":
"image/vnd.djvu",
199 "dll": MimeTypeUnknown,
200 "dmg": MimeTypeUnknown,
201 "dms": MimeTypeUnknown,
202 "doc":
"application/msword",
203 "dtd":
"application/xml-dtd",
205 "dvi":
"application/x-dvi",
206 "dxr":
"application/x-director",
207 "eps":
"application/postscript",
208 "etx":
"text/x-setext",
209 "exe": MimeTypeUnknown,
210 "ez":
"application/andrew-inset",
212 "gram":
"application/srgs",
213 "grxml":
"application/srgs+xml",
214 "gtar":
"application/x-gtar",
215 "gz":
"application/x-gzip",
217 "hdf":
"application/x-hdf",
220 "hqx":
"application/mac-binhex40",
223 "ice":
"x-conference/x-cooltalk",
224 "ico":
"image/x-icon",
225 "ics":
"text/calendar",
227 "ifb":
"text/calendar",
228 "iges":
"model/iges",
230 "jar":
"application/java-archive",
232 "jnlp":
"application/x-java-jnlp-file",
239 "latex":
"application/x-latex",
240 "lha": MimeTypeUnknown,
241 "lzh": MimeTypeUnknown,
242 "m3u":
"audio/x-mpegurl",
243 "m4a":
"audio/mp4a-latm",
244 "m4b":
"audio/mp4a-latm",
245 "m4p":
"audio/mp4a-latm",
246 "m4u":
"video/vnd.mpegurl",
247 "m4v":
"video/x-m4v",
248 "mac":
"image/x-macpaint",
249 "man":
"application/x-troff-man",
250 "mathml":
"application/mathml+xml",
251 "me":
"application/x-troff-me",
252 "mesh":
"model/mesh",
254 "midi":
"audio/midi",
255 "mif":
"application/vnd.mif",
256 "mov":
"video/quicktime",
257 "movie":
"video/x-sgi-movie",
262 "mpeg":
"video/mpeg",
264 "mpga":
"audio/mpeg",
265 "ms":
"application/x-troff-ms",
267 "mxu":
"video/vnd.mpegurl",
268 "nc":
"application/x-netcdf",
269 "oda":
"application/oda",
270 "ogg":
"application/ogg",
271 "pbm":
"image/x-portable-bitmap",
273 "pdb":
"chemical/x-pdb",
274 "pdf":
"application/pdf",
275 "pgm":
"image/x-portable-graymap",
276 "pgn":
"application/x-chess-pgn",
278 "pict":
"image/pict",
280 "pnm":
"image/x-portable-anymap",
281 "pnt":
"image/x-macpaint",
282 "pntg":
"image/x-macpaint",
283 "ppm":
"image/x-portable-pixmap",
284 "ppt":
"application/vnd.ms-powerpoint",
285 "ps":
"application/postscript",
317 "qt":
"video/quicktime",
318 "qti":
"image/x-quicktime",
319 "qtif":
"image/x-quicktime",
320 "ra":
"audio/x-pn-realaudio",
321 "ram":
"audio/x-pn-realaudio",
322 "ras":
"image/x-cmu-raster",
323 "rdf":
"application/rdf+xml",
324 "rgb":
"image/x-rgb",
325 "rm":
"application/vnd.rn-realmedia",
326 "roff":
"application/x-troff",
328 "rtx":
"text/richtext",
331 "sh":
"application/x-sh",
332 "shar":
"application/x-shar",
333 "silo":
"model/mesh",
334 "sit":
"application/x-stuffit",
335 "skd":
"application/x-koan",
336 "skm":
"application/x-koan",
337 "skp":
"application/x-koan",
338 "skt":
"application/x-koan",
339 "smi":
"application/smil",
340 "smil":
"application/smil",
341 "snd":
"audio/basic",
342 "so": MimeTypeUnknown,
343 "spl":
"application/x-futuresplash",
344 "src":
"application/x-wais-source",
345 "sv4cpio":
"application/x-sv4cpio",
346 "sv4crc":
"application/x-sv4crc",
347 "svg":
"image/svg+xml",
348 "swf":
"application/x-shockwave-flash",
349 "t":
"application/x-troff",
350 "tar":
"application/x-tar",
351 "tar.bz2":
"application/x-bzip-compressed-tar",
352 "tar.gz":
"application/x-tar-gz",
353 "tbz":
"application/x-bzip-compressed-tar",
354 "tcl":
"application/x-tcl",
355 "tex":
"application/x-tex",
356 "texi":
"application/x-texinfo",
357 "texinfo":
"application/x-texinfo",
359 "tgz":
"application/x-tar-gz",
361 "tiff":
"image/tiff",
362 "tr":
"application/x-troff",
363 "tsv":
"text/tab-separated-values",
365 "ustar":
"application/x-ustar",
366 "vcd":
"application/x-cdlink",
367 "vrml":
"model/vrml",
368 "vxml":
"application/voicexml+xml",
369 "wav":
"audio/x-wav",
370 "wbmp":
"image/vnd.wap.wbmp",
371 "wbmxl":
"application/vnd.wap.wbxml",
372 "wml":
"text/vnd.wap.wml",
373 "wmlc":
"application/vnd.wap.wmlc",
374 "wmls":
"text/vnd.wap.wmlscript",
375 "wmlsc":
"application/vnd.wap.wmlscriptc",
377 "wsdl":
"application/wsdl+xml",
378 "xbm":
"image/x-xbitmap",
379 "xht":
"application/xhtml+xml",
380 "xhtml":
"application/xhtml+xml",
381 "xls":
"application/vnd.ms-excel",
383 "xpm":
"image/x-xpixmap",
385 "xsl":
"application/xml",
386 "xslt":
"application/xslt+xml",
387 "xul":
"application/vnd.mozilla.xul+xml",
388 "xwd":
"image/x-xwindowdump",
389 "xyz":
"chemical/x-xyz",
391 "zip":
"application/zip",
551 const MP_DEFAULT_MSG =
"This is a MIME multipart message";
672 final private hash getMsgAndHeadersIntern(*
string content_type,
bool conlen =
True);
676 private splicePartIntern(data data,
hash hdr);
680 private addPartIntern(data data,
hash hdr);
685 static hash getPart(data data,
hash hdr);
728 addPart(data data,
string id,
string content_type, *
hash hdr);
const MPT_RELATED
for sending multiple components of an aggregated whole (http://tools.ietf.org/html/rfc2387) ...
Definition: Mime.qm.dox.h:535
data mime_encode_transfer_data(data data, string enc)
encodes data according to the given encoding
const MimeTypeJpeg
MIME type for jpeg images.
Definition: Mime.qm.dox.h:132
constructor(string boundary=MultiPartMessage::getBoundary())
creates the object
const MPT_MESSAGE
for email/MIME messages with headers (http://tools.ietf.org/html/rfc2046)
Definition: Mime.qm.dox.h:526
constructor(string mptype, string boundary=MultiPartMessage::getBoundary())
creates the object
string mime_encode_header_word_q(string str)
returns a string in "Q" ("quoted-printable") encoding for MIME header string words according to RFC 2...
const ContentTransEnc8Bit
implies lines < 1000 chars (= no encoding)
Definition: Mime.qm.dox.h:402
MultiPartMessage class implementation.
Definition: Mime.qm.dox.h:548
const MimeTypeYaml
Mime type for yaml data files.
Definition: Mime.qm.dox.h:141
const MimeTypeXml
Mime type for plain (human-readable) xml files.
Definition: Mime.qm.dox.h:144
const MPT_ENCRYPTED
for sending encrypted messages (http://tools.ietf.org/html/rfc1847#section-2.2)
Definition: Mime.qm.dox.h:541
string mime_encode_quoted_printable(string str, bool hdr=False)
returns a string in "quoted-printable" (or "QP") encoding according to RFC 2045 section 6...
static binary serializeHeaders(hash hdr)
serializes a header hash to a binary object
addEncodePart(data data, string enc, string content_type=MimeTypeText, string disp="inline", *hash hdr)
adds a message part to the end of the list; encodes the data according to the transfer encoding argum...
implements a MultiPartMixedMessage class, a specialization of MultiPartMessage
Definition: Mime.qm.dox.h:741
const MPT_ALTERNATIVE
for sending multiple "alternatives" of the same content (http://tools.ietf.org/html/rfc2046#section-5...
Definition: Mime.qm.dox.h:532
const MimeTypeJsonRpc
Mime type for JSON-RPC.
Definition: Mime.qm.dox.h:153
const MPT_BYTERANGES
for sending noncontiguous byte ranges of a single message (http://tools.ietf.org/html/rfc2616) ...
Definition: Mime.qm.dox.h:544
const MimeTypeJson
Mime type for JSON.
Definition: Mime.qm.dox.h:150
const MPT_SIGNED
to attach a digital signature to a message (http://tools.ietf.org/html/rfc1847#section-2.1)
Definition: Mime.qm.dox.h:538
const ContentTransEncBase64
base-64 Content-Transfer-Encoding
Definition: Mime.qm.dox.h:408
binary serialize()
serializes the message and returns a binary object ready to send over a socket
const MimeTypePng
MIME type for png images.
Definition: Mime.qm.dox.h:135
const MimeQuotedPrintableLineLen
maximum line length for quoted-printable encoding
Definition: Mime.qm.dox.h:421
const MimeTypeJavascript
Mime type for Javascript.
Definition: Mime.qm.dox.h:162
string mime_decode_base64_to_string(data str, *string encoding)
returns a string value from a string in "BASE64" encoding according to RFC 2045
splicePart(data data, string content_type=MimeTypeText, string disp="inline", *hash hdr)
adds a message part to the start of the list; the data muyst already be encoded and any Content-Trans...
const MimeTypeOctetStream
MIME type for unknown file types.
Definition: Mime.qm.dox.h:120
const MimeTypeCss
Mime type for css.
Definition: Mime.qm.dox.h:165
string mime_decode_header(string hdr)
decodes a header string; if any part of the string is encoded with "B" ("BASE64") or "Q" ("quoted-pri...
binary mime_decode_base64(data str)
returns a binary value from a string in "BASE64" encoding according to RFC 2045
const MimeTypeYamlRpc
Mime type for YAML-RPC.
Definition: Mime.qm.dox.h:159
abstract hash getMsgAndHeaders()
returns a hash of the message
const MimeTypeXmlRpc
Mime type for XML-RPC.
Definition: Mime.qm.dox.h:156
string get_mime_type_from_ext(string path)
returns the mime type for the given filename from the extension or MimeTypeUnknown if the extension i...
const MPT_MIXED
for sending files with different "Content-Type" headers (http://tools.ietf.org/html/rfc2046#section-5...
Definition: Mime.qm.dox.h:523
string mime_encode_base64(data str, int len=MimeBase64LineLen)
returns a string in "BASE64" encoding according to RFC 2045
const MPT_DIGEST
for sending multiple text messages (http://tools.ietf.org/html/rfc2046#section-5.1.5)
Definition: Mime.qm.dox.h:529
const MPT_FORM_DATA
for form data (http://tools.ietf.org/html/rfc1867, http://tools.ietf.org/html/rfc2388) ...
Definition: Mime.qm.dox.h:520
spliceEncodePart(data data, string enc, string content_type=MimeTypeText, string disp="inline", *hash hdr)
adds a message part to the start of the list; encodes the data according to the transfer encoding arg...
const ContentTransEncQuotedPrintable
quoted-printable Content-Transfer-Encoding
Definition: Mime.qm.dox.h:411
hash getMsgAndHeaders()
returns a hash of the message
string mime_encode_header_word_b(string str)
returns a string in "B" ("BASE64") encoding for MIME header string words according to RFC 2047 ...
static hash parseBody(string boundary, string body, bool decode=True)
returns a hash representing a parsed multipart message body from a boundary string and body arguments...
static string getRandomString(int len)
returns a string of random characters
data mime_decode_transfer_data(data data, string enc, *string ct)
decodes data according to the given encoding
public Mime namespace defines constants and functions relevant to MIME
Definition: Mime.qm.dox.h:112
const MimeBase64LineLen
maximum line length for base64 encoding
Definition: Mime.qm.dox.h:416
const MimeTypeHtml
MIME type for HTML.
Definition: Mime.qm.dox.h:126
const MimeTypes
A map of default mime types per file extension; the hash keys are file extensions in lower-case witho...
Definition: Mime.qm.dox.h:170
static string getBoundary()
returns a string embedded with the current timestamp designed to be used as MultiPart boundary string...
const MimeTypeSoapXml
Mime type for SOAP XML messages (XML MIME type reference: http://tools.ietf.org/html/rfc3023) ...
Definition: Mime.qm.dox.h:138
const ContentTransEncBinary
binary transfer encoding; implies no maximum line length (= no encoding)
Definition: Mime.qm.dox.h:405
const MimeTypeXmlApp
Mime type for more complicated (not human-readable) xml files.
Definition: Mime.qm.dox.h:147
const ContentTransEnc7Bit
default Content-Transfer-Encoding if none is present; implies lines < 1000 chars (= no encoding) ...
Definition: Mime.qm.dox.h:399
const MimeTypeCsv
MIME type for csv files (http://tools.ietf.org/html/rfc4180)
Definition: Mime.qm.dox.h:129
addPart(data data, string content_type=MimeTypeText, string disp="inline", *hash hdr)
adds a message part to the end of the list; the data muyst already be encoded and any Content-Transfe...
const MimeTypeText
MIME type for text.
Definition: Mime.qm.dox.h:123
string mime_decode_quoted_printable(string str, *string encoding)
returns a string parsed from "quoted-printable" (or "QP") encoding according to RFC 2045 section 6...