TChilkatMht Delphi Reference
TChilkatMht
Chilkat MHT can generate email objects from HTML files and URLs, and convert HTML to MHT or EML files.
Object Creation
var
obj: TChilkatMht;
...
begin
obj := TChilkatMht.Create(Self);
...
// When finished, free the object instance.
obj.Free();
Properties
property BaseUrl: WideString
When processing an HTML file or string (not a website URL), this defines the base URL to be used when converting relative HREFs to absolute HREFs.
property ConnectTimeout: Integer
The amount of time in seconds to wait before timing out when connecting to an HTTP server. The default value is 10 seconds.
property DebugHtmlAfter: WideString
A filename to save the result HTML when converting a URL, file, or HTML string. If problems are experienced, the before/after HTML can be analyzed to help determine the cause.
property DebugHtmlBefore: WideString
A filename to save the input HTML when converting a URL, file, or HTML string. If problems are experienced, the before/after HTML can be analyzed to help determine the cause.
property DebugLogFilePath: WideString
Used for debugging in cases where a Chilkat method call hangs and never returns. This should generally never happen. The only causes for this are (1) a timeout related property was set to 0 to explicitly indicate that an infinite timeout is desired, (2) the hang is actually a hang within an event callback (i.e. it is a hang within the application code), or (3) there is an internal problem (bug) in the Chilkat code that causes the hang.
This property allows one to specifiy a debug file path that will be created (or appended if it already exists) and information will be logged to it as the Chilkat methods are called. If a hang occurs, the log file may be viewed to get information about what happened.
property DebugTagCleaning: Integer
When 1 causes the Mht class to be much more verbose in its logging. The default is 0.
property EmbedImages: Integer
Controls whether images are embedded in the MHT/EML, or whether the IMG SRC attributes are left as external URL references. If false, the IMG SRC tags are converted to absolute URLs (if necessary) and the images are not embedded within the MHT/EML.
property EmbedLocalOnly: Integer
If 1, only images found on the local filesystem (i.e. links to files) will be embedded within the MHT.
property FetchFromCache: Integer
If 1, page parts such as images, style sheets, etc. will be fetched from the disk cache if possible. The disk cache root may be defined by calling AddCacheRoot. The default value is 0.
property HeartbeatMs: Integer
The time interval, in milliseconds, between AbortCheck event callbacks. The heartbeat/AbortCheck provides a means for an application to abort any MHT method before completion.
The default value is 0, which means that no AbortCheck events will be fired.
property IgnoreMustRevalidate: Integer
Some HTTP responses contain a "Cache-Control: must-revalidate" header. If this is present, the server is requesting that the client always issue a revalidate HTTP request instead of serving the page directly from cache. If IgnoreMustRevalidate is set to 1, then Chilkat MHT will serve the page directly from cache without revalidating until the page is no longer fresh. (assuming that FetchFromCache is set to 1)
The default value of this property is 0.
property IgnoreNoCache: Integer
Some HTTP responses contain headers of various types that indicate that the page should not be cached. Chilkat MHT will adhere to this unless this property is set to 1.
The default value of this property is 0.
property LastErrorHtml: WideString readonly
To be documented soon.Error information in HTML format for the last method called.
property LastErrorText: WideString readonly
Error information in plain-text format for the last method called.
property LastErrorXml: WideString readonly
Error information in XML format for the last method called.
property NoScripts: Integer
Only applies when creating MHT files. Scripts are always removed when creating EML or emails from HTML. If set to 1, then all scripts are removed, if set to 0 (the default) then scripts are not removed.
property NtlmAuth: Integer
Setting this property to 1 causes the MHT component to use NTLM authentication (also known as IWA -- or Integrated Windows Authentication) when authentication with an HTTP server.
The default value of this property is 0.
property NumCacheLevels: Integer
The number of directory levels to be used under each cache root. The default is 0, meaning that each cached item is stored in a cache root directory. A value of 1 causes each cached page to be stored in one of 255 subdirectories named "0","1", "2", ..."255" under a cache root. A value of 2 causes two levels of subdirectories ("0..255/0..255") under each cache root. The MHT control automatically creates subdirectories as needed. The reason for mutliple levels is to alleviate problems that may arise when huge numbers of files are stored in a single directory. For example, Windows Explorer does not behave well when trying to display the contents of directories with thousands of files.
property NumCacheRoots: Integer readonly
The number of cache roots to be used for the disk cache. This allows the disk cache spread out over multiple disk drives. Each cache root is a string indicating the drive letter and directory path. For example, "E:\Cache". To create a cache with four roots, call AddCacheRoot once for each directory root.
property PreferMHTScripts: Integer
This property provides a means for the noscript option to be selected when possible. If PreferMHTScripts = 0, then scripts with noscript alternatives are removed and the noscript content is kept. If 1 (the default), then scripts are preserved and the noscript options are discarded.
property Proxy: WideString
(Optional) A proxy host:port if a proxy is necessary to access the Internet. The proxy string should be formatted as "hostname:port", such as "www.chilkatsoft.com:100".
property ProxyLogin: WideString
If an HTTP proxy is used and it requires authentication, this property specifies the HTTP proxy login.
property ProxyPassword: WideString
If an HTTP proxy is used and it requires authentication, this property specifies the HTTP proxy password.
property ReadTimeout: Integer
The amount of time in seconds to wait before timing out when reading from an HTTP server. The ReadTimeout is the amount of time that needs to elapse while no additional data is forthcoming. During a long data transfer, if the data stream halts for more than this amount, it will timeout. Otherwise, there is no limit on the length of time for the entire data transfer.
The default value is 20 seconds.
property SocksHostname: WideString
The SOCKS4/SOCKS5 hostname or IPv4 address (in dotted decimal notation). This property is only used if the SocksVersion property is set to 4 or 5).
property SocksPassword: WideString
The SOCKS5 password (if required). The SOCKS4 protocol does not include the use of a password, so this does not apply to SOCKS4.
property SocksPort: Integer
The SOCKS4/SOCKS5 proxy port. The default value is 1080.
This property only applies if a SOCKS proxy is used (if the SocksVersion property is set to 4 or 5).
property SocksUsername: WideString
The SOCKS4/SOCKS5 proxy username. This property is only used if the SocksVersion property is set to 4 or 5).
property SocksVersion: Integer
SocksVersion
May be set to one of the following integer values:
0 - No SOCKS proxy is used. This is the default.
4 - Connect via a SOCKS4 proxy.
5 - Connect via a SOCKS5 proxy.
property UnpackUseRelPaths: Integer
Controls whether absolute or relative paths are used when referencing images in the unpacked HTML. The default value is 1 indicating that relative paths will be used. To use absolute paths, set this property value equal to 0.
property UpdateCache: Integer
Controls whether the cache is automatically updated with the responses from HTTP GET requests. If 1, the disk cache is updated, if 0 (the default), the cache is not updated.
property UseCids: Integer
Controls whether CID URLs are used for embedded references when generating MHT or EML documents. If UseCids is 0 (the default), then URLs are left unchanged and the embedded items will contain "content-location" headers that match the URLs in the HTML. If 1, CIDs are generated and the URLs within the HTML are replaced with "CID:" links.
property UseFilename: Integer
If 1, a "filename" attribute is added to each Content-Disposition MIME header field for each embedded item (image, style sheet, etc.). If 0, then no filename attribute is added.
The default value of this property is 1.
property UseIEProxy: Integer
If 1, the proxy host/port used by Internet Explorer will also be used by Chilkat MHT.
property UseInline: Integer
If 1, an "inline" attribute is added to each Content-Disposition MIME header field for each embedded item (image, style sheet, etc.). If 0, then no inline attribute is added.
The default value of this property is 1.
property VerboseLogging: Integer
To be documented soon...
property Version: WideString readonly
The version of the component, such as "1.0.0"
property WebSiteLogin: WideString
(Optional) Specifies the login if a a Web page is accessed that requires a login
property WebSitePassword: WideString
Optional) Specifies the password if a a Web page is accessed that requires a login and password
Methods
procedure AddCacheRoot(dirPath: WideString);
If disk caching is used, this must be called once for each cache root. For example, if the cache is spread across D:\cacheRoot, E:\cacheRoot, and F:\cacheRoot, an application would setup the cache object by calling AddRoot three times -- once with "D:\cacheRoot", once with "E:\cacheRoot", and once with "F:\cacheRoot".
procedure AddCustomHeader(name: WideString, value: WideString);
Adds a custom HTTP header to all HTTP requests sent by the MHT component. To add multiple header fields, call this method once for each custom header.
procedure AddExternalStyleSheet(url: WideString);
(This method rarely needs to be called.) Includes an additional style sheet that would not normally be included with the HTML. This method is provided for cases when style sheet names are constructed and dynamically included in Javascript such that MHT .NET cannot know beforehand what stylesheet to embed. MHT .NET by default downloads and embeds all stylesheets externally referenced by the HTML
procedure ClearCustomHeaders();
Removes all custom headers that may have accumulated from previous calls to AddCustomHeader.
procedure ExcludeImagesMatching(pattern: WideString);
(This method rarely needs to be called.) Tells Chilkat MHT .NET to not embed any images whose URL matches a pattern. Sometimes images can be referenced within style sheets and not actually used when rendering the page. In cases like those, the image will appear as an attachment in the HTML email. This feature allows you to explicitly remove those images from the email so no attachments appear.
function GetAndSaveEML(url_or_htmlFilepath: WideString, outputEmlFilename: WideString): Integer;
Creates an EML file from a web page or HTML file. All external images and style sheets are downloaded and embedded in the EML file. Returns 1 for success, 0 for failure.
function GetAndSaveMHT(url_or_htmlFilepath: WideString, outputMhtFilename: WideString): Integer;
Creates an MHT file from a web page or local HTML file. All external images, scripts, and style sheets are downloaded and embedded in the MHT file. Returns 1 for success, 0 for failure.
function GetAndZipEML(url_or_htmlFilepath: WideString, zipEntryFilename: WideString, zipFilename: WideString): Integer;
Creates an EML file from a web page or HTML file, compresses, and appends to a new or existing Zip file. All external images and style sheets are downloaded and embedded in the EML. Returns 1 for success, 0 for failure.
function GetAndZipMHT(url_or_htmlFilepath: WideString, zipEntryFilename: WideString, zipFilename: WideString): Integer;
Creates an MHT file from a web page or HTML file, compresses, and appends to a new or existing Zip file. All external images and style sheets are downloaded and embedded in the MHT. Returns 1 for success, 0 for failure.
function GetCacheRoot(index: Integer): WideString;
Returns the Nth cache root (indexing begins at 0). Cache roots are set by calling AddCacheRoot one or more times. Returns a zero-length WideString on failure
function GetEML(url_or_htmlFilepath: WideString): WideString;
Creates EML from a web page or HTML file, and returns the EML (MIME) message data as a string. Returns a zero-length WideString on failure
function GetEmail(url_or_htmlFilePath: WideString): TChilkatEmail2;
Downloads a web page and creates an HTML Email object that can be sent using Chilkat Email component. Embedded within the email are all the images and style sheets referenced from the web page.
Returns a null reference on failure. Returns a null reference on failure
function GetMHT(url_or_htmlFilepath: WideString): WideString;
Creates MHT from a web page or local HTML file, and returns the MHT (MIME) message data as a string Returns a zero-length WideString on failure
function GetMime(url_or_htmlFilePath: WideString): TChilkatMime;
Converts a web Page (URL) or HTML file to a Chilkat Mime object. Returns a null reference on failure.
function HtmlToEML(html: WideString): WideString;
Creates an in-memory EML string from an in-memory HTML string. All external images and style sheets are downloaded and embedded in the EML string that is returned. Returns a zero-length WideString on failure
function HtmlToEMLFile(html: WideString, emlFilename: WideString): Integer;
Creates an EML file from an in-memory HTML string. All external images and style sheets are downloaded and embedded in the EML file. Returns 1 for success, 0 for failure.
function HtmlToEmail(html: WideString): TChilkatEmail2;
Creates an email object from an in-memory HTML string. Returns a null reference on failure. Returns a null reference on failure
function HtmlToMHT(html: WideString): WideString;
Creates an in-memory MHT web archive from an in-memory HTML string. All external images and style sheets are downloaded and embedded in the MHT string. Returns a zero-length WideString on failure
function HtmlToMHTFile(html: WideString, mhtFilename: WideString): Integer;
Creates an MHT file from an in-memory HTML string. All external images and style sheets are downloaded and embedded in the MHT file. Returns 1 for success, 0 for failure.
function IsUnlocked(): Integer;
Returns 1 if the MHT component is unlocked.
procedure RemoveCustomHeader(name: WideString);
Removes a custom header by header field name.
procedure RestoreDefaults();
Restores the default property settings.
function SaveLastError(logFilename: WideString): Integer;
Saves the last error information to an XML formatted file.
function UnlockComponent(unlockCode: WideString): Integer;
Unlocks the component allowing for the full functionality to be used. Returns 1 if the unlock code is valid.
function UnpackMHT(mhtFilename: WideString, unpackDir: WideString, outputHtmlFilename: WideString, partsSubDir: WideString): Integer;
Unpacks the contents of a MHT file. The destination directory is specified by unpackDir. The name of the HTML file created is specified by outputHtmlFilename, and supporting files (images, javascripts, etc.) are created in partsSubDir, which is automatically created if it does not already exist. Returns 1 for success, 0 for failure.
function UnpackMHTString(mhtString: WideString, unpackDir: WideString, outputHtmlFilename: WideString, partsSubDir: WideString): Integer;
Same as UnpackMHT, except the MHT is passed in as an in-memory string. Returns 1 for success, 0 for failure.
|