IPWorks S/MIME 2020 .NET Edition

Questions / Feedback?

MIME Configuration

The component accepts one or more of the following configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the component, access to these internal properties is provided through the Config method.

MIME Configuration Settings

AlternateCharsetNames:   Maps alternate charset names to the specified name.

Use this configuration setting to map alternate charset names to a valid charset name. The mappings are set with this format: "AlternateCharsetNames=altName1:validName1;altName2:validname2".

The alternate names are case-insensitive to allow for a greater number of alternate names to be handled. The valid name is case-sensitive to ensure the correct charset is used. Mappings are done on a one-to-one basis. If there are several alternate names that are not covered by case-insensitivity, multiple mappings will need to be used.

The example above will map both "cp-850" and "_cp_850" to "cp850".

The below example is redundant, as alternate names are case-insensitive.


FoldHeaders:   Tells the component whether to fold the headers.

If true, the component will fold the headers if the headers are over a certain length. If false, the headers will be on one line regardless of length.

IncludeHeaders:   Tells the component whether to include the headers when encoding the message.

If true, the component will include the headers when EncodeToFile or EncodeToString are called. If false, only the message will be encoded.

The default value for IncludeHeaders is false.

MaxParts:   The maximum number of parts to be parsed from a mime message.

This config should be set to limit the amount of parts that will be parsed by the component and saved into the collection. By default, this value is 100. Therefore up to 100 parts will be parsed from a mime message by default.

RequireVersionHeader:   Specifies whether or not the component should require the version header.

If true, the component will require that the "MIME-Version" header be included in the MessageHeaders. If the header is not present during decoding, the component throws an exception. This config is false by default.

SanitizeFilename:   Whether invalid characters are replaced in MIME part filenames.

If True, the component will replace invalid characters with an underscore when decoding the MIME message. This applies to the filename held in the Filename field. When True the following characters are considered invalid:

  • \
  • /
  • "
  • :
  • ?
  • *
  • <
  • >
  • |
Any characters with ASCII values between 0-31 are also considered invalid. The default value is False.
TempFilePath:   If set, the temporary files created during MIME decoding and encoding will be put in the path specified.

The TempFilePath property sets the path at which the temporary files will be created.

Base Configuration Settings

BuildInfo:   Information about the product's build.

When queried, this setting will return a string containing information about the product's build.

GUIAvailable:   Tells the component whether or not a message loop is available for processing events.

In a GUI-based application, long-running blocking operations may cause the application to stop responding to input until the operation returns. The component will attempt to discover whether or not the application has a message loop and, if one is discovered, it will process events in that message loop during any such blocking operation.

In some non-GUI applications an invalid message loop may be discovered that will result in errant behavior. In these cases, setting GUIAvailable to false will ensure that the component does not attempt to process external events.

LicenseInfo:   Information about the current license.

When queried, this setting will return a string containing information about the license this instance of a component is using. It will return the following information:

  • Product: The product the license is for.
  • Product Key: The key the license was generated from.
  • License Source: Where the license was found (e.g. RuntimeLicense, License File).
  • License Type: The type of license installed (e.g. Royalty Free, Single Server).
UseInternalSecurityAPI:   Tells the component whether or not to use the system security libraries or an internal implementation.

By default the component will use the system security libraries to perform cryptographic functions. When set to False calls to unmanaged code will be made. In certain environments this is not desirable. To use a completely managed security implementation set this setting to True. Setting this to True tells the component to use the internal implementation instead of using the system's security API.

Note: This setting is static. The value set is applicable to all components used in the application.

When this value is set the product's system DLL is no longer required as a reference, as all unmanaged code is stored in that file.

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks S/MIME 2020 .NET Edition - Version 20.0 [Build 8161]