Chilkat Delphi DLL API 9.5.0.73 Retail
Chilkat Delphi DLL API 9.5.0.73 Retail
Products
POP3 / SMTP - Feature List
Zip, GZip, Bz2, .Z Compression - Feature List
Data Compression - Feature List
TAR Archive - Feature List
FTP2 - Feature List
IMAP - Feature List
Encryption - Feature List
RSA Encryption and Signatures - Feature List
DSA (DSS) Signatures - Feature List
Diffie-Hellman (DH) Key Exchange - Feature List
HTTP - Feature List
Socket / SSL - Feature List
SSH / SFTP - Feature List
MIME + S/MIME - Feature List
MHT - Feature List
HTML-to-XML Conversion - Feature List
Charset Encoding Conversion - Feature List
Email Bounce Processing - Feature List
XMP - Feature List
POP3 / SMTP Email Component Features
SMTP client for sending email.
POP3 client for reading email.
Works with Exchange Server (all versions)
Works with all POP3 / SMTP servers
Supports POP3 and SMTP SSL/TLS connections.
SMTP STARTTLS
Supports POP3 and SMTP SSH tunneling (port forwarding).
Send S/MIME signed and/or encrypted email.
Read S/MIME signed and/or encrypted email.
Export and import email to XML.
Export and import email to .eml (MIME) text files.
Zip / unzip attachments in-memory.
Check for email on servers.
Verify POP3 / SMTP connections and login credentials.
Secure SMTP authentication methods suppoted.
Add attachments from files or in-memory data.
Set connection and read timeouts.
Set size limits when reading email.
Delete email on the POP3 server.
Copy email from a POP3 server without deleting.
Fetch email headers.
Events for send/receive progress monitoring.
Get UIDLs of email on a server.
Send email using Chilkat SMTPQ for background sending.
Download email and sort based on date, sender, recipient, or subject.
Set a bounce email address for handling bounces.
Automatically handles international charset encodings.
Can use file-based distribution lists.
Send HTML email with embedded images.
Send multipart/alternative emails with both HTML and plain-text bodies.
Access attached message/rfc822 sub-parts.
Acess attachment data in-memory.
Set replacement patterns for mail-merge.
Set return receipt.
Set priority via the X-Priority header field.
Add custom header fields.
Add recipients as To, CC, or BCC.
Save attachments to disk.
Get attachment information: filename, size, etc.
Return text file attachment data as an in-memory string.
Get digital certificate information for signed/encrypted email.
Enumerate over the header fields in an email.
Find and unobfuscate the linked domain names in an email.
Unobfuscate HTML email.
MX Domain Lookup
Explicit control over SMTP and POP3 sessions.
SOCKS4, SOCKS5 proxy support for both POP3 and SMTP.
HTTP proxy support for POP3 and SMTP
Thread safe.
Zip Component Features
ZIP64 format extensions supported. No limitations on size for files within a .zip, or the total size of a .zip.
No limitations on the number of files that may be contained within a single .zip (this is a ZIP64 feature).
Can read/write Zips with WinZip-compatible AES strong encryption.
Supports Unicode filename zip file format extensions.
Events for zip/unzip progress monitoring.
Zip an entire directory tree.
Append entries to a Zip from in-memory data.
Create or open in-memory Zips.
Create self-extracting executables.
Create password-protected Zip files.
Unzip only files that match a filename pattern.
Option to discard path information when zipping.
Option to append a path prefix when zipping.
Option to create self-extracting EXEs with or without interfaces.
Ability to customize icon and interface when creating an EXE.
Ability to specify an auto-run file when creating an EXE.
Ability to specify a pre-defined unzip directory for an EXE.
Handles Unicode filenames.
Provides in-memory access to compressed or uncompressed data.
Easy FirstEntry/NextEntry methods for iterating over a Zip.
Can embed Zips in your own EXEs.
OpenMyEmbedded opens the Zip that has been embedded in the caller's EXE.
Set exclusion patterns when zipping.
Option to specify a target directory and discard path information when unzipping.
Can unzip only files that are newer.
Read/write comments within a Zip.
Ability to inflate directly to in-memory byte array or string.
Includes a Bz2 object/class to create or decompress the .bz2 file format.
Includes a GZip object/class to create or decompress the .gz file format.
Includes a Unix compress object/class to create or decompress the .Z file format using LZW compression.
Thread safe.
Compression (PPMD, Deflate, Bzip2, LZW) Component Features
PPMD Compression - Best algorithm for compressing text.
Bzip2 Compression
Deflate Compression - The algorithm most commonly used for .zip
LZW Compression
Compress and decompress in streaming mode w/ Begin, More, and End methods.
Work directly with hex or base64 encoded string representations of compressed data.
Simple CompressFile method for file compression.
Thread safe.
TAR Archive Component Features
Create/Extract TAR archives.
Supports GNU tar 1.13.x format.
Supports PAX -- POSIX 1003.1-2001 format.
Supports USTAR -- POSIX 1003.1-1988 format.
Create/Extract Compressed Archives: .tar.gz (.tgz), .tar.bz2, and .tar.Z
Extract directly into memory.
Untar files matching a pattern.
Get TAR contents directory in XML format.
Thread safe.
FTP2 Component Features
FTP files directly from your application in synchronous or asynchronous mode.
Support for FTPS - FTP over SSL 3.0 and TLS 1.0
Supports both Explicit and Implicit SSL/TLS
All popular FTP servers and proxies are supported.
Resume (restart) FTP uploads and downloads
Supports international filenames in all major languages
Upload and download to or from in-memory strings or byte arrays.
Automatic directory listing parser for FTP servers on Unix, Windows, Netware, AS/400, VAX/VMS, IBM Mainframes, and other legacy formats.
Events for upload/download progress monitoring.
Session logging
XCRC verification of uploads and downloads
Synchronize local directory tree with remote directory tree in either direction
All operations are abortable
Heartbeat event callbacks with abort cabability
Real-time upload/download data transfer rate properties
Real-time #bytes received/sent properties for async transfers
Percentage completion events for uploads and downloads
Secure FTP (FTPES) using AUTH TLS or AUTH SSL
Implicit Secure FTP SSL on Port 990 (or whichever port is used by the FTP server for SSL/TLS)
Clear the Control Channel (CCC) after FTPS Authentication
Supports FTPS behind Network Address Translating (NAT) Routers such as DSL/Cable Modems
Delete an entire remote directory tree in a single line of code
Upload an entire directory tree in a single line of code
Download an entire remote directory tree in a single line of code
Copy remote files to your local filesystem.
Copy files from your local filesystem to the FTP server.
Download text and binary files and access directly in memory.
Upload to FTP site directly from memory.
Create remote directory.
Rename remote files and directories.
Delete remote files and directories.
Get remote directory listing as XML.
Support for asynchronous uploads and downloads.
Active and passive transfer modes.
Binary and ASCII transfers.
FTP proxy servers are supported.
Server specific commands supported (SITE command) - such as setting access permissions on Unix FTP servers.
Stream support - streaming download to local files, streaming upload from local files.
Large file support - upload or download files larger than 4 GB.
Auto-determine proxy settings
Auto-determine valid connection settings
Specify port range for PORT mode data transfers (i.e. Active mode).
Supports QUOTE and SYST
Allows for client SSL certificate to be used for SSL connections.
Rename files or directories on the FTP server
Provides access to FTP SSL server certificate for verification.
Thread safe.
Royalty-free licensing
License covers all programming languages: .NET, ActiveX, C++, Ruby, Perl, Python, Java, etc.
IMAP Component Features
Supports S/MIME signed and encrypted email.
Supports TLS/SSL IMAP (Both implicit and explicit via STARTTLS).
Works with Exchange Server (all versions)
Works with all IMAP servers
Supports SSH tunneling (port forwarding).
Full set of mailbox management features for adding, deleting, and renaming mailboxes.
Easy to manage mail item flags for "seen", "draft", "answered", and "flagged".
Preview mail by retrieving message summaries.
Full mailbox sort and search capability.
Easy access to all message parts and recipients.
Easy access to attachments.
Programs can work using either UIDs or sequence numbers.
Single license includes all languages/platforms: .NET, IMAP ActiveX, Perl, Python, Ruby, Java, C++, x64, etc.
Supports non-English folder names (i.e. UTF-7 mailbox names).
SOCKS4, SOCKS5 proxy support.
HTTP proxy support
Supports multi-threaded applications.
Event callbacks for progress monitoring and abort cabability.
Stress-tested in ASP web farms with large numbers of simultaneous sessions.
Thread safe.
License provides for royalty-free redistribution of components with your application.
Reliable and expertly engineered.
Designed to hide the complexities of the IMAP protocol.
v9.5.0.73 Release Notes:
Email The SetHtmlBody method, in certain circumstances, would incorrectly set the top-level MIME header to text/html for multipart messages. This was fixed.
HTTP Non us-ascii chars in the URL path are now always URL encoded using the utf-8 encoding.
OAuth2 Added the UseBasicAuth and AppCallbackUrl properties.
MailMan Added methods SendMimeBd and FetchMimeBd.
Bounce Fixed a few situations where bounce type 11 (Suspected Bounce) was returned, but should have been 6 (Auto-Reply). In general, minor improvements to Bounce categorization are added as customers report issues, and each new Chilkat version can be assumed to have minor Bounce categorization refinements.
Tar Fixed crash (access violation) in the Untar method. This was caused by a corrupt tar file where the internal header contained garbage bytes.
Objective-C/CkoJsonObject In iPhoneOS11.2.sdk/usr/include/complex.h, we find the following macro: “#define I _Complex_I”. This caused a compile error because the CkoJsonObject class has a property named “I”. Chilkat updated CkoJsonObject.h to “#undef I” to avoid the conflict.
Electron Added builds for Electron 1.8. However the package naming triggered some npm spam detectors (false positives of course), and Chilkat is working to get it resolved. Chilkat will produce builds for Electron 2.0 in the near future.
CkByteData Added a SecureClear bool property (get_SecureClear, put_SecureClear). If set to true, then whenever the internal data is deallocated, the memory is first overwritten with 0 bytes.
MIME Binary MIME with null bytes in some bodies became corrupted because 0 bytes were replaced with SPACE chars. This is fixed.
Signed/Encrypted Email Fixed: The “micalg” attribute incorrectly remained in the Content-Type header field for the encrypted MIME part when the email is also signed.
REST Fixed: Stream sources used for uploading were not properly closed after the upload finished.
C++ Builder/CkAuthAzureStorage Fixed: The x-ms-date header did not automatically get the correct current date/time for HTTP requests. This only happened for C++ Builder and Delphi builds of Chilkat.
Email Added flexibility in parsing non-compliant RFC822 date strings, where the month name and month day number are not in the correct order as specified by RFC822.
MIME parsing (general) Added more internal flexibility for handling mixtures of CRLF and bare-LF line endings.
XmlDSigGen Now capable of using non-exportable private keys on Windows, such as for A3 certificates where the private key is on a hardware token.
SSH Fixed a rarely encountered “handshake” problem.
HTTP Changed the default Content-Type for the PostJson method to be “application/json”. The original default value, “application/jsonrequest” was the initial “standard” years ago, but seems to never be used nowadays. If an “application/jsonrequest” is needed (and I doubt it will ever be needed), then PostJson2 may be called to explicitly specify the Content-Type.
HTTP The default value of the S3Ssl property is now true.
Zip Fixed rare problems involved with rewriting zip archives, when the “move from temp zip to target” fails.
Email Fixed certain automatic MIME structuring issues w.r.t. multipart/alternative and multipart/related.
Compression Added the DeflateLevel property to the Compression class.
CkString The removeDelimited method was missing for Ruby, Java, Perl, Python, Tcl, and PHP.
SFTP Fixed: The SyncTreeDownload method was not firing the DownloadRate callback.
PrivateKey Fixed: The GetPkcs8Pem method (for ECC keys) was returning PKCS1 but should’ve been returning PKCS8.
HTTP Added the SharePointOnlineAuth method.
HTTP Fixed problems with the S3_GenerateUrl and S3_GenerateUrlV4 methods.
SSH Fixed: After doing a ReadDir, the SFtpFile.IsDirectory property was not correct for some types of SSH servers.
Zip Added the PwdProtCharset property.
SOCKS5 Fixed problems with IPv6 addresses when using SOCKS5 proxies.
Compression Added the CompressSb and DecompressSb methods.
JSON Added the methods DtOf and DateOf to both JsonObject and JsonArray.
HTTP Fixed problems with non-us-ascii chars in URLs for downloads.
StringBuilder Added the ReplaceAfterFinal method.
HTTP Fixed: The LastHeader property was empty after the PostUrlEncoded method.
SSH Fixed slowness for SSH commands the emit a large amount of output.
HTTP Fixed rare server certificate verification problem when the server provides out-of-order certificates in the TLS handshake.
FTP2 Fixed: The IdleTimeoutMs property was not being honored for DNS problems.
StringBuilder Added the WriteFileIfModified method.
PureBasic Fixed a compile error in the CkHttp.pb file.
SSH/SFTP/SshTunnel Fixed a host key signature verification failure for certain situations.
SSH/SFTP/SshTunnel Added the UncommonOptions property, which will be a place to specify future unforeseen workarounds that may be required for particular SSH servers (old or new).
Rest/Socket Fixed a problem when a non-standard HTTP port (not 80 nor 443) is used in for the original Socket connection in conjunction with the Rest.UseConnection method.
RSA Added the SetX509Cert method to make it easy to use the private key of certificate. Also allows for A3 certificates where the private key is non-exportable (on a Windows system) such as on a hardware token.
XmlDSigGen Added the “X509Data+KeyValue” option for the KeyInfoType property.
JsonArray Added the FindString and FindObject methods.
Zip Fixed reliability issues in the UnzipToStream method.
XmlDSigGen Fixed: The X509SerialNumber in the X509IssuerSerial needed to be in decimal, not hex.
S/MIME Fixed an extremely rare issue where a digital signature verification failed but should’ve been successful.
JsonObject Fixed the “Unable to lock my JSON object.” error that would be returned if SetStringOf was called on an empty JsonObject.
CkString The loadFile method will now recognize Unicode/utf-8 BOMs and will load files correctly based on the BOM encountered.
Email The SetHtmlBody method, in certain circumstances, would incorrectly set the top-level MIME header to text/html for multipart messages. This was fixed.
HTTP Non us-ascii chars in the URL path are now always URL encoded using the utf-8 encoding.
OAuth2 Added the UseBasicAuth and AppCallbackUrl properties.
MailMan Added methods SendMimeBd and FetchMimeBd.
Bounce Fixed a few situations where bounce type 11 (Suspected Bounce) was returned, but should have been 6 (Auto-Reply). In general, minor improvements to Bounce categorization are added as customers report issues, and each new Chilkat version can be assumed to have minor Bounce categorization refinements.
Tar Fixed crash (access violation) in the Untar method. This was caused by a corrupt tar file where the internal header contained garbage bytes.
Objective-C/CkoJsonObject In iPhoneOS11.2.sdk/usr/include/complex.h, we find the following macro: “#define I _Complex_I”. This caused a compile error because the CkoJsonObject class has a property named “I”. Chilkat updated CkoJsonObject.h to “#undef I” to avoid the conflict.
Electron Added builds for Electron 1.8. However the package naming triggered some npm spam detectors (false positives of course), and Chilkat is working to get it resolved. Chilkat will produce builds for Electron 2.0 in the near future.
CkByteData Added a SecureClear bool property (get_SecureClear, put_SecureClear). If set to true, then whenever the internal data is deallocated, the memory is first overwritten with 0 bytes.
MIME Binary MIME with null bytes in some bodies became corrupted because 0 bytes were replaced with SPACE chars. This is fixed.
Signed/Encrypted Email Fixed: The “micalg” attribute incorrectly remained in the Content-Type header field for the encrypted MIME part when the email is also signed.
REST Fixed: Stream sources used for uploading were not properly closed after the upload finished.
C++ Builder/CkAuthAzureStorage Fixed: The x-ms-date header did not automatically get the correct current date/time for HTTP requests. This only happened for C++ Builder and Delphi builds of Chilkat.
Email Added flexibility in parsing non-compliant RFC822 date strings, where the month name and month day number are not in the correct order as specified by RFC822.
MIME parsing (general) Added more internal flexibility for handling mixtures of CRLF and bare-LF line endings.
XmlDSigGen Now capable of using non-exportable private keys on Windows, such as for A3 certificates where the private key is on a hardware token.
SSH Fixed a rarely encountered “handshake” problem.
HTTP Changed the default Content-Type for the PostJson method to be “application/json”. The original default value, “application/jsonrequest” was the initial “standard” years ago, but seems to never be used nowadays. If an “application/jsonrequest” is needed (and I doubt it will ever be needed), then PostJson2 may be called to explicitly specify the Content-Type.
HTTP The default value of the S3Ssl property is now true.
Zip Fixed rare problems involved with rewriting zip archives, when the “move from temp zip to target” fails.
Email Fixed certain automatic MIME structuring issues w.r.t. multipart/alternative and multipart/related.
Compression Added the DeflateLevel property to the Compression class.
CkString The removeDelimited method was missing for Ruby, Java, Perl, Python, Tcl, and PHP.
SFTP Fixed: The SyncTreeDownload method was not firing the DownloadRate callback.
PrivateKey Fixed: The GetPkcs8Pem method (for ECC keys) was returning PKCS1 but should’ve been returning PKCS8.
HTTP Added the SharePointOnlineAuth method.
HTTP Fixed problems with the S3_GenerateUrl and S3_GenerateUrlV4 methods.
SSH Fixed: After doing a ReadDir, the SFtpFile.IsDirectory property was not correct for some types of SSH servers.
Zip Added the PwdProtCharset property.
SOCKS5 Fixed problems with IPv6 addresses when using SOCKS5 proxies.
Compression Added the CompressSb and DecompressSb methods.
JSON Added the methods DtOf and DateOf to both JsonObject and JsonArray.
HTTP Fixed problems with non-us-ascii chars in URLs for downloads.
StringBuilder Added the ReplaceAfterFinal method.
HTTP Fixed: The LastHeader property was empty after the PostUrlEncoded method.
SSH Fixed slowness for SSH commands the emit a large amount of output.
HTTP Fixed rare server certificate verification problem when the server provides out-of-order certificates in the TLS handshake.
FTP2 Fixed: The IdleTimeoutMs property was not being honored for DNS problems.
StringBuilder Added the WriteFileIfModified method.
PureBasic Fixed a compile error in the CkHttp.pb file.
SSH/SFTP/SshTunnel Fixed a host key signature verification failure for certain situations.
SSH/SFTP/SshTunnel Added the UncommonOptions property, which will be a place to specify future unforeseen workarounds that may be required for particular SSH servers (old or new).
Rest/Socket Fixed a problem when a non-standard HTTP port (not 80 nor 443) is used in for the original Socket connection in conjunction with the Rest.UseConnection method.
RSA Added the SetX509Cert method to make it easy to use the private key of certificate. Also allows for A3 certificates where the private key is non-exportable (on a Windows system) such as on a hardware token.
XmlDSigGen Added the “X509Data+KeyValue” option for the KeyInfoType property.
JsonArray Added the FindString and FindObject methods.
Zip Fixed reliability issues in the UnzipToStream method.
XmlDSigGen Fixed: The X509SerialNumber in the X509IssuerSerial needed to be in decimal, not hex.
S/MIME Fixed an extremely rare issue where a digital signature verification failed but should’ve been successful.
JsonObject Fixed the “Unable to lock my JSON object.” error that would be returned if SetStringOf was called on an empty JsonObject.
CkString The loadFile method will now recognize Unicode/utf-8 BOMs and will load files correctly based on the BOM encountered.
Only for V.I.P
Warning! You are not allowed to view this text.