Chilkat Delphi DLL API v126.96.36.199 | 7 Mb
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.
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
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.
Compression (PPMD, Deflate, Bzip2, LZW) Component Features
PPMD Compression – Best algorithm for compressing text.
Deflate Compression – The algorithm most commonly used for .zip
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.
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.
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.
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.
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.
License provides for royalty-free redistribution of components with your application.
Reliable and expertly engineered.
Designed to hide the complexities of the IMAP protocol.
v188.8.131.52 Release Notes
Posted on November 14, 2016
SshTunnel – Significantly improved the background tunnel management threads.
JsonArray.TypeAt – Discovered that this method erroneously always returns the value 4. This is fixed.
JsonObject – Added new methods: UpdateNumber, UpdateNull
Bug Fix: .NET Async Methods that pass in Byte Arrays There was a memory leak specific to async .NET methods that pass in byte arrays. See Byte Array Memory Not Freed for .NET Async Methods
Socket: Added new methods: SendBd, SendSb, ReceiveBd, ReceiveBdN, and ReceiveSb. These are for sending/receiving directly from/to BinData and StringBuilder objects.
JsonObject: Added new methods: UpdateNull and UpdateNumber.
StringBuilder: Added AppendLine method.
FTP2: Fixed: The following FTP2 methods returned the current date/time instead of NULL for failure: GetLastAccessDtByName, GetLastModDtByName, GetCreateDtByName, GetLastAccessDt, GetLastModDt, GetCreateDt. The methods now correctly return NULL (i.e. 0, null, Nothing, etc.)
MailMan: Fixed the GetHeaders method. The fromIndex and toIndex arguments are inclusive. For example, if getting headers for emails 1 to 10, then 11 emails should be returned (assuming the mailbox has at least 11 emails). The fix had to do with the case when the fromIndex = 0. If fetching emails 0 to 2, then only 2 emails were returned. This is now fixed. Fetching 0 to 2 should return 3 emails.
Crypt2 (PBES2) — When setting the CryptAlgorithm = “PBES2”, Chilkat was doing PBES1 encryption. This problem started sometime after v184.108.40.206. This is now fixed.
Added the CkDateTime.DiffSeconds to get the difference in seconds between two CkDateTime objects.
Fixed auto-create issue in JsonObject.UpdateString, UpdateInt, etc. for array paths that end in a primitive. For example the following C++ code
Added the “eda” encoding for UN/EDIFACT Syntax Level A. See https://www.example-code.com/csharp/edifact_eda_syntax_level_A_encoding.asp. Also see: http://cknotes.com/chilkat-binary-encoding-list/
Added new methods to CkDateTime: AddSeconds, GetAsUnixTimeStr, GetAsIso8601.
Added the AuthAzureSAS class. (For Shared Access Signature authorization)
Added the Rest.SetAuthAzureSas method. (For Shared Access Signature authorization)
Fixed Rest.AddQueryParams (note that this is the plural: AddQueryParams method, not AddQueryParam). If values in the param string were URL encoded, the AddQueryParams did not properly URL decode each value. This would result in query params being doubly URL encoded when the actual request was sent.
Added Crypt.BcryptWorkFactor, BCryptHash, and BCryptVerify to support BCrypt password hashing and verification.
Fixed an Android issue w/ IMAP ProgressInfo callbacks. The problem only occurred when a ProgressInfo callback happened for Login where the username includes a non-usascii char, such as one with an umlaut.
Socket.TlsRenegotiate — fixed a problem that occurred under certain conditions when the SslAllowedCiphers property is set to restrict TLS cipher suite choices.
Ftp2 – Fixed problem with “Unix Cway” servers where 0-byte files were getting downloaded (instead of the full file). This was caused because the FTP server inaccurately reports that the file is “0 bytes” in the intermediate reply to the RETR command. Chilkat now ignores what this particular server says.
(Email) Fixed: An incoming email’s header specifies the sender as this:From: “FAXG3/+5554555920″@faxsrv.intraThe email is loaded into a CkEmail object using the C++ edition of Chilkat.Problem is, the CkEmail.get_FromAddress() method returns @faxsrv.intra as the email address instead of FAXG3firstname.lastname@example.org
ActiveX LastStringResultLen property incorrectly returned the size of the string in bytes (utf-16) rather than in number of characters. This is fixed to return the number of characters. (Note: this is a property that only exists in ActiveX classes, and is only useful for certain programming languages such as SQL Server to help programs determine if temp tables are required..)
SSH – Added the following methods: QuickShell, QuickCommand, QuickCmdSend, and QuickCmdCheck. These methods help simplify executing remote commands running shell sessions.
Feature, Encryption, Compression, Signatures, Conversion, Charset, Encoding, Email, Processing, Bounce, Socket, Diffie, Products, Delphi, Archive, Chilkat, Hellman, Exchange, Feature, email, files, Supports, memory, directory, methods, Added, server, format, remote, Compression, servers, Fixed, method, emails, directly, support, Thread, Create