IPWorks S/MIME 2020 iOS 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.

Syntax

IPWorksSMIMEMIME
IPWorksSMIMEMIMESwift

Remarks

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.
- messageHeaderField:(int)messageHeaderIndexThis property contains the name of the HTTP header (same case as it is delivered).
- messageHeaderValue:(int)messageHeaderIndexThis property contains the header contents.
- messageHeadersStringString version of the MIME message headers.
- partCountThe number of records in the Part arrays.
- partContentDisposition:(int)partIdxContent disposition for each part.
- partContentDispositionAttr:(int)partIdxThe content disposition's attribute (if any) for each part.
- partContentId:(int)partIdxContent identifier for each part.
- partContentType:(int)partIdxContent type for each part.
- partContentTypeAttr:(int)partIdxThe content type attribute, if any, for each part.
- partDecodedFile:(int)partIdxThe filename with the decoded data.
- partDecodedString:(int)partIdxThis property holds the actual content of each part.
- partEncoding:(int)partIdxThis property contains the actual content encoding type for each part.
- partFilename:(int)partIdxThis property contains the filename attribute specified in the headers of the part.
- partHeaders:(int)partIdxThis property contains the headers for each MIME part.
- partName:(int)partIdxThis property contains the name given to a part, such as the filename.
- partSize:(int)partIdxThis 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.

- onErrorInformation about errors during data delivery.
- onHeaderFired every time a header is parsed.
- onProgressShows 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) 2022 /n software inc. - All rights reserved.
IPWorks S/MIME 2020 iOS Edition - Version 20.0 [Build 8161]