IPWorks S/MIME 2020 PHP Edition

Questions / Feedback?

MIME Class

Properties   Methods   Events   Configuration Settings   Errors  

The MIME class allows for the simple encoding and decoding of MIME structures such as message attachments, file uploads, etc.

Class Name


Procedural Interface

 ipworkssmime_mime_register_callback($res, $id, $function);
 ipworkssmime_mime_set($res, $id, $index, $value);
 ipworkssmime_mime_get($res, $id, $index);
 ipworkssmime_mime_do_config($res, $configurationstring);


The class may be used for decoding or encoding of messages. Message holds the content of the encoded message or the filename which holds the encoded data. The decoded data is provided in Parts properties.

To decode a MIME message you should first assign either the whole message (headers and body) to Message or put the message headers into the MessageHeaders property and the message body or the filename holding it into the Message property. Calling DecodeFromFile or DecodeFromString directs the class to start parsing the message: it will fill out the ContentType, ContentTypeAttr properties with message content type information, and enter information about message parts into the Parts properties, which includes: part sizes, part content types, part content type attributes, part content disposition, part content disposition attributes, part encoding, part name, part filename, part headers, or part content (part decoded string or part decoded file) for each decoded part.

Calling the DecodeFromString or DecodeFromFile to decode doesn't actually decode the message but only parses it. The real decoding is done when the part content in the Parts properties is first accessed.

To encode data into a MIME message you should first assign values for each part to either part decoded string or part decoded file in the Parts properties property, and optionally assign values to the other part attributes in the Parts properties. Assigning a value to the part decoded string or part decoded file through the Parts properties, fills out automatically the part headers into the Parts properties for the respective part. Calling EncodeToFile or EncodeToString directs the class to fill out the Message with the message body and the MessageHeaders with the headers.

The Progress event is fired as the message is parsed and the data is decoded/encoded.

Property List

The following is the full list of the properties of the class with short descriptions. Click on the links for further details.

BoundaryThe boundary separating the MIME parts. Maximum length of 80 bytes.
ContentTypeThe value of the content-type header of the message which was encoded/decoded.
ContentTypeAttrThe attributes for content-type header of the message which was encoded/decoded.
MessageContains the encoded message text or a path to a file which contains the encoded message text.
MessageHeaderCountThe number of records in the MessageHeader arrays.
MessageHeaderFieldThis property contains the name of the HTTP header (same case as it is delivered).
MessageHeaderValueThis property contains the header contents.
MessageHeadersStringString version of the MIME message headers.
PartCountThe number of records in the Part arrays.
PartContentDispositionContent disposition for each part.
PartContentDispositionAttrThe content disposition's attribute (if any) for each part.
PartContentIdContent identifier for each part.
PartContentTypeContent type for each part.
PartContentTypeAttrThe content type attribute, if any, for each part.
PartDecodedFileThe filename with the decoded data.
PartDecodedStringThis property holds the actual content of each part.
PartEncodingThis property contains the actual content encoding type for each part.
PartFilenameThis property contains the filename attribute specified in the headers of the part.
PartHeadersThis property contains the headers for each MIME part.
PartNameThis property contains the name given to a part, such as the filename.
PartSizeThis property contains the size of the DecodedFile or DecodedString .

Method List

The following is the full list of the methods of the class with short descriptions. Click on the links for further details.

ConfigSets or retrieves a configuration setting.
DecodeFromFileDecodes from file.
DecodeFromStringDecodes from string.
EncodeToFileEncodes to file.
EncodeToStringEncodes to string.
ResetReset the class.
ResetDataResets the values of all headers and Part- properties.

Event List

The following is the full list of the events fired by the class with short descriptions. Click on the links for further details.

ErrorInformation about errors during data delivery.
HeaderFired every time a header is parsed.
ProgressShows the progress of decoding/encoding the input data.

Configuration Settings

The following is a list of configuration settings for the class with short descriptions. Click on the links for further details.

DecodeMessageHeadersInstructs the class to automatically decode message headers.
IncludeHeadersTells the class whether to include the headers when encoding the message.
RequireVersionHeaderSpecifies whether or not the class should require the version header.
SanitizeFilenameWhether invalid characters are replaced in MIME part filenames.
TempFilePathIf set, the temporary files created during MIME decoding and encoding will be put in the path specified.
BuildInfoInformation about the product's build.
CodePageThe system code page used for Unicode to Multibyte translations.
LicenseInfoInformation about the current license.
ProcessIdleEventsWhether the class uses its internal event loop to process events when the main thread is idle.
SelectWaitMillisThe length of time in milliseconds the class will wait when DoEvents is called if there are no events to process.
UseInternalSecurityAPITells the class whether or not to use the system security libraries or an internal implementation.

Copyright (c) 2021 /n software inc. - All rights reserved.
IPWorks S/MIME 2020 PHP Edition - Version 20.0 [Build 7721]