178 list<hash<MessageInfo>>
part();
568 const MP_DEFAULT_MSG =
"This is a MIME multipart message";
582 list<hash<MessagePartInfo>> l();
704 static hash<MessageInfo>
parseBody(
string boundary, data body,
bool decode = True);
716 final hash<MessageInfo> getMsgAndHeadersIntern(*
string content_type,
bool conlen = True);
722 splicePartIntern(data mime_data, hash<auto> hdr);
728 addPartIntern(data mime_data, hash<auto> hdr);
733 static hash<MessagePartInfo> getPart(data mime_data, hash<auto> hdr);
765 splicePart(data mime_data,
string id,
string content_type, *hash<auto> hdr);
776 addPart(data mime_data,
string id,
string content_type, *hash hdr);
1001 splicePart(data mime_data,
string name,
string filename,
string content_type, *hash hdr);
1031 addPart(data mime_data,
string name,
string filename,
string content_type, *hash hdr);
1060 static hash<string, hash<FormDataMessageInfo>>
parseMessage(
string content,
string body);
1084 hash
getPartHeader(
string name, *
string filename, *
string content_type, *hash<auto> hdr);
implements the MultiPartAlternativeMessage class, a specialization of MultiPartMessage
Definition Mime.qm.dox.h:876
spliceEncodePart(data mime_data, string enc, string content_type=MimeTypeText, string disp='inline', *hash< auto > hdr)
adds a message part to the start of the list; encodes the data according to the transfer encoding arg...
splicePart(data mime_data, string content_type=MimeTypeText, string disp='inline', *hash< auto > hdr)
adds a message part to the start of the list
addPart(data mime_data, string content_type=MimeTypeText, string disp='inline', *hash< auto > hdr)
adds a message part to the end of the list; the data muyst already be encoded and any Content-Transfe...
hash< MessageInfo > getMsgAndHeaders()
returns a hash of the message
constructor(string boundary=MultiPartMessage::getBoundary())
creates the object
addEncodePart(data mime_data, string enc, string content_type=MimeTypeText, string disp='inline', *hash< auto > hdr)
adds a message part to the end of the list; encodes the data according to the transfer encoding argum...
MultiPartMessage class implementation.
Definition Mime.qm.dox.h:565
binary serializeBody()
serializes the message body only and returns a binary object ready to send over a socket
int size()
returns the number of parts in the message
binary serialize()
serializes the message with the Content-Type header first and returns a binary object ready to send o...
static hash< MessageInfo > parseBody(string boundary, data body, bool decode=True)
returns a hash representing a parsed multipart message body from a boundary string and body arguments
static binary serializeHeaders(hash hdr)
serializes a header hash to a binary object
abstract hash< MessageInfo > getMsgAndHeaders()
returns a hash of the message
static string getRandomString(int len)
returns a string of random characters
string getBoundary()
returns the message boundary string used
constructor(string mptype, string boundary=MultiPartMessage::getBoundary())
creates the object
static string getBoundary()
returns a string embedded with the current timestamp designed to be used as MultiPart boundary string
implements the MultiPartMixedMessage class, a specialization of MultiPartMessage
Definition Mime.qm.dox.h:789
spliceEncodePart(data mime_data, string enc, string content_type=MimeTypeText, string disp='inline', *hash< auto > hdr)
adds a message part to the start of the list; encodes the data according to the transfer encoding arg...
splicePart(data mime_data, string content_type=MimeTypeText, string disp='inline', *hash< auto > hdr)
adds a message part to the start of the list; the data muyst already be encoded and any Content-Trans...
hash< MessageInfo > getMsgAndHeaders()
returns a hash of the message
addPart(data mime_data, string content_type=MimeTypeText, string disp='inline', *hash< auto > hdr)
adds a message part to the end of the list; the data muyst already be encoded and any Content-Transfe...
addEncodePart(data mime_data, string enc, string content_type=MimeTypeText, string disp='inline', *hash< auto > hdr)
adds a message part to the end of the list; encodes the data according to the transfer encoding argum...
constructor(string boundary=MultiPartMessage::getBoundary())
creates the object
const ContentTransEncBase64
base-64 Content-Transfer-Encoding
Definition Mime.qm.dox.h:322
const ContentTransEncBinary
binary transfer encoding; implies no maximum line length (= no encoding)
Definition Mime.qm.dox.h:319
const ContentTransEnc7Bit
Definition Mime.qm.dox.h:313
const ContentTransEncQuotedPrintable
quoted-printable Content-Transfer-Encoding
Definition Mime.qm.dox.h:325
const MimeBase64LineLen
maximum line length for base64 encoding
Definition Mime.qm.dox.h:330
const MimeQuotedPrintableLineLen
maximum line length for quoted-printable encoding
Definition Mime.qm.dox.h:335
const ContentTransEnc8Bit
implies lines < 1000 chars (= no encoding)
Definition Mime.qm.dox.h:316
binary mime_decode_base64(data str)
data mime_decode_transfer_data(data mime_data, string enc, *string ct, *bool is_body)
decodes data according to the given encoding
string mime_decode_header(string hdr)
decodes a header string
string mime_decode_quoted_printable(string str, *string encoding, *bool is_body)
returns a string parsed from "quoted-printable" (or "QP") encoding
string mime_decode_base64_to_string(data str, *string encoding)
returns a string value from a string in "BASE64" encoding
string mime_encode_header_word_b(string str)
returns a string in "B" ("BASE64") encoding for MIME header string words
string mime_encode_quoted_printable(string str, bool hdr=False, *string encoding)
returns a string in "quoted-printable" (or "QP") encoding
data mime_encode_transfer_data(data mime_data, string enc)
encodes data according to the given encoding
string mime_encode_header_word_q(string str)
returns a string in "Q" ("quoted-printable") encoding for MIME header string words
string mime_encode_base64(data str, int len=MimeBase64LineLen)
string get_mime_type_from_ext(string path, string def_type=MimeTypeUnknown)
returns the mime type for the given filename from the extension or the default type if the extension ...
bool is_mime_text(string mime)
bool is_filename_text(string path)
Returns True if the given filename / path is known to provide text content, False if not.
string mime_decode_urlencoded_string(string str)
decodes the given string from URL encoded format
string mime_get_urlencoded_string(auto val)
returns a single string in MIME URL encoded format
string mime_get_form_urlencoded_string(hash< auto > h)
returns a string in MIME multipart form URL encoded format (for use with "Content-Type: application/x...
hash< auto > mime_parse_form_urlencoded_string(string str)
returns a hash corresponding to the string in MIME multipart form URL encoded format (for use with "C...
const MimeTypeMultipartRelated
Mime type for multipart related.
Definition Mime.qm.dox.h:263
const MimeTypeJavascript
Mime type for Javascript.
Definition Mime.qm.dox.h:251
const MimeTypeSvg
Mime type for SVG files.
Definition Mime.qm.dox.h:269
const UrlEncodedChars
hash of non-alphanumeric characters that can be used unencoded in URL encoded format
Definition Mime.qm.dox.h:305
const MimeTypeMultipartFormData
Mime type for multipart form data.
Definition Mime.qm.dox.h:260
const MimeTypePythonCode
Mime type for Python compiled code.
Definition Mime.qm.dox.h:287
const MimeTypeUnknown
Definition Mime.qm.dox.h:206
const MimeTypePng
MIME type for png images.
Definition Mime.qm.dox.h:224
const MimeTypeFormUrlEncoded
Mime type for multipart form URL encoding.
Definition Mime.qm.dox.h:257
const MimeTypeText
MIME type for text.
Definition Mime.qm.dox.h:212
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:295
const MimeTypeCsv
MIME type for csv files (http://tools.ietf.org/html/rfc4180)
Definition Mime.qm.dox.h:218
const MimeTypeHtml
MIME type for HTML.
Definition Mime.qm.dox.h:215
const MimeTypeXmlApp
Mime type for more complicated (not human-readable) xml files.
Definition Mime.qm.dox.h:236
const MimeTypePython
Mime type for Python sources.
Definition Mime.qm.dox.h:284
const MimeTypePhp
Mime type for PHP sources.
Definition Mime.qm.dox.h:290
const MimeTypeJsonRpc
Mime type for JSON-RPC.
Definition Mime.qm.dox.h:242
const MimeTypeJavaSource
Mime type for Java sources.
Definition Mime.qm.dox.h:275
const MimeTypeQore
Mime type for Qore sources.
Definition Mime.qm.dox.h:272
const MimeTypeOctetStream
MIME type for unknown file types.
Definition Mime.qm.dox.h:209
const MimeTypeJar
Mime type for Java jar files.
Definition Mime.qm.dox.h:281
const MimeTypeXml
Mime type for plain (human-readable) xml files.
Definition Mime.qm.dox.h:233
const MimeTypeMultipartMixed
Mime type for multipart mixed.
Definition Mime.qm.dox.h:266
const MimeTypeSoapXml
Mime type for SOAP XML messages (XML MIME type reference: http://tools.ietf.org/html/rfc3023)
Definition Mime.qm.dox.h:227
const MimeTypeYaml
Mime type for yaml data files.
Definition Mime.qm.dox.h:230
const MimeTypeYamlRpc
Mime type for YAML-RPC.
Definition Mime.qm.dox.h:248
const MimeTypeJpeg
MIME type for jpeg images.
Definition Mime.qm.dox.h:221
const MimeTypeXmlRpc
Mime type for XML-RPC.
Definition Mime.qm.dox.h:245
const MimeTypeCss
Mime type for css.
Definition Mime.qm.dox.h:254
const MimeTypeJava
Mime type for Java class files.
Definition Mime.qm.dox.h:278
const MimeTypeJson
Mime type for JSON.
Definition Mime.qm.dox.h:239
const MPT_DIGEST
for sending multiple text messages (http://tools.ietf.org/html/rfc2046#section-5.1....
Definition Mime.qm.dox.h:546
const MPT_SIGNED
to attach a digital signature to a message (http://tools.ietf.org/html/rfc1847#section-2....
Definition Mime.qm.dox.h:555
const MPT_ENCRYPTED
for sending encrypted messages (http://tools.ietf.org/html/rfc1847#section-2.2)
Definition Mime.qm.dox.h:558
const MPT_MIXED
for sending files with different "Content-Type" headers (http://tools.ietf.org/html/rfc2046#section-5...
Definition Mime.qm.dox.h:540
const MPT_RELATED
for sending multiple components of an aggregated whole (http://tools.ietf.org/html/rfc2387)
Definition Mime.qm.dox.h:552
const MPT_BYTERANGES
for sending noncontiguous byte ranges of a single message (http://tools.ietf.org/html/rfc2616)
Definition Mime.qm.dox.h:561
const MPT_ALTERNATIVE
for sending multiple "alternatives" of the same content (http://tools.ietf.org/html/rfc2046#section-5...
Definition Mime.qm.dox.h:549
const MPT_FORM_DATA
Definition Mime.qm.dox.h:537
const MPT_MESSAGE
for email/MIME messages with headers (http://tools.ietf.org/html/rfc2046)
Definition Mime.qm.dox.h:543
public Mime namespace defines constants and functions relevant to MIME
Definition Mime.qm.dox.h:168
message and part info hash
Definition Mime.qm.dox.h:172
hash hdr
message or part headers
Definition Mime.qm.dox.h:174
data body
the data for the message or part
Definition Mime.qm.dox.h:176
list< hash< MessageInfo > > part()
parts of the message or subparts of the part
message part hash
Definition Mime.qm.dox.h:182
data data
part body data
Definition Mime.qm.dox.h:184
hash hdr
part header hash
Definition Mime.qm.dox.h:186