MailMan Unicode C Reference Documentation

MailMan

Current Version: 11.4.0

The Chilkat MailMan class is reponsible for sending email though SMTP and receiving/managing email on POP3 servers.

Create/Dispose

HCkMailManW instance = CkMailManW_Create();
// ...
CkMailManW_Dispose(instance);
HCkMailManW CkMailManW_Create(void);

Creates an instance of the HCkMailManW object and returns a handle ("void *" pointer). The handle is passed in the 1st argument for the functions listed on this page.

void CkMailManW_Dispose(HCkMailManW handle);

Objects created by calling CkMailManW_Create must be freed by calling this method. A memory leak occurs if a handle is not disposed by calling this function. Also, any handle returned by a Chilkat "C" function must also be freed by the application by calling the appropriate Dispose method, such as CkMailManW_Dispose.

Callback Functions

Callback Functions introduced in Chilkat v9.5.0.56
void CkMailManW_setAbortCheck(HCkMailManW cHandle, BOOL (*fnAbortCheck)(void));

Provides the opportunity for a method call to be aborted. If TRUE is returned, the operation in progress is aborted. Return FALSE to allow the current method call to continue. This callback function is called periodically based on the value of the HeartbeatMs property. (If HeartbeatMs is 0, then no callbacks are made.) As an example, to make 5 AbortCheck callbacks per second, set the HeartbeatMs property equal to 200.

void CkMailManW_setPercentDone(HCkMailManW cHandle, BOOL (*fnPercentDone)(int pctDone));

Provides the percentage completed for any method that involves network communications or time-consuming processing (assuming it is a method where a percentage completion can be measured). This callback is only called when it is possible to know a percentage completion, and when it makes sense to express the operation as a percentage completed. The pctDone argument will have a value from 1 to 100. For methods that complete very quickly, the number of PercentDone callbacks will vary, but the final callback should have a value of 100. For long running operations, no more than one callback per percentage point will occur (for example: 1, 2, 3, ... 98, 99, 100).

This callback counts as an AbortCheck callback, and takes the place of the AbortCheck event when it fires.

The return value indicates whether the method call should be aborted, or whether it should proceed. Return TRUE to abort, and FALSE to proceed.

void CkMailManW_setProgressInfo(HCkMailManW cHandle, void (*fnProgressInfo)(const wchar_t *name, const wchar_t *value));

This is a general callback that provides name/value information about what is happening at certain points during a method call. To see the information provided in ProgressInfo callbacks, if any, write code to handle this event and log the name/value pairs. Most are self-explanatory.

void CkMailManW_setTaskCompleted(HCkMailManW cHandle, void (*fnTaskCompleted)(HCkTaskW hTask));

Called in the background thread when an asynchronous task completes. (Note: When an async method is running, all callbacks are in the background thread.)

Properties

AbortCurrent
BOOL CkMailManW_getAbortCurrent(HCkMailManW cHandle);
void CkMailManW_putAbortCurrent(HCkMailManW cHandle, BOOL newVal);
Introduced in version 9.5.0.58

Set this property to TRUE to request that the currently running operation be aborted.

This applies to methods that may take time to complete, such as methods that perform network communication or lengthy file operations. Methods that always complete quickly are generally not affected.

If no method is currently running, the property is automatically reset to FALSE when the next method call begins. When an abort actually occurs, Chilkat resets this property to FALSE.

Both synchronous and asynchronous method calls can be aborted. A synchronous method can be aborted by setting this property from another thread.

top
AllOrNone
BOOL CkMailManW_getAllOrNone(HCkMailManW cHandle);
void CkMailManW_putAllOrNone(HCkMailManW cHandle, BOOL newVal);

Controls whether an email should be sent when one or more recipients are rejected by the SMTP server.

The default value is FALSE, which means Chilkat continues sending even if some recipients are rejected.

When set to TRUE, the email is not sent to any recipients if the SMTP server rejects any recipient address.

Important: This property only works when SMTP pipelining is disabled. Because SmtpPipelining is TRUE by default, set SmtpPipelining = FALSE when all-or-none behavior is required.

Note: SMTP servers do not always verify recipient addresses. Even when they do, the server can usually verify only addresses within domains it controls.

More Information and Examples
top
AutoFix
BOOL CkMailManW_getAutoFix(HCkMailManW cHandle);
void CkMailManW_putAutoFix(HCkMailManW cHandle, BOOL newVal);

When TRUE, Chilkat automatically adjusts common SMTP and POP3 SSL/TLS settings based on the configured port numbers.

  • If SmtpPort = 465, Chilkat sets StartTLS = FALSE and SmtpSsl = TRUE.
  • If SmtpPort = 25, Chilkat sets SmtpSsl = FALSE.
  • If MailPort = 995, Chilkat sets PopSsl = TRUE.
  • If MailPort = 110, Chilkat sets PopSsl = FALSE.

The default value is TRUE.

More Information and Examples
top
AutoGenMessageId
BOOL CkMailManW_getAutoGenMessageId(HCkMailManW cHandle);
void CkMailManW_putAutoGenMessageId(HCkMailManW cHandle, BOOL newVal);

Controls whether Chilkat automatically generates a unique Message-ID header when an email is sent.

The default behavior is to generate a new unique Message-ID at send time. This allows the same Email object to be reused without accidentally sending duplicate message IDs.

If duplicate message IDs are used, some SMTP servers may treat the message as a duplicate and discard it.

When automatic generation is enabled, calling GetHeaderField("Message-ID") before sending will not necessarily show the actual message ID that Chilkat sends.

Set this property to FALSE to prevent Chilkat from automatically generating the Message-ID header.

top
AutoSmtpRset
BOOL CkMailManW_getAutoSmtpRset(HCkMailManW cHandle);
void CkMailManW_putAutoSmtpRset(HCkMailManW cHandle, BOOL newVal);

When TRUE, Chilkat automatically sends the SMTP RSET command before sending a new email over an already-open SMTP connection.

This helps ensure the SMTP session is in a clean state before the next email is sent.

The default value is FALSE.

Note: This property only applies when reusing an existing SMTP connection.

top
AutoUnwrapSecurity
BOOL CkMailManW_getAutoUnwrapSecurity(HCkMailManW cHandle);
void CkMailManW_putAutoUnwrapSecurity(HCkMailManW cHandle, BOOL newVal);
Introduced in version 9.5.0.49

Controls whether Chilkat automatically unwraps digitally signed or encrypted email when the message is downloaded or loaded from MIME.

The default value is TRUE. When enabled, Chilkat verifies signatures and decrypts encrypted content when possible. The results are made available through the email object's security-related properties and methods.

Set this property to FALSE if you want signed or encrypted attachments, such as .p7m or .p7s files, to remain as ordinary attachments.

Important: Signature verification and decryption must occur when the original MIME is first loaded. After MIME is parsed into Chilkat's internal email object format, the exact original MIME bytes are no longer available, and the signature can no longer be verified.

top
ClientIpAddress
void CkMailManW_getClientIpAddress(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putClientIpAddress(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_clientIpAddress(HCkMailManW cHandle);

Specifies the local IP address to use when connecting from a computer that has multiple network interfaces or multiple IP addresses.

For most computers, this property should be left unset. Chilkat will automatically use the default local IP address.

The value should be a numeric IP address, such as 165.164.55.124, not a hostname.

More Information and Examples
top
ConnectFailReason
int CkMailManW_getConnectFailReason(HCkMailManW cHandle);
Introduced in version 9.5.0.56

Contains a numeric code describing the result of the last connection attempt. This applies to the last connection made, or attempted, by any method.

CodeMeaning
0Success.
1Empty hostname.
2DNS lookup failed.
3DNS timeout.
4Aborted by the application.
5Internal failure.
6Connection timed out.
7Connection rejected, or failed for another reason.
100TLS internal error.
101Failed to send the TLS client hello.
102Unexpected TLS handshake message.
103Failed to read the TLS server hello.
104No server certificate was received.
105Unexpected TLS protocol version.
106Server certificate verification failed.
107Unacceptable TLS protocol version.
109Failed to read TLS handshake messages.
110Failed to send client certificate handshake message.
111Failed to send client key exchange handshake message.
112Client certificate private key is not accessible.
113Failed to send client certificate verify handshake message.
114Failed to send change cipher spec handshake message.
115Failed to send finished handshake message.
116The server's finished message is invalid.

top
ConnectTimeout
int CkMailManW_getConnectTimeout(HCkMailManW cHandle);
void CkMailManW_putConnectTimeout(HCkMailManW cHandle, int newVal);

The maximum number of seconds to wait while attempting to connect to an SMTP or POP3 server.

The default value is 30 seconds.

top
DebugLogFilePath
void CkMailManW_getDebugLogFilePath(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putDebugLogFilePath(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_debugLogFilePath(HCkMailManW cHandle);

If set to a file path, this property logs the LastErrorText of each Chilkat method or property call to the specified file. This logging helps identify the context and history of Chilkat calls leading up to any crash or hang, aiding in debugging.

Enabling the VerboseLogging property provides more detailed information. This property is mainly used for debugging rare instances where a Chilkat method call causes a hang or crash, which should generally not happen.

Possible causes of hangs include:

  • A timeout property set to 0, indicating an infinite timeout.
  • A hang occurring within an event callback in the application code.
  • An internal bug in the Chilkat code causing the hang.

More Information and Examples
top
DsnEnvid
void CkMailManW_getDsnEnvid(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putDsnEnvid(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_dsnEnvid(HCkMailManW cHandle);

The DsnEnvid property specifies the SMTP DSN ENVID value, which is an arbitrary identifier attached to the SMTP envelope. The same value is typically returned in DSN responses so the sending application can correlate delivery notifications with the original outbound email.

Common choices for DsnEnvid include:

  • An internal message ID:
    MSG-10004521
  • A GUID or UUID:
    550e8400-e29b-41d4-a716-446655440000
  • An order or transaction number:
    ORDER-847291
  • A timestamp-based identifier:
    MAIL-20260515-153045-001
  • A composite identifier combining application, customer, and message IDs:
    billing|cust-9182|invoice-44381

The value should uniquely identify the outbound email within your application. It does not need to match the MIME Message-ID header, although some applications choose to use the same identifier for both.


About SMTP DSN

SMTP DSN means Delivery Status Notification. It is an optional SMTP service extension defined by RFC 3461 that allows the sender to request delivery-status reports from the SMTP server.

DSN allows an application to request notifications such as:

  • Successful delivery
  • Delivery failure
  • Delayed delivery

It also allows the sender to specify whether the returned notification should include the full original message or only the message headers.

In Chilkat.MailMan, DSN behavior is controlled using:

  • DsnEnvid — sets the SMTP ENVID envelope identifier.
  • DsnNotify — controls when notifications are requested, such as SUCCESS, FAILURE, DELAY, or NEVER.
  • DsnRet — controls whether DSN responses include the full message or only headers.

DSN is an optional SMTP extension and is not supported by all SMTP servers. A server supports DSN only if it advertises the DSN capability in response to the SMTP EHLO command.

The IsSmtpDsnCapable method can be used to determine whether the SMTP server supports DSN.

Even when DSN is supported, some SMTP servers or downstream mail systems may ignore or partially honor DSN requests.

top
DsnNotify
void CkMailManW_getDsnNotify(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putDsnNotify(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_dsnNotify(HCkMailManW cHandle);

Specifies the SMTP DSN NOTIFY parameter used when sending email.

The value may be left empty, set to NEVER, or set to a comma-separated combination of SUCCESS, FAILURE, and DELAY.

top
DsnRet
void CkMailManW_getDsnRet(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putDsnRet(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_dsnRet(HCkMailManW cHandle);

Specifies the SMTP DSN RET parameter used when sending email.

The value may be left empty, set to FULL to request the full message in DSN notifications, or set to HDRS to request only the message headers.

top
EmbedCertChain
BOOL CkMailManW_getEmbedCertChain(HCkMailManW cHandle);
void CkMailManW_putEmbedCertChain(HCkMailManW cHandle, BOOL newVal);

When TRUE, Chilkat embeds the signing certificate chain in signed email.

Certificates are included up to, but not including, the root certificate. If IncludeRootCert is also TRUE, the root CA certificate is included as well.

The default value is FALSE

top
EnableSecrets
BOOL CkMailManW_getEnableSecrets(HCkMailManW cHandle);
void CkMailManW_putEnableSecrets(HCkMailManW cHandle, BOOL newVal);
Introduced in version 11.5.0

Enables automatic resolution of passwords and credentials from secure local storage.

When set to TRUE, supported properties and methods can accept a Chilkat secret specification string instead of a literal password. Secret specification strings begin with !!.

Chilkat resolves secrets from:

  • Windows Credential Manager on Windows.
  • Apple Keychain on macOS.

The secret specification format is: !![appName|]service[|domain]|username

This applies to PopPassword, SmtpPassword, HttpProxyPassword, SocksPassword, PopPasswordBase64, and SshAuthenticatePw.

The default value is FALSE.

More Information and Examples
top
Filter
void CkMailManW_getFilter(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putFilter(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_filter(HCkMailManW cHandle);

Specifies a filter expression applied by methods such as LoadXmlFile, LoadXmlString, LoadMbx, CopyMail, and TransferMail.

When a filter is present, only emails matching the expression are returned. For TransferMail, only matching emails are removed from the mail server.

Example expressions:

Body like "mortgage rates*"
Subject contains "update" and From contains "chilkat"
To = "info@chilkatsoft.com"

Rules for filter expressions:

  • Any MIME header field name may be used. Header names are case-insensitive.
  • Literal strings are enclosed in double quotes.
  • String matching is case-insensitive.
  • The * wildcard matches zero or more characters.
  • Parentheses may be used to control precedence.
  • Logical operators are AND, OR, and NOT.
  • String comparison operators include CONTAINS and LIKE.

Note: Filtering works on text strings only, not dates or numbers.

top
HeartbeatMs
int CkMailManW_getHeartbeatMs(HCkMailManW cHandle);
void CkMailManW_putHeartbeatMs(HCkMailManW cHandle, int newVal);

Specifies the interval, in milliseconds, between AbortCheck event callbacks.

This allows an application to periodically decide whether a long-running operation should be aborted.

The default value is 0, which means no AbortCheck callbacks are generated.

More Information and Examples
top
HeloHostname
void CkMailManW_getHeloHostname(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putHeloHostname(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_heloHostname(HCkMailManW cHandle);

Specifies the hostname sent in the SMTP EHLO or HELO command.

The default value is an empty string, which causes Chilkat to use the local computer's hostname.

top
HttpProxyAuthMethod
void CkMailManW_getHttpProxyAuthMethod(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putHttpProxyAuthMethod(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_httpProxyAuthMethod(HCkMailManW cHandle);

HttpProxyAuthMethod

Specifies the authentication method used when connecting through an HTTP proxy that requires authentication.

Valid values are Basic and NTLM.

top
HttpProxyDomain
void CkMailManW_getHttpProxyDomain(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putHttpProxyDomain(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_httpProxyDomain(HCkMailManW cHandle);

Specifies the optional NTLM domain when using NTLM authentication with an HTTP proxy.

top
HttpProxyHostname
void CkMailManW_getHttpProxyHostname(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putHttpProxyHostname(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_httpProxyHostname(HCkMailManW cHandle);

Specifies the hostname or IPv4 address of the HTTP proxy to use.

top
HttpProxyPassword
void CkMailManW_getHttpProxyPassword(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putHttpProxyPassword(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_httpProxyPassword(HCkMailManW cHandle);

Specifies the password used when authenticating to an HTTP proxy.

top
HttpProxyPort
int CkMailManW_getHttpProxyPort(HCkMailManW cHandle);
void CkMailManW_putHttpProxyPort(HCkMailManW cHandle, int newVal);

Specifies the port number of the HTTP proxy.

Common HTTP proxy ports include 8080 and 3128.

top
HttpProxyUsername
void CkMailManW_getHttpProxyUsername(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putHttpProxyUsername(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_httpProxyUsername(HCkMailManW cHandle);

Specifies the username used when authenticating to an HTTP proxy.

top
ImmediateDelete
BOOL CkMailManW_getImmediateDelete(HCkMailManW cHandle);
void CkMailManW_putImmediateDelete(HCkMailManW cHandle, BOOL newVal);

Controls whether POP3 deletions are finalized immediately.

The default value is TRUE. When enabled, any method that deletes email from the POP3 server also sends a QUIT command and closes the POP3 session so the deletion is committed immediately.

In POP3, the DELE command only marks a message for deletion. The message is not actually deleted until the session ends with QUIT.

If ImmediateDelete is set to FALSE, your application must call Pop3EndSession to finalize the deletions.

More Information and Examples
top
IncludeRootCert
BOOL CkMailManW_getIncludeRootCert(HCkMailManW cHandle);
void CkMailManW_putIncludeRootCert(HCkMailManW cHandle, BOOL newVal);

Controls whether the root CA certificate is included in the S/MIME signature of a signed email.

This property only applies when EmbedCertChain is TRUE.

top
IsPop3Connected
BOOL CkMailManW_getIsPop3Connected(HCkMailManW cHandle);
Introduced in version 9.5.0.48

Returns TRUE if Chilkat believes the POP3 connection is still open.

Accessing this property does not send any command to the POP3 server. If the server has disconnected but Chilkat has not yet attempted further communication, this property may still return TRUE.

To verify that the POP3 connection is actually alive, call Pop3Noop.

top
IsSmtpConnected
BOOL CkMailManW_getIsSmtpConnected(HCkMailManW cHandle);

Returns TRUE if Chilkat believes the SMTP connection is still open.

Accessing this property does not communicate with the SMTP server. A lost connection may not be detected until the next SMTP command is sent.

To verify that the SMTP connection is actually alive, call SmtpNoop.

top
LastErrorHtml
void CkMailManW_getLastErrorHtml(HCkMailManW cHandle, HCkString retval);
const wchar_t *CkMailManW_lastErrorHtml(HCkMailManW cHandle);

Provides HTML-formatted information about the last called method or property. If a method call fails or behaves unexpectedly, check this property for details. Note that information is available regardless of the method call's success.

top
LastErrorText
void CkMailManW_getLastErrorText(HCkMailManW cHandle, HCkString retval);
const wchar_t *CkMailManW_lastErrorText(HCkMailManW cHandle);

Provides plain text information about the last called method or property. If a method call fails or behaves unexpectedly, check this property for details. Note that information is available regardless of the method call's success.

top
LastErrorXml
void CkMailManW_getLastErrorXml(HCkMailManW cHandle, HCkString retval);
const wchar_t *CkMailManW_lastErrorXml(HCkMailManW cHandle);

Provides XML-formatted information about the last called method or property. If a method call fails or behaves unexpectedly, check this property for details. Note that information is available regardless of the method call's success.

top
LastMethodSuccess
BOOL CkMailManW_getLastMethodSuccess(HCkMailManW cHandle);
void CkMailManW_putLastMethodSuccess(HCkMailManW cHandle, BOOL newVal);

Indicates the success or failure of the most recent method call: TRUE means success, FALSE means failure. This property remains unchanged by property setters or getters. This method is present to address challenges in checking for null or Nothing returns in certain programming languages. Note: This property does not apply to methods that return integer values or to boolean-returning methods where the boolean does not indicate success or failure.

top
LastSmtpStatus
int CkMailManW_getLastSmtpStatus(HCkMailManW cHandle);

Contains the last SMTP status code returned by the SMTP server during the most recent SMTP operation.

SMTP status codes are numeric reply codes defined by the SMTP protocol. They indicate the result of SMTP protocol commands such as EHLO, AUTH, MAIL FROM, RCPT TO, and DATA.

In general:

  • 2xx — Success. The requested action completed successfully.
  • 3xx — Intermediate success. Additional information or authentication data is required.
  • 4xx — Temporary failure. The operation failed, but retrying later may succeed.
  • 5xx — Permanent failure. The request was rejected and retrying will usually not help unless something changes.

top
LastSmtpStatusMsg
void CkMailManW_getLastSmtpStatusMsg(HCkMailManW cHandle, HCkString retval);
const wchar_t *CkMailManW_lastSmtpStatusMsg(HCkMailManW cHandle);
Introduced in version 9.5.0.85

Contains the text message associated with the last SMTP status code received from the server.

top
LogMailReceivedFilename
void CkMailManW_getLogMailReceivedFilename(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putLogMailReceivedFilename(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_logMailReceivedFilename(HCkMailManW cHandle);

Specifies a local file path where Chilkat writes each message exactly as it was received from the POP3 server.

This is useful for debugging problems involving MIME structure, encodings, attachments, or server behavior.

top
LogMailSentFilename
void CkMailManW_getLogMailSentFilename(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putLogMailSentFilename(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_logMailSentFilename(HCkMailManW cHandle);

Specifies a local file path where Chilkat writes the exact MIME message sent to the SMTP server.

This is useful for inspecting the final MIME produced by Chilkat.

top
MailHost
void CkMailManW_getMailHost(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putMailHost(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_mailHost(HCkMailManW cHandle);

Specifies the POP3 server hostname or IP address.

Do not include http:// or https://. The value should be a hostname such as pop.example.com or an IPv4/IPv6 address.

top
MailPort
int CkMailManW_getMailPort(HCkMailManW cHandle);
void CkMailManW_putMailPort(HCkMailManW cHandle, int newVal);

Specifies the POP3 server port number.

The default value is 110.

The standard POP3 ports and their associated Chilkat.MailMan property settings are described below.

Port 995 — POP3 over Implicit SSL/TLS

Uses implicit SSL/TLS, meaning the TLS connection is established immediately when the TCP connection is opened.

mailman.MailPort = 995;
mailman.PopSsl = true;
Port 110 — Standard Unencrypted POP3

Uses a normal unencrypted POP3 connection.

mailman.MailPort = 110;
mailman.PopSsl = false;
mailman.Pop3Stls = false;
mailman.Pop3StlsIfPossible = false;
Port 110 — POP3 with Explicit TLS via STLS

The connection begins unencrypted and is upgraded to TLS using the POP3 STLS command.

mailman.MailPort = 110;
mailman.PopSsl = false;
mailman.Pop3Stls = true;
Port 110 — Opportunistic STLS

Attempts to upgrade the connection to TLS using STLS if the POP3 server supports it. Otherwise, the connection remains unencrypted.

mailman.MailPort = 110;
mailman.PopSsl = false;
mailman.Pop3StlsIfPossible = true;

Important: PopSsl and Pop3Stls represent two different approaches to TLS security:

  • PopSsl = true means the connection begins as SSL/TLS from the very start (implicit TLS).
  • Pop3Stls = true means the connection begins unencrypted and is later upgraded to TLS using the POP3 STLS command (explicit TLS).

These two approaches are mutually exclusive and should not both be enabled at the same time.

Modern POP3 servers most commonly use either:

  • 995 with PopSsl = true, or
  • 110 with Pop3Stls = true.

top
MaxCount
int CkMailManW_getMaxCount(HCkMailManW cHandle);
void CkMailManW_putMaxCount(HCkMailManW cHandle, int newVal);

Limits the number of messages Chilkat attempts to retrieve from the POP3 server in a single method call.

This is useful for large mailboxes. For example, setting MaxCount = 100 allows an application to download messages in batches of 100.

top
OAuth2AccessToken
void CkMailManW_getOAuth2AccessToken(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putOAuth2AccessToken(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_oAuth2AccessToken(HCkMailManW cHandle);
Introduced in version 9.5.0.44

Specifies the OAuth2 access token to be used for POP3 or SMTP XOAUTH2 authentication.

When this property is set, Chilkat will use the SMTP or POP3 AUTH XOAUTH2 authentication mechanism if supported by the server.

For POP3 XOAUTH2 authentication:

  • PopPassword should be left empty, or explicitly set to the empty string.
  • SmtpPassword should be left unset, or set to the empty string.

The OAuth2 access token is sent as a bearer token during the AUTH XOAUTH2 authentication exchange.

top
OpaqueSigning
BOOL CkMailManW_getOpaqueSigning(HCkMailManW cHandle);
void CkMailManW_putOpaqueSigning(HCkMailManW cHandle, BOOL newVal);

Controls the MIME format used for digitally signed email.

When set to FALSE, Chilkat creates a multipart/signed email. In this format, the original email content remains visible as a normal MIME body part, and the digital signature is included as a separate MIME part.

The top-level MIME Content-Type header will look similar to:

Content-Type: multipart/signed;
    protocol="application/pkcs7-signature";
    micalg=sha-256;
    boundary="------------040808030405050402070604"

This is commonly referred to as a detached signature because the signed content exists separately from the signature itself.

When set to TRUE, Chilkat creates an opaque signed email using PKCS#7 signed-data format. In this case, the original MIME content is encapsulated inside the PKCS#7 signature structure.

The top-level MIME Content-Type header will look similar to:

Content-Type: application/pkcs7-mime;
    smime-type="signed-data";
    name="smime.p7m"; micalg=sha-256

This format is historically known as opaque signing because the original message content is wrapped inside the PKCS#7 signed object and is not directly visible as ordinary MIME body parts.

The default value is TRUE.

top
P7mEncryptAttachFilename
void CkMailManW_getP7mEncryptAttachFilename(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putP7mEncryptAttachFilename(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_p7mEncryptAttachFilename(HCkMailManW cHandle);
Introduced in version 9.5.0.30

Specifies the filename used in the Content-Disposition header when sending a PKCS#7 encrypted email.

The default value is smime.p7m.

top
P7mSigAttachFilename
void CkMailManW_getP7mSigAttachFilename(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putP7mSigAttachFilename(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_p7mSigAttachFilename(HCkMailManW cHandle);
Introduced in version 9.5.0.30

Specifies the filename used in the Content-Disposition header when sending an opaque signed PKCS#7 email.

The default value is smime.p7m.

top
P7sSigAttachFilename
void CkMailManW_getP7sSigAttachFilename(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putP7sSigAttachFilename(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_p7sSigAttachFilename(HCkMailManW cHandle);
Introduced in version 9.5.0.30

Specifies the filename used in the Content-Disposition header when sending a signed email with a detached PKCS#7 signature.

The default value is smime.p7s.

top
PercentDoneScale
int CkMailManW_getPercentDoneScale(HCkMailManW cHandle);
void CkMailManW_putPercentDoneScale(HCkMailManW cHandle, int newVal);
Introduced in version 9.5.0.49

This property is only valid in programming environments and languages that allow for event callbacks.

Sets the value that represents 100% completion for PercentDone event callbacks.

The default value is 100, meaning progress values range from 0 to 100. Setting this property to a larger value provides finer granularity. For example, setting PercentDoneScale = 1000 allows progress to be reported in tenths of a percent.

For example, if PercentDoneScale = 1000, then a callback value of 453 represents 45.3% complete.

The value is clamped to a minimum of 10 and a maximum of 100000.

top
Pop3SessionId
int CkMailManW_getPop3SessionId(HCkMailManW cHandle);

Returns 0 when no POP3 session is active.

Otherwise, returns a positive integer that increments each time a new POP3 session is established. This can be used to detect whether a new session has started.

top
Pop3SessionLog
void CkMailManW_getPop3SessionLog(HCkMailManW cHandle, HCkString retval);
const wchar_t *CkMailManW_pop3SessionLog(HCkMailManW cHandle);

Contains the accumulated raw POP3 commands sent to the server and the raw responses received from the server.

This property is read-only. To clear it, call ClearPop3SessionLog.

More Information and Examples
top
Pop3SPA
BOOL CkMailManW_getPop3SPA(HCkMailManW cHandle);
void CkMailManW_putPop3SPA(HCkMailManW cHandle, BOOL newVal);

Controls whether SPA, also known as NTLM authentication, is used for POP3.

Set this property to TRUE to use SPA authentication. No other programming changes are required.

The default value is FALSE.

Note: If SPA/NTLM authentication fails, set Global.DefaultNtlmVersion = 1 and retry.

top
Pop3SslServerCertVerified
BOOL CkMailManW_getPop3SslServerCertVerified(HCkMailManW cHandle);

Indicates whether the POP3 server's SSL/TLS certificate was successfully verified during the connection.

This property is meaningful only when connecting via SSL/TLS.

top
Pop3Stls
BOOL CkMailManW_getPop3Stls(HCkMailManW cHandle);
void CkMailManW_putPop3Stls(HCkMailManW cHandle, BOOL newVal);

Controls whether Chilkat requires the POP3 connection to be upgraded to TLS using the STLS command.

When set to TRUE, Chilkat initially connects without encryption, typically on port 110, and then sends STLS to convert the connection to TLS.

Use this only with POP3 servers known to support STLS. When this property is TRUE, PopSsl should be FALSE.

The default value is FALSE.

More Information and Examples
top
Pop3StlsIfPossible
BOOL CkMailManW_getPop3StlsIfPossible(HCkMailManW cHandle);
void CkMailManW_putPop3StlsIfPossible(HCkMailManW cHandle, BOOL newVal);
Introduced in version 9.5.0.92

Controls whether Chilkat uses POP3 STLS automatically when the server supports it.

If the server supports STLS, the connection is upgraded to TLS. If the server does not support STLS, the connection remains unencrypted.

The default value is FALSE.

top
PopPassword
void CkMailManW_getPopPassword(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putPopPassword(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_popPassword(HCkMailManW cHandle);

Specifies the POP3 password.

On Windows, if Pop3SPA is enabled, both PopUsername and PopPassword may be set to "default" to use the credentials of the current logged-on Windows user.

top
PopPasswordBase64
void CkMailManW_getPopPasswordBase64(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putPopPasswordBase64(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_popPasswordBase64(HCkMailManW cHandle);

Provides a way to specify the POP3 password as a Base64-encoded string.

top
PopSsl
BOOL CkMailManW_getPopSsl(HCkMailManW cHandle);
void CkMailManW_putPopSsl(HCkMailManW cHandle, BOOL newVal);

Controls whether implicit SSL/TLS is used when connecting to the POP3 server.

When set to TRUE, the TLS connection is established immediately when connecting. The POP3 SSL/TLS port is typically 995.

The default value is FALSE.

top
PopUsername
void CkMailManW_getPopUsername(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putPopUsername(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_popUsername(HCkMailManW cHandle);

Specifies the POP3 login name.

On Windows, if Pop3SPA is enabled, both PopUsername and PopPassword may be set to "default" to use the credentials of the current logged-on Windows user.

top
PreferIpv6
BOOL CkMailManW_getPreferIpv6(HCkMailManW cHandle);
void CkMailManW_putPreferIpv6(HCkMailManW cHandle, BOOL newVal);

Controls whether IPv6 is preferred over IPv4 when both are available for a hostname.

The default value is FALSE, which means IPv4 is preferred.

top
ReadTimeout
int CkMailManW_getReadTimeout(HCkMailManW cHandle);
void CkMailManW_putReadTimeout(HCkMailManW cHandle, int newVal);

Specifies the maximum number of seconds to wait when the SMTP or POP3 server stops responding.

The default value is 30 seconds.

More Information and Examples
top
RequireSslCertVerify
BOOL CkMailManW_getRequireSslCertVerify(HCkMailManW cHandle);
void CkMailManW_putRequireSslCertVerify(HCkMailManW cHandle, BOOL newVal);

Controls whether Chilkat requires SMTP and POP3 SSL/TLS server certificates to be successfully verified.

When set to TRUE, Chilkat rejects the connection if the server certificate is expired or if the certificate signature cannot be verified.

The default value is FALSE.

This property applies only to SSL/TLS connections.

top
ResetDateOnLoad
BOOL CkMailManW_getResetDateOnLoad(HCkMailManW cHandle);
void CkMailManW_putResetDateOnLoad(HCkMailManW cHandle, BOOL newVal);

Controls whether the email's Date header is reset to the current date and time when an email is loaded.

This applies to methods such as LoadMbx, LoadEml, LoadMime, LoadXml, and LoadXmlString.

The default value is FALSE.

top
SendBufferSize
int CkMailManW_getSendBufferSize(HCkMailManW cHandle);
void CkMailManW_putSendBufferSize(HCkMailManW cHandle, int newVal);

Specifies the buffer size used by the underlying TCP/IP socket when sending data.

The default value is 32767.

top
SendIndividual
BOOL CkMailManW_getSendIndividual(HCkMailManW cHandle);
void CkMailManW_putSendIndividual(HCkMailManW cHandle, BOOL newVal);

Controls how email is sent to distribution lists.

When TRUE, Chilkat sends one email per recipient. Each message has the recipient's address in the To header.

When FALSE, Chilkat sends messages in batches of up to 100 BCC recipients at a time.

For example, a distribution list with 350 recipients would result in four messages: three with 100 BCC recipients, and one with 50 BCC recipients.

The default value is TRUE.

top
SizeLimit
int CkMailManW_getSizeLimit(HCkMailManW cHandle);
void CkMailManW_putSizeLimit(HCkMailManW cHandle, int newVal);

Specifies the maximum size, in bytes, of messages Chilkat will retrieve from a POP3 server.

Messages larger than this limit are not downloaded.

The default value is 0, which means no size limit.

top
SmtpAuthMethod
void CkMailManW_getSmtpAuthMethod(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putSmtpAuthMethod(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_smtpAuthMethod(HCkMailManW cHandle);

Specifies the SMTP authentication method to use.

This property should usually be left empty so Chilkat can automatically choose the most secure method advertised by the SMTP server.

If the server does not advertise authentication methods, or if a specific method must be forced, set this property to one of: NONE, LOGIN, PLAIN, CRAM-MD5, or NTLM.

Note: If NTLM authentication fails, set Global.DefaultNtlmVersion = 1 and retry.

top
SmtpFailReason
void CkMailManW_getSmtpFailReason(HCkMailManW cHandle, HCkString retval);
const wchar_t *CkMailManW_smtpFailReason(HCkMailManW cHandle);
Introduced in version 9.5.0.48

Contains a keyword describing the result or failure reason for the last SMTP operation.

Success: The method succeeded.
Failed: A general failure occurred.
NoValidRecipients: The SMTP server rejected all recipients.
NoRecipients: No To, CC, or BCC recipients were provided.
SomeBadRecipients: AllOrNone is TRUE and some recipients were rejected.
Aborted: The application aborted the operation.
NoFrom: No FROM address was provided.
FromFailure: The server rejected the MAIL FROM command.
NoCredentials: Required credentials were not provided.
AuthFailure: SMTP authentication failed.
DataFailure: The server returned an error in response to DATA.
NoSmtpHostname: No SMTP hostname or IP address was provided.
StartTlsFailed: Failed to upgrade the connection using STARTTLS.
ConnectFailed: Could not establish the TCP or TLS connection.
GreetingError: The SMTP server returned an error in the initial greeting.
ConnectionLost: The SMTP connection was lost during the operation.
Timeout: A socket read or write timeout occurred.
RenderFailed: The email could not be rendered for sending.
NotUnlocked: UnlockBundle was not called on at least one MailMan instance.
InternalFailure: An internal failure occurred and should be reported to Chilkat support.

top
SmtpHost
void CkMailManW_getSmtpHost(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putSmtpHost(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_smtpHost(HCkMailManW cHandle);

Specifies the SMTP server hostname or IP address.

Do not include http:// or https://. The value may be a hostname, IPv4 address, or IPv6 address.

More Information and Examples
top
SmtpLoginDomain
void CkMailManW_getSmtpLoginDomain(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putSmtpLoginDomain(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_smtpLoginDomain(HCkMailManW cHandle);

Specifies the Windows domain to use when logging in to an SMTP server with NTLM authentication.

Leave this property empty if no domain is required.

top
SmtpMailFrom
void CkMailManW_getSmtpMailFrom(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putSmtpMailFrom(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_smtpMailFrom(HCkMailManW cHandle);
Introduced in version 11.0.0

Specifies the SMTP envelope sender address used in the MAIL FROM command.

This address receives bounce messages and identifies the originator of the SMTP transaction. It may differ from the From MIME header.

If left empty, Chilkat uses the email address from the message's From header.

SMTP servers may reject the envelope sender based on DNS, SPF, or other server policy checks.

top
SmtpPassword
void CkMailManW_getSmtpPassword(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putSmtpPassword(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_smtpPassword(HCkMailManW cHandle);

Specifies the password used for SMTP authentication.

Chilkat supports SMTP authentication methods such as LOGIN, PLAIN, CRAM-MD5, and NTLM, and normally chooses the most secure available method automatically.

If NTLM authentication is used, SmtpUsername and SmtpPassword may be set to the keyword "default" to use the current Windows logged-on credentials.

top
SmtpPipelining
BOOL CkMailManW_getSmtpPipelining(HCkMailManW cHandle);
void CkMailManW_putSmtpPipelining(HCkMailManW cHandle, BOOL newVal);
Introduced in version 9.5.0.49

Controls whether SMTP pipelining is used when the server advertises support for it.

The default value is TRUE.

Set this property to FALSE to prevent SMTP pipelining. This is required when using AllOrNone.

top
SmtpPort
int CkMailManW_getSmtpPort(HCkMailManW cHandle);
void CkMailManW_putSmtpPort(HCkMailManW cHandle, int newVal);

Specifies the SMTP server port.

The default value is 25. If using implicit SSL/TLS with SmtpSsl = TRUE, the common port is 465.

top
SmtpSessionLog
void CkMailManW_getSmtpSessionLog(HCkMailManW cHandle, HCkString retval);
const wchar_t *CkMailManW_smtpSessionLog(HCkMailManW cHandle);

Contains the accumulated raw SMTP commands sent to the server and raw responses received from the server.

This property is read-only. To clear it, call ClearSmtpSessionLog.

More Information and Examples
top
SmtpSsl
BOOL CkMailManW_getSmtpSsl(HCkMailManW cHandle);
void CkMailManW_putSmtpSsl(HCkMailManW cHandle, BOOL newVal);

Controls whether Chilkat uses implicit SSL/TLS when connecting to the SMTP server.

When set to TRUE, the TLS connection is established immediately when the TCP connection is opened.

top
SmtpSslServerCertVerified
BOOL CkMailManW_getSmtpSslServerCertVerified(HCkMailManW cHandle);

Indicates whether the SMTP server's SSL/TLS certificate was successfully verified during the connection.

This property is meaningful only when an SSL/TLS SMTP connection is used.

top
SmtpUsername
void CkMailManW_getSmtpUsername(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putSmtpUsername(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_smtpUsername(HCkMailManW cHandle);

Specifies the username used for SMTP authentication.

If SmtpAuthMethod is NTLM, SmtpUsername and SmtpPassword may be set to the keyword "default" to use the current Windows logged-on credentials.

More Information and Examples
top
SocksHostname
void CkMailManW_getSocksHostname(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putSocksHostname(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_socksHostname(HCkMailManW cHandle);

Specifies the SOCKS4 or SOCKS5 proxy hostname or IPv4 address.

This property is used only when SocksVersion is set to 4 or 5.

top
SocksPassword
void CkMailManW_getSocksPassword(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putSocksPassword(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_socksPassword(HCkMailManW cHandle);

Specifies the SOCKS5 proxy password, if authentication is required.

SOCKS4 does not use passwords, so this property applies only to SOCKS5.

top
SocksPort
int CkMailManW_getSocksPort(HCkMailManW cHandle);
void CkMailManW_putSocksPort(HCkMailManW cHandle, int newVal);

Specifies the SOCKS proxy port.

The default value is 1080. This property applies only when SocksVersion is set to 4 or 5.

top
SocksUsername
void CkMailManW_getSocksUsername(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putSocksUsername(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_socksUsername(HCkMailManW cHandle);

Specifies the SOCKS4 or SOCKS5 proxy username.

This property is used only when SocksVersion is set to 4 or 5.

top
SocksVersion
int CkMailManW_getSocksVersion(HCkMailManW cHandle);
void CkMailManW_putSocksVersion(HCkMailManW cHandle, int newVal);

Specifies whether a SOCKS proxy is used.

  • 0 — no SOCKS proxy is used. This is the default.
  • 4 — connect through a SOCKS4 proxy.
  • 5 — connect through a SOCKS5 proxy.

top
SoRcvBuf
int CkMailManW_getSoRcvBuf(HCkMailManW cHandle);
void CkMailManW_putSoRcvBuf(HCkMailManW cHandle, int newVal);

Sets the socket receive buffer size.

The default value is 4194304.

This property should normally be left unchanged. It may be increased if download performance is slow. Values should preferably be multiples of 4096.

top
SoSndBuf
int CkMailManW_getSoSndBuf(HCkMailManW cHandle);
void CkMailManW_putSoSndBuf(HCkMailManW cHandle, int newVal);

Sets the socket send buffer size.

The default value is 262144.

This property should normally be left unchanged. It may be increased if upload performance is slow. Testing values such as 512K or 1MB is reasonable. Values should preferably be multiples of 4096.

top
SslAllowedCiphers
void CkMailManW_getSslAllowedCiphers(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putSslAllowedCiphers(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_sslAllowedCiphers(HCkMailManW cHandle);
Introduced in version 9.5.0.48

Specifies the TLS cipher suites Chilkat is allowed to offer when establishing SSL/TLS connections.

The default value is an empty string, meaning Chilkat may offer all implemented cipher suites. To restrict the allowed ciphers, set this property to a comma-separated list of cipher suite names, ordered by preference.

The cipher suites supported by Chilkat are:

TLS 1.3 Cipher Suites
  • TLS_AES_128_GCM_SHA256
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_256_GCM_SHA384
ChaCha20-Poly1305 Cipher Suites
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
  • TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
AES-GCM Cipher Suites
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
AES-128 CBC Cipher Suites
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
AES-256 CBC Cipher Suites
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_AES_256_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  • TLS_RSA_WITH_AES_256_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

Important: The client offers a list of allowed cipher suites, but the server chooses the final cipher suite from that list.

This property can also include special keywords:

  • rsa1024 — reject server certificates with RSA keys smaller than 1024 bits.
  • rsa2048 — reject server certificates with RSA keys smaller than 2048 bits.
  • secure-renegotiation — require secure renegotiation as defined by RFC 5746.
  • best-practices — use Chilkat's current best-practice cipher policy.

The best-practices setting currently requires RSA server keys of at least 1024 bits, requires secure renegotiation, and disallows RC4, DES, and 3DES ciphers.

Example:

TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, rsa1024, secure-renegotiation

top
SslProtocol
void CkMailManW_getSslProtocol(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putSslProtocol(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_sslProtocol(HCkMailManW cHandle);
Introduced in version 9.5.0.46

Selects the SSL/TLS protocol version used for secure SMTP and POP3 connections.

Possible values include:

  • default
  • TLS 1.3
  • TLS 1.2
  • TLS 1.1
  • TLS 1.0
  • SSL 3.0
  • TLS 1.3 or higher
  • TLS 1.2 or higher
  • TLS 1.1 or higher
  • TLS 1.0 or higher

The default value is default, which allows Chilkat to choose the protocol dynamically based on the server's requirements.

Choosing an exact protocol version can cause the connection to fail unless that exact version is negotiated. In most cases, using an or higher setting is preferable.

top
StartTLS
BOOL CkMailManW_getStartTLS(HCkMailManW cHandle);
void CkMailManW_putStartTLS(HCkMailManW cHandle, BOOL newVal);

Controls whether Chilkat requires SMTP STARTTLS.

When set to TRUE, Chilkat connects to the SMTP server normally and then sends the STARTTLS command to upgrade the connection to SSL/TLS before authenticating and sending email.

The default value is FALSE.

This property applies to SMTP only, not POP3.

More Information and Examples
top
StartTLSifPossible
BOOL CkMailManW_getStartTLSifPossible(HCkMailManW cHandle);
void CkMailManW_putStartTLSifPossible(HCkMailManW cHandle, BOOL newVal);
Introduced in version 9.5.0.67

Controls whether Chilkat uses SMTP STARTTLS automatically when the server supports it.

When set to TRUE, Chilkat upgrades the SMTP connection to TLS if the server advertises STARTTLS support. If STARTTLS is not supported, the connection remains unencrypted.

The default value is TRUE.

Use StartTLS = TRUE instead when encryption is required and the connection should fail if STARTTLS is unavailable.

This property applies to SMTP only, not POP3.

top
TlsCipherSuite
void CkMailManW_getTlsCipherSuite(HCkMailManW cHandle, HCkString retval);
const wchar_t *CkMailManW_tlsCipherSuite(HCkMailManW cHandle);
Introduced in version 9.5.0.49

Contains the current or most recently negotiated TLS cipher suite.

If no TLS connection has been established, or if the TLS connection attempt failed, this property is empty.

Example value:

TLS_DHE_RSA_WITH_AES_256_CBC_SHA256

top
TlsPinSet
void CkMailManW_getTlsPinSet(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putTlsPinSet(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_tlsPinSet(HCkMailManW cHandle);
Introduced in version 9.5.0.55

Specifies the expected SPKI fingerprints for TLS public key pinning.

During the TLS handshake, Chilkat compares the server certificate's public key fingerprint against this pin set. If none of the pins match, the TLS handshake is aborted and the connection fails.

The format is:

hash_algorithm, encoding, SPKI_fingerprint_1, SPKI_fingerprint_2, ...

Example with one SHA-256 Base64 pin:

sha256, base64, lKg1SIqyhPSK19tlPbjl8s02yChsVTDklQpkMCHvsTE=

Example with two SHA-256 Base64 pins:

sha256, base64, 4t37LpnGmrMEAG8HEz9yIrnvJV2euVRwCLb9EH5WZyI=, 68b0G5iqMvWVWvUCjMuhLEyekM5729PadtnU5tdXZKs=

Supported hash algorithms include sha1, sha256, sha384, sha512, md2, md5, haval, ripemd128, ripemd160, ripemd256, and ripemd320.

Supported encodings include base64, hex, and other Chilkat-supported encodings.

More Information and Examples
top
TlsVersion
void CkMailManW_getTlsVersion(HCkMailManW cHandle, HCkString retval);
const wchar_t *CkMailManW_tlsVersion(HCkMailManW cHandle);
Introduced in version 9.5.0.49

Contains the current or most recently negotiated TLS protocol version.

If no TLS connection has been established, or if the TLS connection attempt failed, this property is empty.

Possible values include SSL 3.0, TLS 1.0, TLS 1.1, TLS 1.2, and TLS 1.3.

top
UncommonOptions
void CkMailManW_getUncommonOptions(HCkMailManW cHandle, HCkString retval);
void CkMailManW_putUncommonOptions(HCkMailManW cHandle, const wchar_t *newVal);
const wchar_t *CkMailManW_uncommonOptions(HCkMailManW cHandle);
Introduced in version 9.5.0.80

Provides a comma-separated list of uncommon option keywords.

This property defaults to an empty string and should normally remain empty.

  • ProtectFromVpn — introduced in v9.5.0.80. On Android, bypasses any installed or active VPN.
  • SmtpLoginAnsi — introduced in v9.5.0.97. Causes SMTP login and password strings containing non-ASCII characters to be sent using ANSI encoding instead of UTF-8. This restores the older Chilkat behavior for SMTP servers that expect ANSI credentials.

More Information and Examples
top
UseApop
BOOL CkMailManW_getUseApop(HCkMailManW cHandle);
void CkMailManW_putUseApop(HCkMailManW cHandle, BOOL newVal);

Controls whether Chilkat automatically uses APOP authentication when the POP3 server supports it.

The default value is FALSE.

top
VerboseLogging
BOOL CkMailManW_getVerboseLogging(HCkMailManW cHandle);
void CkMailManW_putVerboseLogging(HCkMailManW cHandle, BOOL newVal);

If set to TRUE, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may contain more verbose information. The default value is FALSE. Verbose logging should only be used for debugging. The potentially large quantity of logged information may adversely affect peformance.

top
Version
void CkMailManW_getVersion(HCkMailManW cHandle, HCkString retval);
const wchar_t *CkMailManW_version(HCkMailManW cHandle);

Version of the component/library, such as "10.1.0"

More Information and Examples
top

Methods

AddPfxSourceBd
BOOL CkMailManW_AddPfxSourceBd(HCkMailManW cHandle, HCkBinDataW bd, const wchar_t *password);
Introduced in version 11.0.0

Adds a PFX/PKCS#12 certificate store to the MailMan object's internal list of sources used for locating certificates and private keys.

The PFX data is supplied in the bd object, which should contain the bytes of a .pfx or .p12 file.

The added PFX source is searched when Chilkat needs a certificate and private key for operations such as:

  • Decrypting S/MIME encrypted email
  • Creating digitally signed email

Multiple PFX sources can be added by calling this method once for each PFX.

On Windows, the registry-based Windows certificate stores are automatically searched when locating certificates and private keys. Therefore, if the required certificate and private key are already installed in the Windows certificate store, explicitly adding a PFX source is often unnecessary.

On macOS, the Apple Keychain is also searched automatically. If the required certificate and private key are already available in the Apple Keychain, it is likewise unnecessary to explicitly add a PFX source.

The password argument specifies the password required to open the PFX.

Returns TRUE for success, FALSE for failure.

top
AddPfxSourceFile
BOOL CkMailManW_AddPfxSourceFile(HCkMailManW cHandle, const wchar_t *pfxFilePath, const wchar_t *password);

Adds a PFX/PKCS#12 file to the MailMan object's internal list of sources used for locating certificates and private keys. The pfxFilePath argument is the path to a .pfx or .p12 file.

The added PFX source is searched when Chilkat needs a certificate and private key for operations such as:

  • Decrypting S/MIME encrypted email
  • Creating digitally signed email

Multiple PFX sources can be added by calling this method once for each PFX.

On Windows, the registry-based Windows certificate stores are automatically searched when locating certificates and private keys. Therefore, if the required certificate and private key are already installed in the Windows certificate store, explicitly adding a PFX source is often unnecessary.

On macOS, the Apple Keychain is also searched automatically. If the required certificate and private key are already available in the Apple Keychain, it is likewise unnecessary to explicitly add a PFX source.

The password argument specifies the password required to open the PFX.

Returns TRUE for success, FALSE for failure.

top
CheckMail
int CkMailManW_CheckMail(HCkMailManW cHandle);

Returns the number of emails currently available in the POP3 mailbox. Returns -1 if an error occurs.

If this method fails, use VerifyPopConnection to test basic TCP/IP connectivity to the POP3 server, and VerifyPopLogin to test whether the POP3 login succeeds. The Verify* methods are intended as diagnostic helpers when a POP3 operation returns an error.

top
CheckMailAsync (1)
HCkTaskW CkMailManW_CheckMailAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the CheckMail method with the arguments provided.

Returns NULL on failure

top
ClearBadEmailAddresses
void CkMailManW_ClearBadEmailAddresses(HCkMailManW cHandle);

Clears the MailMan object's in-memory list of bad email addresses.

When an email-sending method is called, email addresses rejected by the SMTP server are cached in the MailMan object. These rejected addresses can be retrieved by calling GetBadEmailAddresses. This method clears that cached list so the object starts with no remembered bad addresses.

top
ClearPop3SessionLog
void CkMailManW_ClearPop3SessionLog(HCkMailManW cHandle);

Clears the current contents of the Pop3SessionLog property.

top
ClearSmtpSessionLog
void CkMailManW_ClearSmtpSessionLog(HCkMailManW cHandle);

Clears the current contents of the SmtpSessionLog property.

top
CloseSmtpConnection
BOOL CkMailManW_CloseSmtpConnection(HCkMailManW cHandle);

Explicitly closes the current SMTP connection. Before closing the socket connection, Chilkat sends the SMTP QUIT command to the server.

Calling this method is optional in most applications. The MailMan object automatically opens an SMTP connection when an email-sending method is called and no connection is already open. The connection is then kept open so subsequent sends can reuse it. For example, if an application calls SendEmail ten times, the first call opens the SMTP connection, and the following calls send over the same connection.

If an SMTP-related property changes, such as the hostname, username, password, port, or SSL/TLS settings, the existing connection is closed and a new connection is established the next time an email-sending method is called.

The SMTP connection is also closed automatically when the MailMan object is destroyed.

Returns TRUE for success, FALSE for failure.

More Information and Examples
top
CloseSmtpConnectionAsync (1)
HCkTaskW CkMailManW_CloseSmtpConnectionAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the CloseSmtpConnection method with the arguments provided.

Returns NULL on failure

top
DeleteBundle
BOOL CkMailManW_DeleteBundle(HCkMailManW cHandle, HCkEmailBundleW emailBundle);

Marks multiple emails on the POP3 server for deletion. Each email in emailBundle that is still present in the POP3 mailbox is marked for deletion.

In POP3, messages marked for deletion are not permanently removed until the session ends with the QUIT command. If the ImmediateDelete property is TRUE, which is the default, Chilkat sends QUIT and ends the POP3 session automatically so the deletions are completed immediately. If ImmediateDelete is FALSE, call Pop3EndSession when finished to send QUIT and finalize the deletions.

When making multiple calls to Delete* methods, it is usually better to set ImmediateDelete to FALSE, perform all deletion markings, and then call Pop3EndSession once.

Any method that requires communication with the POP3 server will automatically re-establish a session using the current property settings if a session is not already open.

Returns TRUE for success, FALSE for failure.

top
DeleteBundleAsync (1)
HCkTaskW CkMailManW_DeleteBundleAsync(HCkMailManW cHandle, HCkEmailBundleW emailBundle);

Creates an asynchronous task to call the DeleteBundle method with the arguments provided.

Returns NULL on failure

top
DeleteByMsgnum
BOOL CkMailManW_DeleteByMsgnum(HCkMailManW cHandle, int msgnum);

Marks an email for deletion by its POP3 message number.

Important: Message numbers are specific to a single POP3 session and can change from one session to the next. For example, if a mailbox contains ten messages, they are numbered 1 through 10. If message 1 is deleted and a new POP3 session is opened, the remaining messages are renumbered 1 through 9.

A POP3 session must already be established before this method is called, either explicitly by calling Pop3BeginSession or implicitly by calling another method that opens the session. This method does not automatically begin a new session because doing so could change the message numbers and cause the application to delete a different message than intended.

This method only marks the message for deletion. The message is not removed from the POP3 mailbox until the session is ended by calling Pop3EndSession, which sends the QUIT command.

Returns TRUE for success, FALSE for failure.

top
DeleteByMsgnumAsync (1)
HCkTaskW CkMailManW_DeleteByMsgnumAsync(HCkMailManW cHandle, int msgnum);

Creates an asynchronous task to call the DeleteByMsgnum method with the arguments provided.

Returns NULL on failure

top
DeleteByUidl
BOOL CkMailManW_DeleteByUidl(HCkMailManW cHandle, const wchar_t *uidl);

Marks an email on the POP3 server for deletion using its UIDL. UIDLs are generally preferred over POP3 message numbers because UIDLs remain stable across sessions for as long as the message remains in the mailbox.

In POP3, messages marked for deletion are not permanently removed until the session ends with the QUIT command. If the ImmediateDelete property is TRUE, which is the default, Chilkat sends QUIT and ends the POP3 session automatically so the deletion is completed immediately. If ImmediateDelete is FALSE, call Pop3EndSession when finished to send QUIT and finalize the deletion.

When making multiple calls to Delete* methods, it is usually better to set ImmediateDelete to FALSE, perform all deletion markings, and then call Pop3EndSession once.

Any method that requires communication with the POP3 server will automatically re-establish a session using the current property settings if a session is not already open.

Returns TRUE for success, FALSE for failure.

top
DeleteByUidlAsync (1)
HCkTaskW CkMailManW_DeleteByUidlAsync(HCkMailManW cHandle, const wchar_t *uidl);

Creates an asynchronous task to call the DeleteByUidl method with the arguments provided.

Returns NULL on failure

top
DeleteEmail
BOOL CkMailManW_DeleteEmail(HCkMailManW cHandle, HCkEmailW email);

Marks the specified email for deletion on the POP3 server. The email object should represent a message that was retrieved from the same POP3 mailbox and can be matched to a message still present on the server.

In POP3, messages marked for deletion are not permanently removed until the session ends with the QUIT command. If the ImmediateDelete property is TRUE, which is the default, Chilkat sends QUIT and ends the POP3 session automatically so the deletion is completed immediately. If ImmediateDelete is FALSE, call Pop3EndSession when finished to send QUIT and finalize the deletion.

When making multiple calls to Delete* methods, it is usually better to set ImmediateDelete to FALSE, perform all deletion markings, and then call Pop3EndSession once.

Any method that requires communication with the POP3 server will automatically re-establish a session using the current property settings if a session is not already open.

Returns TRUE for success, FALSE for failure.

top
DeleteEmailAsync (1)
HCkTaskW CkMailManW_DeleteEmailAsync(HCkMailManW cHandle, HCkEmailW email);

Creates an asynchronous task to call the DeleteEmail method with the arguments provided.

Returns NULL on failure

top
DeleteUidlSet
BOOL CkMailManW_DeleteUidlSet(HCkMailManW cHandle, HCkStringTableW stUidls);
Introduced in version 11.1.0

Marks multiple emails on the POP3 server for deletion. Each message whose UIDL matches an entry in stUidls is marked for deletion.

In POP3, messages marked for deletion are not permanently removed until the session ends with the QUIT command. If the ImmediateDelete property is TRUE, which is the default, Chilkat sends QUIT and ends the POP3 session automatically so the deletions are completed immediately. If ImmediateDelete is FALSE, call Pop3EndSession when finished to send QUIT and finalize the deletions.

When making multiple calls to Delete* methods, it is usually better to set ImmediateDelete to FALSE, perform all deletion markings, and then call Pop3EndSession once.

Any method that requires communication with the POP3 server will automatically re-establish a session using the current property settings if a session is not already open.

Returns TRUE for success, FALSE for failure.

top
DeleteUidlSetAsync (1)
HCkTaskW CkMailManW_DeleteUidlSetAsync(HCkMailManW cHandle, HCkStringTableW stUidls);
Introduced in version 11.1.0

Creates an asynchronous task to call the DeleteUidlSet method with the arguments provided.

Returns NULL on failure

top
FetchAll
BOOL CkMailManW_FetchAll(HCkMailManW cHandle, BOOL keepOnServer, BOOL headersOnly, int numBodyLines, HCkEmailBundleW bundle);
Introduced in version 11.0.0

Retrieves all emails from the POP3 mailbox and stores them in bundle.

If headersOnly is TRUE, Chilkat downloads only the message headers and the first numBodyLines lines of the message body. Attachments are not downloaded. If headersOnly is FALSE, Chilkat downloads the complete messages, including attachments.

If keepOnServer is TRUE, the downloaded emails remain on the POP3 server. If keepOnServer is FALSE, the messages may be deleted from the server after full download, depending on the POP3 deletion/session behavior.

Note: keepOnServer applies only when downloading full emails. Header-only downloads do not delete messages from the server, regardless of the value of keepOnServer.

Returns TRUE for success, FALSE for failure.

More Information and Examples
top
FetchAllAsync (1)
HCkTaskW CkMailManW_FetchAllAsync(HCkMailManW cHandle, BOOL keepOnServer, BOOL headersOnly, int numBodyLines, HCkEmailBundleW bundle);
Introduced in version 11.0.0

Creates an asynchronous task to call the FetchAll method with the arguments provided.

Returns NULL on failure

top
FetchByUidl
BOOL CkMailManW_FetchByUidl(HCkMailManW cHandle, const wchar_t *uidl, BOOL headerOnly, int numBodyLines, HCkEmailW email);
Introduced in version 11.0.0

Retrieves an email from the POP3 server by UIDL and stores it in email. The message is not deleted from the server.

If headerOnly is TRUE, Chilkat downloads only the message headers and the first numBodyLines lines of the message body. Attachments are not downloaded. If headerOnly is FALSE, Chilkat downloads the complete message, including attachments.

Returns TRUE for success, FALSE for failure.

top
FetchByUidlAsync (1)
HCkTaskW CkMailManW_FetchByUidlAsync(HCkMailManW cHandle, const wchar_t *uidl, BOOL headerOnly, int numBodyLines, HCkEmailW email);
Introduced in version 11.0.0

Creates an asynchronous task to call the FetchByUidl method with the arguments provided.

Returns NULL on failure

top
FetchFull
BOOL CkMailManW_FetchFull(HCkMailManW cHandle, HCkEmailW partialEmail, HCkEmailW fullEmail);
Introduced in version 11.0.0

Downloads the full version of an email when partialEmail contains a previously retrieved header-only or partial message. The complete message is stored in fullEmail.

This is useful when an application first downloads headers or partial bodies to display a message list, and later needs to retrieve the complete message, including attachments, for one selected email.

Returns TRUE for success, FALSE for failure.

top
FetchFullAsync (1)
HCkTaskW CkMailManW_FetchFullAsync(HCkMailManW cHandle, HCkEmailW partialEmail, HCkEmailW fullEmail);
Introduced in version 11.0.0

Creates an asynchronous task to call the FetchFull method with the arguments provided.

Returns NULL on failure

top
FetchMimeBd
BOOL CkMailManW_FetchMimeBd(HCkMailManW cHandle, const wchar_t *uidl, HCkBinDataW mimeData);
Introduced in version 9.5.0.73

Fetches an email from the POP3 server by UIDL and stores the raw MIME source bytes in mimeData.

Returns TRUE for success, FALSE for failure.

More Information and Examples
top
FetchMimeBdAsync (1)
HCkTaskW CkMailManW_FetchMimeBdAsync(HCkMailManW cHandle, const wchar_t *uidl, HCkBinDataW mimeData);
Introduced in version 9.5.0.73

Creates an asynchronous task to call the FetchMimeBd method with the arguments provided.

Returns NULL on failure

top
FetchMimeByMsgnumBd
BOOL CkMailManW_FetchMimeByMsgnumBd(HCkMailManW cHandle, int msgnum, HCkBinDataW bd);
Introduced in version 11.0.0

Retrieves an email by POP3 message number and stores the raw MIME source bytes in bd.

Important: Message numbers are specific to a single POP3 session and can change from one session to the next. For example, if a mailbox contains ten messages, they are numbered 1 through 10. If message 1 is deleted and a new POP3 session is opened, the remaining messages are renumbered 1 through 9.

A POP3 session must already be established before this method is called, either explicitly by calling Pop3BeginSession or implicitly by calling another method that opens the session. This method does not automatically begin a new POP3 session because doing so could change the message numbers.

Returns TRUE for success, FALSE for failure.

top
FetchMimeByMsgnumBdAsync (1)
HCkTaskW CkMailManW_FetchMimeByMsgnumBdAsync(HCkMailManW cHandle, int msgnum, HCkBinDataW bd);
Introduced in version 11.0.0

Creates an asynchronous task to call the FetchMimeByMsgnumBd method with the arguments provided.

Returns NULL on failure

top
FetchOne
BOOL CkMailManW_FetchOne(HCkMailManW cHandle, BOOL headerOnly, int numBodyLines, int msgNum, HCkEmailW email);
Introduced in version 11.0.0

Retrieves a single email by POP3 message number and stores it in email. The first message in the POP3 mailbox has message number 1. Messages fetched by this method remain on the server.

If headerOnly is TRUE, Chilkat downloads only the message headers and the first numBodyLines lines of the message body. Attachments are not downloaded. If headerOnly is FALSE, Chilkat downloads the complete message, including attachments.

Note: Message numbers are specific to a single POP3 session and can change from one session to the next. Use UIDLs when messages need to be identified reliably across sessions.

Returns TRUE for success, FALSE for failure.

top
FetchOneAsync (1)
HCkTaskW CkMailManW_FetchOneAsync(HCkMailManW cHandle, BOOL headerOnly, int numBodyLines, int msgNum, HCkEmailW email);
Introduced in version 11.0.0

Creates an asynchronous task to call the FetchOne method with the arguments provided.

Returns NULL on failure

top
FetchRange
BOOL CkMailManW_FetchRange(HCkMailManW cHandle, BOOL keepOnServer, BOOL headersOnly, int numBodyLines, int startIndex, int endIndex, HCkEmailBundleW bundle);
Introduced in version 11.0.0

Retrieves a range of emails from the POP3 mailbox and stores them in bundle.

The range is specified by startIndex and endIndex. The first email has index 0. The GetMailboxCount method returns the total number of messages in the POP3 mailbox.

If headersOnly is TRUE, Chilkat downloads only the message headers and the first numBodyLines lines of each message body. Attachments are not downloaded. If headersOnly is FALSE, Chilkat downloads the complete messages, including attachments.

If keepOnServer is TRUE, the downloaded emails remain on the POP3 server. If keepOnServer is FALSE, the messages may be deleted from the server after full download, depending on the POP3 deletion/session behavior.

Note: keepOnServer applies only when downloading full emails. Header-only downloads do not delete messages from the server, regardless of the value of keepOnServer.

Returns TRUE for success, FALSE for failure.

top
FetchRangeAsync (1)
HCkTaskW CkMailManW_FetchRangeAsync(HCkMailManW cHandle, BOOL keepOnServer, BOOL headersOnly, int numBodyLines, int startIndex, int endIndex, HCkEmailBundleW bundle);
Introduced in version 11.0.0

Creates an asynchronous task to call the FetchRange method with the arguments provided.

Returns NULL on failure

top
FetchUidls
BOOL CkMailManW_FetchUidls(HCkMailManW cHandle, HCkStringTableW uidls);
Introduced in version 11.0.0

Retrieves the UIDLs of the messages currently stored in the POP3 mailbox and stores them in uidls.

A POP3 UIDL, or Unique ID Listing, is a persistent identifier assigned by the mail server to a message. Unlike POP3 message numbers, which can change between sessions, UIDLs remain consistent for as long as the message remains in the mailbox. This allows an application to track which messages have already been downloaded without relying on message numbers.

Returns TRUE for success, FALSE for failure.

top
FetchUidlsAsync (1)
HCkTaskW CkMailManW_FetchUidlsAsync(HCkMailManW cHandle, HCkStringTableW uidls);
Introduced in version 11.0.0

Creates an asynchronous task to call the FetchUidls method with the arguments provided.

Returns NULL on failure

top
FetchUidlSet
BOOL CkMailManW_FetchUidlSet(HCkMailManW cHandle, HCkStringTableW uidls, BOOL headersOnly, int numBodyLines, HCkEmailBundleW bundle);
Introduced in version 11.0.0

Retrieves the emails whose UIDLs are present in uidls and stores them in bundle. The downloaded messages are not deleted from the server.

If headersOnly is TRUE, Chilkat downloads only the message headers and the first numBodyLines lines of each message body. Attachments are not downloaded. If headersOnly is FALSE, Chilkat downloads the complete messages, including attachments.

Returns TRUE for success, FALSE for failure.

top
FetchUidlSetAsync (1)
HCkTaskW CkMailManW_FetchUidlSetAsync(HCkMailManW cHandle, HCkStringTableW uidls, BOOL headersOnly, int numBodyLines, HCkEmailBundleW bundle);
Introduced in version 11.0.0

Creates an asynchronous task to call the FetchUidlSet method with the arguments provided.

Returns NULL on failure

top
GetLastJsonData
void CkMailManW_GetLastJsonData(HCkMailManW cHandle, HCkJsonObjectW json);
Introduced in version 11.0.0

Provides information about what transpired in the last method called on this object instance. For many methods, there is no information. However, for some methods, details about what occurred can be obtained by getting the LastJsonData right after the method call returns.

top
GetMailboxCount
int CkMailManW_GetMailboxCount(HCkMailManW cHandle);

Returns the number of emails currently available in the POP3 mailbox. Returns -1 if an error occurs.

This method is functionally identical to CheckMail.

top
GetMailboxCountAsync (1)
HCkTaskW CkMailManW_GetMailboxCountAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the GetMailboxCount method with the arguments provided.

Returns NULL on failure

top
GetMailboxInfoXml
BOOL CkMailManW_GetMailboxInfoXml(HCkMailManW cHandle, const wchar_t *outXml);
const wchar_t *CkMailManW_getMailboxInfoXml(HCkMailManW cHandle);

Returns an XML document containing information about the messages currently stored in the POP3 mailbox.

The XML includes the UIDL and size, in bytes, for each message in the mailbox. This is useful for scanning mailbox state without downloading the full messages.

Returns TRUE for success, FALSE for failure.

More Information and Examples
top
GetMailboxInfoXmlAsync (1)
HCkTaskW CkMailManW_GetMailboxInfoXmlAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the GetMailboxInfoXml method with the arguments provided.

Returns NULL on failure

top
GetMailboxSize
unsigned long CkMailManW_GetMailboxSize(HCkMailManW cHandle);

Returns the total combined size, in bytes, of all emails currently stored in the POP3 mailbox. This is also known as the POP3 maildrop size.

Returns -1 on failure.

top
GetMailboxSizeAsync (1)
HCkTaskW CkMailManW_GetMailboxSizeAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the GetMailboxSize method with the arguments provided.

Returns NULL on failure

top
GetServerCert
BOOL CkMailManW_GetServerCert(HCkMailManW cHandle, BOOL useSmtp, HCkCertW cert);
Introduced in version 11.0.0

Gets the digital certificate presented by the SMTP or POP3 server for the current SSL/TLS connection and stores it in cert.

If useSmtp is TRUE, Chilkat returns the certificate for the SMTP connection. If useSmtp is FALSE, Chilkat returns the certificate for the POP3 connection.

This method applies only when the current connection uses SSL/TLS.

Returns TRUE for success, FALSE for failure.

top
GetSizeByUidl
int CkMailManW_GetSizeByUidl(HCkMailManW cHandle, const wchar_t *uidl);

Returns the size, in bytes, of the email on the POP3 server identified by uidl. The size includes the full message content, including attachments.

Returns -1 if an error occurs.

top
GetSizeByUidlAsync (1)
HCkTaskW CkMailManW_GetSizeByUidlAsync(HCkMailManW cHandle, const wchar_t *uidl);

Creates an asynchronous task to call the GetSizeByUidl method with the arguments provided.

Returns NULL on failure

top
IsSmtpDsnCapable
BOOL CkMailManW_IsSmtpDsnCapable(HCkMailManW cHandle);

Contacts the SMTP server and determines whether it supports the DSN, or Delivery Status Notification, extension defined by RFC 3461.

DSN support is used with properties such as DsnEnvid, DsnNotify, and DsnRet. Returns TRUE if the SMTP server advertises DSN support, otherwise returns FALSE.

top
IsSmtpDsnCapableAsync (1)
HCkTaskW CkMailManW_IsSmtpDsnCapableAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the IsSmtpDsnCapable method with the arguments provided.

Returns NULL on failure

top
LoadMbxFile
BOOL CkMailManW_LoadMbxFile(HCkMailManW cHandle, const wchar_t *mbxPath, HCkEmailBundleW bundle);
Introduced in version 11.0.0

Loads emails from a .mbx mailbox file and stores them in bundle.

If a filter has been configured, only the emails matching the filter are returned. Returns TRUE for success and FALSE for failure.

Returns TRUE for success, FALSE for failure.

top
LoadTaskCaller
BOOL CkMailManW_LoadTaskCaller(HCkMailManW cHandle, HCkTaskW task);
Introduced in version 9.5.0.80

Loads the caller of the task's async method.

Returns TRUE for success, FALSE for failure.

top
OpenSmtpConnection
BOOL CkMailManW_OpenSmtpConnection(HCkMailManW cHandle);

Explicitly opens a connection to the SMTP server and authenticates if a username and password, OAuth2 token, or other applicable authentication settings have been provided.

Calling this method is optional. Email-sending methods such as SendEmail automatically open and authenticate the SMTP connection when needed.

This method is equivalent to calling SmtpConnect followed by SmtpAuthenticate.

Returns TRUE for success, FALSE for failure.

top
OpenSmtpConnectionAsync (1)
HCkTaskW CkMailManW_OpenSmtpConnectionAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the OpenSmtpConnection method with the arguments provided.

Returns NULL on failure

top
Pop3Authenticate
BOOL CkMailManW_Pop3Authenticate(HCkMailManW cHandle);
Introduced in version 9.5.0.56

Authenticates with the POP3 server using the current POP3 property settings, such as PopUsername, PopPassword, and any authentication-related options.

This method should be called only after a successful call to Pop3Connect. The Pop3BeginSession method performs both steps and is equivalent to calling Pop3Connect followed by Pop3Authenticate.

Calling this method is optional in most applications because POP3 methods that communicate with the server automatically connect and authenticate if no authenticated session is already open.

Returns TRUE for success, FALSE for failure.

top
Pop3AuthenticateAsync (1)
HCkTaskW CkMailManW_Pop3AuthenticateAsync(HCkMailManW cHandle);
Introduced in version 9.5.0.56

Creates an asynchronous task to call the Pop3Authenticate method with the arguments provided.

Returns NULL on failure

top
Pop3BeginSession
BOOL CkMailManW_Pop3BeginSession(HCkMailManW cHandle);

Explicitly begins a POP3 session by connecting to the POP3 server and authenticating using the current POP3 property settings.

Calling this method is optional. Any method that requires an established POP3 session automatically connects and logs in if a session is not already open.

Returns TRUE for success, FALSE for failure.

More Information and Examples
top
Pop3BeginSessionAsync (1)
HCkTaskW CkMailManW_Pop3BeginSessionAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the Pop3BeginSession method with the arguments provided.

Returns NULL on failure

top
Pop3Connect
BOOL CkMailManW_Pop3Connect(HCkMailManW cHandle);
Introduced in version 9.5.0.56

Explicitly connects to the POP3 server. If SSL/TLS is required by the current property settings, the secure TLS channel is established as part of this call. This method receives the server's initial greeting but does not authenticate.

After Pop3Connect succeeds, call Pop3Authenticate to log in. The Pop3BeginSession method performs both steps and is equivalent to calling Pop3Connect followed by Pop3Authenticate.

Calling this method is optional in most applications because POP3 methods that communicate with the server automatically connect and authenticate if no authenticated session is already open. When finished with the POP3 server, call Pop3EndSession or Pop3EndSessionNoQuit to disconnect.

Returns TRUE for success, FALSE for failure.

top
Pop3ConnectAsync (1)
HCkTaskW CkMailManW_Pop3ConnectAsync(HCkMailManW cHandle);
Introduced in version 9.5.0.56

Creates an asynchronous task to call the Pop3Connect method with the arguments provided.

Returns NULL on failure

top
Pop3EndSession
BOOL CkMailManW_Pop3EndSession(HCkMailManW cHandle);

Explicitly ends the current POP3 session. Chilkat sends the POP3 QUIT command and then closes the connection to the POP3 server.

If ImmediateDelete is FALSE, any messages previously marked for deletion are deleted when this method sends QUIT and the POP3 session ends.

Returns TRUE for success, FALSE for failure.

top
Pop3EndSessionAsync (1)
HCkTaskW CkMailManW_Pop3EndSessionAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the Pop3EndSession method with the arguments provided.

Returns NULL on failure

top
Pop3EndSessionNoQuit
BOOL CkMailManW_Pop3EndSessionNoQuit(HCkMailManW cHandle);

Closes the POP3 connection without sending the QUIT command.

This differs from Pop3EndSession, which sends QUIT before disconnecting. Because POP3 deletions are normally finalized when QUIT is sent, use this method only when the application intentionally wants to disconnect without completing the normal session-ending command sequence.

This method should always return TRUE.

top
Pop3EndSessionNoQuitAsync (1)
HCkTaskW CkMailManW_Pop3EndSessionNoQuitAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the Pop3EndSessionNoQuit method with the arguments provided.

Returns NULL on failure

top
Pop3Noop
BOOL CkMailManW_Pop3Noop(HCkMailManW cHandle);

Sends a POP3 NOOP command to the server.

This can be useful for keeping a POP3 session alive or for verifying that the current POP3 connection is still open and functioning.

Returns TRUE for success, FALSE for failure.

top
Pop3NoopAsync (1)
HCkTaskW CkMailManW_Pop3NoopAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the Pop3Noop method with the arguments provided.

Returns NULL on failure

top
Pop3Reset
BOOL CkMailManW_Pop3Reset(HCkMailManW cHandle);

Sends a POP3 RSET command to the server.

If any messages have been marked for deletion during the current POP3 session, RSET unmarks them. This resets the deletion state of the POP3 session to a known valid starting point.

Returns TRUE for success, FALSE for failure.

top
Pop3ResetAsync (1)
HCkTaskW CkMailManW_Pop3ResetAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the Pop3Reset method with the arguments provided.

Returns NULL on failure

top
Pop3SendRawCommand
BOOL CkMailManW_Pop3SendRawCommand(HCkMailManW cHandle, const wchar_t *command, const wchar_t *charset, const wchar_t *outStr);
const wchar_t *CkMailManW_pop3SendRawCommand(HCkMailManW cHandle, const wchar_t *command, const wchar_t *charset);

Sends a raw command to the POP3 server and returns the server's response.

If command contains non-US-ASCII characters, charset specifies the character set used to encode the command before it is sent. Examples include utf-8, ansi, iso-8859-1, and Shift_JIS.

This method is intended for advanced use, diagnostics, or issuing POP3 commands not directly exposed by higher-level MailMan methods.

Returns TRUE for success, FALSE for failure.

top
Pop3SendRawCommandAsync (1)
HCkTaskW CkMailManW_Pop3SendRawCommandAsync(HCkMailManW cHandle, const wchar_t *command, const wchar_t *charset);

Creates an asynchronous task to call the Pop3SendRawCommand method with the arguments provided.

Returns NULL on failure

top
QuickSend
BOOL CkMailManW_QuickSend(HCkMailManW cHandle, const wchar_t *fromAddr, const wchar_t *toAddr, const wchar_t *subject, const wchar_t *body, const wchar_t *smtpServer);

Sends a simple email to a single recipient without requiring the application to explicitly create an Email object.

The fromAddr argument is the sender address, toAddr is the recipient address, subject is the message subject, body is the plain-text body, and smtpServer is the SMTP server hostname.

This method is convenient for simple cases. For attachments, HTML email, CC/BCC recipients, alternate bodies, signing, encryption, or more control over headers and SMTP behavior, create an Email object and use SendEmail instead.

Returns TRUE for success, FALSE for failure.

top
QuickSendAsync (1)
HCkTaskW CkMailManW_QuickSendAsync(HCkMailManW cHandle, const wchar_t *fromAddr, const wchar_t *toAddr, const wchar_t *subject, const wchar_t *body, const wchar_t *smtpServer);

Creates an asynchronous task to call the QuickSend method with the arguments provided.

Returns NULL on failure

top
RenderToMime
BOOL CkMailManW_RenderToMime(HCkMailManW cHandle, HCkEmailW email, const wchar_t *outStr);
const wchar_t *CkMailManW_renderToMime(HCkMailManW cHandle, HCkEmailW email);

Renders an Email object into the MIME text that would be sent to the SMTP server, without actually sending the email.

When SendEmail is called, Chilkat first renders the email using the current MailMan and Email settings. This rendering may include MIME formatting, header encoding, placeholder substitution, digital signing, encryption, and other transformations required before transmission. RenderToMime performs that rendering step and returns the resulting MIME text.

Conceptually, SendEmail is equivalent to calling RenderToMime followed by SendMime. If successful, the rendered MIME string is returned.

Note: If the MIME may contain 8bit or binary content, use RenderToMimeBytes or RenderToMimeBd instead. Returning binary MIME as a string can corrupt data that is not valid text.

Returns TRUE for success, FALSE for failure.

top
RenderToMimeBd
BOOL CkMailManW_RenderToMimeBd(HCkMailManW cHandle, HCkEmailW email, HCkBinDataW renderedMime);
Introduced in version 9.5.0.62

Renders an Email object into MIME bytes and appends the result to renderedMime.

This method is the BinData version of RenderToMimeBytes. It is useful when the rendered MIME must be preserved exactly as bytes, especially if the message may contain 8bit or binary MIME content.

Returns TRUE for success, FALSE for failure.

More Information and Examples
top
RenderToMimeSb
BOOL CkMailManW_RenderToMimeSb(HCkMailManW cHandle, HCkEmailW email, HCkStringBuilderW renderedMime);
Introduced in version 9.5.0.62

Renders an Email object into MIME text and appends the result to renderedMime.

This method is the StringBuilder version of RenderToMime. It is useful when the application wants to accumulate or inspect the rendered MIME text without immediately sending the email.

Note: If the MIME may contain 8bit or binary content, use RenderToMimeBytes or RenderToMimeBd instead. Returning binary MIME as text can corrupt data that is not valid text.

Returns TRUE for success, FALSE for failure.

top
SendBundle
BOOL CkMailManW_SendBundle(HCkMailManW cHandle, HCkEmailBundleW bundle);

Sends each email in bundle. This is equivalent to calling SendEmail once for each email in the bundle.

If an error occurs while sending one email, Chilkat continues attempting to send the remaining emails unless a fatal error occurs that requires the send operation to stop.

Because it can be difficult or impossible to programmatically determine exactly which emails succeeded and which failed after a bundle send, applications that need detailed per-message status should loop through the bundle and call SendEmail for each message individually.

Returns TRUE for success, FALSE for failure.

top
SendBundleAsync (1)
HCkTaskW CkMailManW_SendBundleAsync(HCkMailManW cHandle, HCkEmailBundleW bundle);

Creates an asynchronous task to call the SendBundle method with the arguments provided.

Returns NULL on failure

top
SendEmail
BOOL CkMailManW_SendEmail(HCkMailManW cHandle, HCkEmailW email);

Sends a single email through the configured SMTP server.

Chilkat automatically opens the SMTP connection when needed. After the email is sent, the connection remains open so a subsequent call to SendEmail or another email-sending method can reuse the same SMTP connection. If an SMTP-related property changes, such as SmtpHost, SmtpUsername, password, port, or SSL/TLS settings, Chilkat automatically closes the existing connection and establishes a new one using the updated settings on the next send.

Important: Some SMTP servers do not complete final delivery processing until the SMTP connection is closed. In these cases, call CloseSmtpConnection after sending. Most SMTP servers process the message immediately, so explicitly closing the connection is usually not required.

After sending, additional information about the SMTP transaction may be available by calling GetLastJsonData.

This method returns TRUE if the final SMTP status code in the SMTP session is in the 200 or 300 range. Returns FALSE for failure.

Returns TRUE for success, FALSE for failure.

top
SendEmailAsync (1)
HCkTaskW CkMailManW_SendEmailAsync(HCkMailManW cHandle, HCkEmailW email);

Creates an asynchronous task to call the SendEmail method with the arguments provided.

Returns NULL on failure

top
SendMime
BOOL CkMailManW_SendMime(HCkMailManW cHandle, const wchar_t *fromAddr, const wchar_t *recipients, const wchar_t *mimeSource);

Sends an email from caller-supplied MIME text. The MIME source in mimeSource is passed to the SMTP server as the message content.

This method provides complete control over the MIME that is sent. It is useful when the application already has a fully formed MIME message, or when the MIME was created externally and should not be rebuilt from an Email object.

The fromAddr argument is the SMTP reverse-path address used in the MAIL FROM command. This is where bounced email and non-delivery reports are normally delivered. It can be different from the From header in the MIME.

The recipients argument is a comma-separated list of recipient email addresses used in SMTP RCPT TO commands. These are usually the same addresses found in the MIME To, Cc, and Bcc headers, but they do not have to be the same unless the SMTP server enforces such a policy.

This method returns TRUE if the final SMTP status code in the SMTP session is in the 200 or 300 range. Returns FALSE for failure.

Returns TRUE for success, FALSE for failure.

top
SendMimeAsync (1)
HCkTaskW CkMailManW_SendMimeAsync(HCkMailManW cHandle, const wchar_t *fromAddr, const wchar_t *recipients, const wchar_t *mimeSource);

Creates an asynchronous task to call the SendMime method with the arguments provided.

Returns NULL on failure

top
SendMimeBd
BOOL CkMailManW_SendMimeBd(HCkMailManW cHandle, const wchar_t *fromAddr, const wchar_t *recipients, HCkBinDataW mimeData);
Introduced in version 9.5.0.73

Sends an email from caller-supplied MIME bytes contained in mimeData.

This method is the BinData version of SendMimeBytes. It is useful when the MIME must be sent exactly as bytes, such as when it contains binary MIME content, 8bit encodings, or a DKIM/DomainKey signature where byte preservation matters.

The fromAddr argument is the SMTP reverse-path address used in the MAIL FROM command. The recipients argument is a comma-separated list of recipient addresses used in SMTP RCPT TO commands.

This method returns TRUE if the final SMTP status code in the SMTP session is in the 200 or 300 range. Returns FALSE for failure.

Returns TRUE for success, FALSE for failure.

top
SendMimeBdAsync (1)
HCkTaskW CkMailManW_SendMimeBdAsync(HCkMailManW cHandle, const wchar_t *fromAddr, const wchar_t *recipients, HCkBinDataW mimeData);
Introduced in version 9.5.0.73

Creates an asynchronous task to call the SendMimeBd method with the arguments provided.

Returns NULL on failure

top
SendMimeToList
BOOL CkMailManW_SendMimeToList(HCkMailManW cHandle, const wchar_t *fromAddr, const wchar_t *distListFilename, const wchar_t *mimeSource);

Sends caller-supplied MIME text to a distribution list read from a text file.

This method is similar to SendMime, except the recipient list is read from distListFilename. The distribution list file should contain one email address per line.

The fromAddr argument is the SMTP reverse-path address used in the MAIL FROM command. The MIME text in mimeSource is used as the message content.

Returns TRUE for success, FALSE for failure.

top
SendMimeToListAsync (1)
HCkTaskW CkMailManW_SendMimeToListAsync(HCkMailManW cHandle, const wchar_t *fromAddr, const wchar_t *distListFilename, const wchar_t *mimeSource);

Creates an asynchronous task to call the SendMimeToList method with the arguments provided.

Returns NULL on failure

top
SetDecryptCert
BOOL CkMailManW_SetDecryptCert(HCkMailManW cHandle, HCkCertW cert);
Introduced in version 9.5.0.40

Explicitly specifies the certificate to use when decrypting encrypted email.

The certificate must correspond to the recipient certificate used to encrypt the message, and the associated private key must be available to Chilkat through the certificate itself, an added PFX source, an XML certificate vault, or the platform certificate store where applicable.

Returns TRUE for success, FALSE for failure.

top
SetDecryptCert2
BOOL CkMailManW_SetDecryptCert2(HCkMailManW cHandle, HCkCertW cert, HCkPrivateKeyW privateKey);

Explicitly specifies both the certificate and its associated private key to use when decrypting S/MIME encrypted email.

In most cases, it is simpler to call AddPfxSourceFile or AddPfxSourceData to provide the certificate and private key together in a PFX/PKCS#12 source. On Windows, if the certificate and private key are already installed in the default certificate store, no explicit setup may be needed because MailMan automatically searches the Windows certificate stores.

Returns TRUE for success, FALSE for failure.

top
SetPassword
BOOL CkMailManW_SetPassword(HCkMailManW cHandle, const wchar_t *protocol, HCkSecureStringW password);
Introduced in version 9.5.0.71

Sets the POP3 or SMTP password from a SecureString.

The protocol argument specifies which password is being set. Use pop3 to set the POP3 password, which is equivalent to setting the PopPassword property. Use smtp to set the SMTP password, which is equivalent to setting the SmtpPassword property.

Returns TRUE for success, FALSE for failure.

More Information and Examples
top
SetSslClientCert
BOOL CkMailManW_SetSslClientCert(HCkMailManW cHandle, HCkCertW cert);

Sets the client-side certificate to use for SSL/TLS connections.

This is typically not required. Most SSL/TLS connections authenticate the server only, while the client remains unauthenticated at the TLS layer. Use this method only when the SMTP or POP3 server requires TLS client certificate authentication.

Returns TRUE for success, FALSE for failure.

top
SetSslClientCertPem
BOOL CkMailManW_SetSslClientCertPem(HCkMailManW cHandle, const wchar_t *pemDataOrFilename, const wchar_t *pemPassword);

Sets the client-side certificate to use for SSL/TLS connections, loading it from PEM data or from a PEM file.

The pemDataOrFilename argument may contain PEM text or the path to a PEM file. The pemPassword argument supplies the password if the PEM private key is encrypted.

TLS client certificates are typically required only when the server uses mutual TLS. Most SMTP and POP3 SSL/TLS connections do not require a client certificate.

Returns TRUE for success, FALSE for failure.

top
SetSslClientCertPfx
BOOL CkMailManW_SetSslClientCertPfx(HCkMailManW cHandle, const wchar_t *pfxPath, const wchar_t *pfxPassword);

Sets the client-side certificate to use for SSL/TLS connections, loading it from a PFX/PKCS#12 file.

The pfxPath argument is the path to the PFX file, and pfxPassword is the password required to open it.

TLS client certificates are typically required only when the server uses mutual TLS. Most SMTP and POP3 SSL/TLS connections do not require a client certificate.

Returns TRUE for success, FALSE for failure.

top
SmtpAuthenticate
BOOL CkMailManW_SmtpAuthenticate(HCkMailManW cHandle);
Introduced in version 9.5.0.48

Authenticates with the SMTP server using the current SMTP property settings, such as SmtpUsername, SmtpPassword, OAuth2 token settings, and other authentication-related options.

This method should be called only after a successful call to SmtpConnect. The OpenSmtpConnection method performs both steps and is equivalent to calling SmtpConnect followed by SmtpAuthenticate.

Calling this method is optional in most applications because SMTP methods that communicate with the server, such as SendEmail, automatically connect and authenticate if no authenticated SMTP connection is already open.

Returns TRUE for success, FALSE for failure.

More Information and Examples
top
SmtpAuthenticateAsync (1)
HCkTaskW CkMailManW_SmtpAuthenticateAsync(HCkMailManW cHandle);
Introduced in version 9.5.0.48

Creates an asynchronous task to call the SmtpAuthenticate method with the arguments provided.

Returns NULL on failure

top
SmtpConnect
BOOL CkMailManW_SmtpConnect(HCkMailManW cHandle);
Introduced in version 9.5.0.48

Explicitly connects to the SMTP server. If SSL/TLS is required by the current property settings, the secure TLS channel is established as part of this call. This method receives the server's initial greeting but does not authenticate.

After SmtpConnect succeeds, call SmtpAuthenticate to authenticate. The OpenSmtpConnection method performs both steps and is equivalent to calling SmtpConnect followed by SmtpAuthenticate.

Calling this method is optional in most applications because SMTP methods that communicate with the server, such as SendEmail, automatically connect and authenticate if no authenticated SMTP connection is already open.

Returns TRUE for success, FALSE for failure.

More Information and Examples
top
SmtpConnectAsync (1)
HCkTaskW CkMailManW_SmtpConnectAsync(HCkMailManW cHandle);
Introduced in version 9.5.0.48

Creates an asynchronous task to call the SmtpConnect method with the arguments provided.

Returns NULL on failure

top
SmtpNoop
BOOL CkMailManW_SmtpNoop(HCkMailManW cHandle);

Sends an SMTP NOOP command to the server.

This can be useful for testing whether the SMTP connection is working and still valid. If an SMTP connection is not already open, SmtpNoop automatically establishes the connection using the current SMTP property settings.

Returns TRUE for success, FALSE for failure.

top
SmtpNoopAsync (1)
HCkTaskW CkMailManW_SmtpNoopAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the SmtpNoop method with the arguments provided.

Returns NULL on failure

top
SmtpReset
BOOL CkMailManW_SmtpReset(HCkMailManW cHandle);

Sends an SMTP RSET command to the server.

The RSET command resets the server-side state of the current SMTP transaction so the connection can be used to begin a new mail transaction. This method is rarely needed. It would normally only be useful if a mail-sending method failed and left the SMTP connection open in a non-initial state, a situation that should generally not occur with the Chilkat MailMan object.

Returns TRUE for success, FALSE for failure.

top
SmtpResetAsync (1)
HCkTaskW CkMailManW_SmtpResetAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the SmtpReset method with the arguments provided.

Returns NULL on failure

top
SmtpSendRawCommand
BOOL CkMailManW_SmtpSendRawCommand(HCkMailManW cHandle, const wchar_t *command, const wchar_t *charset, BOOL bEncodeBase64, const wchar_t *outStr);
const wchar_t *CkMailManW_smtpSendRawCommand(HCkMailManW cHandle, const wchar_t *command, const wchar_t *charset, BOOL bEncodeBase64);

Sends a raw command to the SMTP server and returns the server's response.

If command contains non-US-ASCII characters, charset specifies the character set used to encode the command before it is sent. Examples include utf-8, ansi, iso-8859-1, and Shift_JIS.

If bEncodeBase64 is TRUE, the response is returned in Base64-encoded form. If bEncodeBase64 is FALSE, the raw response text is returned.

This method is intended for advanced use, diagnostics, or issuing SMTP commands not directly exposed by higher-level MailMan methods.

Returns TRUE for success, FALSE for failure.

More Information and Examples
top
SmtpSendRawCommandAsync (1)
HCkTaskW CkMailManW_SmtpSendRawCommandAsync(HCkMailManW cHandle, const wchar_t *command, const wchar_t *charset, BOOL bEncodeBase64);

Creates an asynchronous task to call the SmtpSendRawCommand method with the arguments provided.

Returns NULL on failure

top
SshAuthenticatePk
BOOL CkMailManW_SshAuthenticatePk(HCkMailManW cHandle, const wchar_t *sshLogin, HCkSshKeyW sshUsername);

Authenticates with the SSH server using public-key authentication after an SSH tunnel has been opened.

The sshLogin argument is the SSH account name. The sshUsername argument, despite its name in this signature, is the SshKey containing the private key used for authentication. The matching public key must already be installed for the SSH account on the server.

An SSH tunneling session begins by calling SshOpenTunnel to connect to the SSH server, followed by either SshAuthenticatePk or SshAuthenticatePw to authenticate.

After the SSH tunnel is established and authenticated, MailMan's underlying SMTP or POP3 communication uses the SSH tunnel. No other programming changes are required beyond the initial tunnel setup calls.

Returns TRUE for success, FALSE for failure.

top
SshAuthenticatePkAsync (1)
HCkTaskW CkMailManW_SshAuthenticatePkAsync(HCkMailManW cHandle, const wchar_t *sshLogin, HCkSshKeyW sshUsername);

Creates an asynchronous task to call the SshAuthenticatePk method with the arguments provided.

Returns NULL on failure

top
SshAuthenticatePw
BOOL CkMailManW_SshAuthenticatePw(HCkMailManW cHandle, const wchar_t *sshLogin, const wchar_t *sshPassword);

Authenticates with the SSH server using an SSH username and password after an SSH tunnel has been opened.

The sshLogin argument is the SSH account name, and sshPassword is the corresponding SSH password.

An SSH tunneling session begins by calling SshOpenTunnel to connect to the SSH server, followed by either SshAuthenticatePw or SshAuthenticatePk to authenticate.

After the SSH tunnel is established and authenticated, MailMan's underlying SMTP or POP3 communication uses the SSH tunnel. No other programming changes are required beyond the initial tunnel setup calls.

Returns TRUE for success, FALSE for failure.

top
SshAuthenticatePwAsync (1)
HCkTaskW CkMailManW_SshAuthenticatePwAsync(HCkMailManW cHandle, const wchar_t *sshLogin, const wchar_t *sshPassword);

Creates an asynchronous task to call the SshAuthenticatePw method with the arguments provided.

Returns NULL on failure

top
SshCloseTunnel
BOOL CkMailManW_SshCloseTunnel(HCkMailManW cHandle);

Closes the SSH tunnel used for SMTP or POP3 communication.

Returns TRUE for success, FALSE for failure.

top
SshCloseTunnelAsync (1)
HCkTaskW CkMailManW_SshCloseTunnelAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the SshCloseTunnel method with the arguments provided.

Returns NULL on failure

top
SshOpenTunnel
BOOL CkMailManW_SshOpenTunnel(HCkMailManW cHandle, const wchar_t *sshHostname, int sshPort);
Introduced in version 9.5.0.50

Connects to an SSH server and opens an SSH tunnel for MailMan's SMTP or POP3 connections.

The sshHostname argument is the hostname or IP address of the SSH server. The sshPort argument is the SSH port, typically 22.

An SSH tunneling session begins by calling SshOpenTunnel, followed by either SshAuthenticatePw or SshAuthenticatePk to authenticate.

After the SSH tunnel is established and authenticated, MailMan's underlying SMTP or POP3 communication uses the SSH tunnel. No other programming changes are required beyond the initial tunnel setup calls.

Returns TRUE for success, FALSE for failure.

top
SshOpenTunnelAsync (1)
HCkTaskW CkMailManW_SshOpenTunnelAsync(HCkMailManW cHandle, const wchar_t *sshHostname, int sshPort);
Introduced in version 9.5.0.50

Creates an asynchronous task to call the SshOpenTunnel method with the arguments provided.

Returns NULL on failure

top
UseCertVault
BOOL CkMailManW_UseCertVault(HCkMailManW cHandle, HCkXmlCertVaultW vault);
Introduced in version 9.5.0.40

Provides an XML certificate vault to be searched for certificates and private keys when MailMan performs operations such as encryption, decryption, signing, or signature verification.

Unlike PFX sources added with AddPfxSourceData, AddPfxSourceBd, or AddPfxSourceFile, only one XML certificate vault can be used at a time. If UseCertVault is called more than once, the most recent vault replaces the previously supplied vault.

Returns TRUE for success, FALSE for failure.

top
UseSsh
BOOL CkMailManW_UseSsh(HCkMailManW cHandle, HCkSshW ssh);
Introduced in version 9.5.0.55

Configures MailMan to use an existing SSH tunnel provided by an Ssh object for SMTP and POP3 connections.

This method is similar to UseSshTunnel, except the SSH tunnel is supplied by an Ssh object rather than a Socket object.

Sharing an existing SSH tunnel is useful when multiple objects need to communicate through the same SSH connection. SSH supports multiple logical channels within one tunnel, so SMTP and POP3 connections can exist simultaneously as separate SSH channels.

Returns TRUE for success, FALSE for failure.

top
UseSshTunnel
BOOL CkMailManW_UseSshTunnel(HCkMailManW cHandle, HCkSocketW tunnel);
Introduced in version 9.5.0.50

Configures MailMan to use an existing SSH tunnel provided by a Socket object for SMTP and POP3 connections.

Sharing an existing SSH tunnel is useful when multiple objects need to communicate through the same SSH connection. SSH supports multiple logical channels within one tunnel, so SMTP and POP3 connections can exist simultaneously as separate SSH channels.

Returns TRUE for success, FALSE for failure.

top
VerifyPopConnection
BOOL CkMailManW_VerifyPopConnection(HCkMailManW cHandle);

Tests whether a TCP/IP connection can be established with the configured POP3 server.

This method verifies connectivity only. It does not prove that POP3 authentication will succeed. Use VerifyPopLogin to test both connection and login.

Returns TRUE if the connection can be established, otherwise returns FALSE.

top
VerifyPopConnectionAsync (1)
HCkTaskW CkMailManW_VerifyPopConnectionAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the VerifyPopConnection method with the arguments provided.

Returns NULL on failure

top
VerifyPopLogin
BOOL CkMailManW_VerifyPopLogin(HCkMailManW cHandle);

Tests whether Chilkat can connect to the configured POP3 server and successfully log in using the current POP3 authentication settings.

Use this method to diagnose whether POP3 credentials and authentication settings are correct. If only the TCP/IP connection needs to be tested, use VerifyPopConnection.

Returns TRUE if the connection and login succeed, otherwise returns FALSE.

top
VerifyPopLoginAsync (1)
HCkTaskW CkMailManW_VerifyPopLoginAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the VerifyPopLogin method with the arguments provided.

Returns NULL on failure

top
VerifyRecips
BOOL CkMailManW_VerifyRecips(HCkMailManW cHandle, HCkEmailW email, HCkStringArrayW badAddrs);

Initiates sending an email, but aborts just after passing all recipients (TO, CC, BCC) to the SMTP server. This allows your program to collect email addresses flagged as invalid by the SMTP server.

Important: Please read this blog post before using this method: http://www.cknotes.com/?p=249>http://www.cknotes.com/?p=249

Returns TRUE for success, FALSE for failure.

More Information and Examples
top
VerifyRecipsAsync (1)
HCkTaskW CkMailManW_VerifyRecipsAsync(HCkMailManW cHandle, HCkEmailW email, HCkStringArrayW badAddrs);

Creates an asynchronous task to call the VerifyRecips method with the arguments provided.

Returns NULL on failure

top
VerifySmtpConnection
BOOL CkMailManW_VerifySmtpConnection(HCkMailManW cHandle);

Return TRUE if a TCP/IP connection can be established with the SMTP server, otherwise returns FALSE.

top
VerifySmtpConnectionAsync (1)
HCkTaskW CkMailManW_VerifySmtpConnectionAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the VerifySmtpConnection method with the arguments provided.

Returns NULL on failure

top
VerifySmtpLogin
BOOL CkMailManW_VerifySmtpLogin(HCkMailManW cHandle);

Return TRUE if a TCP/IP connection and login is successful with the SMTP server. Otherwise returns FALSE.

top
VerifySmtpLoginAsync (1)
HCkTaskW CkMailManW_VerifySmtpLoginAsync(HCkMailManW cHandle);

Creates an asynchronous task to call the VerifySmtpLogin method with the arguments provided.

Returns NULL on failure

top

Deprecated

AddPfxSourceData Deprecated
BOOL CkMailManW_AddPfxSourceData(HCkMailManW cHandle, HCkByteData pfxData, const wchar_t *password);

Adds a PFX/PKCS#12 certificate store to the MailMan object's internal list of sources used for locating certificates and private keys.

The pfxData argument contains the bytes of a .pfx / .p12 file.

The added PFX source is searched when Chilkat needs a certificate and private key for operations such as:

  • Decrypting S/MIME encrypted email
  • Creating digitally signed email

Multiple PFX sources can be added by calling this method once for each PFX.

On Windows, the registry-based Windows certificate stores are automatically searched when locating certificates and private keys. Therefore, if the required certificate and private key are already installed in the Windows certificate store, explicitly adding a PFX source is often unnecessary.

On macOS, the Apple Keychain is also searched automatically. If the required certificate and private key are already available in the Apple Keychain, it is likewise unnecessary to explicitly add a PFX source.

The password argument specifies the password required to open the PFX.

Returns TRUE for success, FALSE for failure.

top
CopyMail
HCkEmailBundleW CkMailManW_CopyMail(HCkMailManW cHandle);
This method is deprecated and replaced by FetchAll

This method is deprecated. Applications should instead call FetchAll.

Copy the email from a POP3 server into a EmailBundle. This does not remove the email from the POP3 server.

Returns NULL on failure

top
CopyMailAsync (1) (2)
HCkTaskW CkMailManW_CopyMailAsync(HCkMailManW cHandle);
This method is deprecated and replaced by FetchAll

Creates an asynchronous task to call the CopyMail method with the arguments provided.

Returns NULL on failure

top
DeleteMultiple
BOOL CkMailManW_DeleteMultiple(HCkMailManW cHandle, HCkStringArrayW uidlArray);
This method is deprecated and replaced by DeleteUidlSet

Marks multiple emails on the POP3 server for deletion. (Any email on the server having a UIDL equal to a UIDL found in uidlArray is marked for deletion.) To complete the deletion of the emails, a QUIT message must be sent and the POP3 session ended. This will happen automatically when the ImmediateDelete property equals TRUE, which is the default. If ImmediateDelete equals FALSE, then the Pop3EndSession method can be called to send the QUIT and end the session (i.e. disconnect.)

Note: When making multiple calls to a Delete* method, it's best to turn off ImmediateDelete, and then manually call Pop3EndSession to finalize the deletions.

Also, any method call requiring communication with the POP3 server will automatically re-establish a session based on the current property settings.

Returns TRUE for success, FALSE for failure.

top
DeleteMultipleAsync (1)
HCkTaskW CkMailManW_DeleteMultipleAsync(HCkMailManW cHandle, HCkStringArrayW uidlArray);
This method is deprecated and replaced by DeleteUidlSet

Creates an asynchronous task to call the DeleteMultiple method with the arguments provided.

Returns NULL on failure

top
FetchByMsgnum
HCkEmailW CkMailManW_FetchByMsgnum(HCkMailManW cHandle, int msgnum);
This method is deprecated and replaced by FetchOne

This method is deprecated. Applications should instead call FetchOne.

Fetches an email by message number. WARNING: Be very careful if calling this method. Message numbers are specific to a POP3 session. If a maildrop has (for example) 10 messages, the message numbers will be 1, 2, 3, ... 10. If message number 1 is deleted and a new POP3 session is established, there will be 9 messages numbered 1, 2, 3, ... 9.

IMPORTANT: A POP3 connection must first be established by either calling Pop3BeginSession explicitly, or implicitly by calling some other method that automatically establishes the session. This method will not automatically establish a new POP3 session (because if it did, the message numbers would potentially be different than what the application expects).

Returns NULL on failure

top
FetchByMsgnumAsync (1) (2)
HCkTaskW CkMailManW_FetchByMsgnumAsync(HCkMailManW cHandle, int msgnum);
This method is deprecated and replaced by FetchOne

Creates an asynchronous task to call the FetchByMsgnum method with the arguments provided.

Returns NULL on failure

top
FetchEmail
HCkEmailW CkMailManW_FetchEmail(HCkMailManW cHandle, const wchar_t *uidl);
This method is deprecated and replaced by FetchByUidl

This method is deprecated. Applications should instead call FetchByUidl.

Fetches an email from the POP3 mail server given its UIDL. Calling this method does not remove the email from the server. A typical program might get the email headers from the POP3 server by calling GetAllHeaders or GetHeaders, and then fetch individual emails by UIDL.

Returns a null reference on failure.

Returns NULL on failure

top
FetchEmailAsync (1) (2)
HCkTaskW CkMailManW_FetchEmailAsync(HCkMailManW cHandle, const wchar_t *uidl);
This method is deprecated and replaced by FetchByUidl

Creates an asynchronous task to call the FetchEmail method with the arguments provided.

Returns NULL on failure

top
FetchMime Deprecated
BOOL CkMailManW_FetchMime(HCkMailManW cHandle, const wchar_t *uidl, const unsigned char * outData);

Fetches an email from the POP3 server by UIDL and returns the raw MIME source bytes of the message.

Returns TRUE for success, FALSE for failure.

top
FetchMimeAsync Deprecated (1)
HCkTaskW CkMailManW_FetchMimeAsync(HCkMailManW cHandle, const wchar_t *uidl);

Creates an asynchronous task to call the FetchMime method with the arguments provided.

Returns NULL on failure

top
FetchMimeByMsgnum Deprecated
BOOL CkMailManW_FetchMimeByMsgnum(HCkMailManW cHandle, int msgnum, const unsigned char * outBytes);

Retrieves an email by POP3 message number and returns the raw MIME source bytes.

Important: Message numbers are specific to a single POP3 session and can change from one session to the next. For example, if a mailbox contains ten messages, they are numbered 1 through 10. If message 1 is deleted and a new POP3 session is opened, the remaining messages are renumbered 1 through 9.

A POP3 session must already be established before this method is called, either explicitly by calling Pop3BeginSession or implicitly by calling another method that opens the session. This method does not automatically begin a new POP3 session because doing so could change the message numbers.

Returns TRUE for success, FALSE for failure.

top
FetchMimeByMsgnumAsync Deprecated (1)
HCkTaskW CkMailManW_FetchMimeByMsgnumAsync(HCkMailManW cHandle, int msgnum);

Creates an asynchronous task to call the FetchMimeByMsgnum method with the arguments provided.

Returns NULL on failure

top
FetchMultiple
HCkEmailBundleW CkMailManW_FetchMultiple(HCkMailManW cHandle, HCkStringArrayW uidlArray);
This method is deprecated and replaced by FetchUidlSet

This method is deprecated. Applications should instead call FetchUidlSet.

Given an array of UIDL strings, fetchs all the emails from the POP3 server whose UIDL is present in the array, and returns the emails in a bundle.

Returns NULL on failure

top
FetchMultipleAsync (1) (2)
HCkTaskW CkMailManW_FetchMultipleAsync(HCkMailManW cHandle, HCkStringArrayW uidlArray);
This method is deprecated and replaced by FetchUidlSet

Creates an asynchronous task to call the FetchMultiple method with the arguments provided.

Returns NULL on failure

top
FetchMultipleHeaders
HCkEmailBundleW CkMailManW_FetchMultipleHeaders(HCkMailManW cHandle, HCkStringArrayW uidlArray, int numBodyLines);
This method is deprecated and replaced by FetchUidlSet

This method is deprecated. Applications should instead call FetchUidlSet.

Given an array of UIDL strings, fetchs all the email headers from the POP3 server whose UIDL is present in the array.

Note: The email objects returned in the bundle contain only headers. The attachments will be missing, and the bodies will be mostly missing (only the 1st numBodyLines lines of either the plain-text or HTML body will be present).

Returns NULL on failure

top
FetchMultipleHeadersAsync (1) (2)
HCkTaskW CkMailManW_FetchMultipleHeadersAsync(HCkMailManW cHandle, HCkStringArrayW uidlArray, int numBodyLines);
This method is deprecated and replaced by FetchUidlSet

Creates an asynchronous task to call the FetchMultipleHeaders method with the arguments provided.

Returns NULL on failure

top
FetchMultipleMime
HCkStringArrayW CkMailManW_FetchMultipleMime(HCkMailManW cHandle, HCkStringArrayW uidlArray);
This method is deprecated and replaced by FetchMimeBd

This deprecated method will be removed in a future major release of Chilkat. MIME can potentially include non-encoded binary data and mixed character encodings, so downloading emails as a simple MIME string often requires processing and modifications, making it impractical. Instead, applications should use FetchMimeBd or methods that download emails to email objects.

This method downloads emails from the POP3 server for each UIDL in uidlArray and returns an object containing the collection of downloaded MIME strings.

Returns NULL on failure

top
FetchMultipleMimeAsync (1) (2)
HCkTaskW CkMailManW_FetchMultipleMimeAsync(HCkMailManW cHandle, HCkStringArrayW uidlArray);
This method is deprecated and replaced by FetchMimeBd

Creates an asynchronous task to call the FetchMultipleMime method with the arguments provided.

Returns NULL on failure

top
FetchSingleHeader
HCkEmailW CkMailManW_FetchSingleHeader(HCkMailManW cHandle, int numBodyLines, int messageNumber);
This method is deprecated and replaced by FetchOne

This method is deprecated. Applications should instead call FetchOne.

Fetches a single header by message number. Returns an email object on success, or a null reference on failure.

Returns NULL on failure

top
FetchSingleHeaderAsync (1) (2)
HCkTaskW CkMailManW_FetchSingleHeaderAsync(HCkMailManW cHandle, int numBodyLines, int messageNumber);
This method is deprecated and replaced by FetchOne

Creates an asynchronous task to call the FetchSingleHeader method with the arguments provided.

Returns NULL on failure

top
FetchSingleHeaderByUidl
HCkEmailW CkMailManW_FetchSingleHeaderByUidl(HCkMailManW cHandle, int numBodyLines, const wchar_t *uidl);
This method is deprecated and replaced by FetchByUidl

This method is deprecated. Applications should instead call FetchByUidl.

Fetches a single header by UIDL. Returns an email object on success, or a null reference on failure.

Note: The email objects returned in the bundle contain only headers. The attachments will be missing, and the bodies will be mostly missing (only the 1st uidl lines of either the plain-text or HTML body will be present).

Returns NULL on failure

top
FetchSingleHeaderByUidlAsync (1) (2)
HCkTaskW CkMailManW_FetchSingleHeaderByUidlAsync(HCkMailManW cHandle, int numBodyLines, const wchar_t *uidl);
This method is deprecated and replaced by FetchByUidl

Creates an asynchronous task to call the FetchSingleHeaderByUidl method with the arguments provided.

Returns NULL on failure

top
GetAllHeaders
HCkEmailBundleW CkMailManW_GetAllHeaders(HCkMailManW cHandle, int numBodyLines);
This method is deprecated and replaced by FetchAll

This method is deprecated. Applications should instead call FetchAll.

Retrieves all emails from the POP3 server, limiting the body to the first numBodyLines lines and excluding attachments. The returned emails are valid objects with truncated bodies and no attachments.

Returns NULL on failure

top
GetAllHeadersAsync (1) (2)
HCkTaskW CkMailManW_GetAllHeadersAsync(HCkMailManW cHandle, int numBodyLines);
This method is deprecated and replaced by FetchAll

Creates an asynchronous task to call the GetAllHeaders method with the arguments provided.

Returns NULL on failure

top
GetFullEmail
HCkEmailW CkMailManW_GetFullEmail(HCkMailManW cHandle, HCkEmailW email);
This method is deprecated and replaced by FetchFull

This method is deprecated. Applications should instead call FetchFull.

If a partial email (header-only) is retrieved using GetHeaders or GetAllHeaders, this method will download and return the full email from the server using the partial email as an argument.

Returns NULL on failure

top
GetFullEmailAsync (1) (2)
HCkTaskW CkMailManW_GetFullEmailAsync(HCkMailManW cHandle, HCkEmailW email);
This method is deprecated and replaced by FetchFull

Creates an asynchronous task to call the GetFullEmail method with the arguments provided.

Returns NULL on failure

top
GetHeaders
HCkEmailBundleW CkMailManW_GetHeaders(HCkMailManW cHandle, int numBodyLines, int fromIndex, int toIndex);
This method is deprecated and replaced by FetchRange

This method is deprecated. Applications should instead call FetchRange.

The same as the GetAllHeaders method, except only the emails from fromIndex to toIndex on the POP3 server are returned. The first email on the server is at index 0.

Returns NULL on failure

top
GetHeadersAsync (1) (2)
HCkTaskW CkMailManW_GetHeadersAsync(HCkMailManW cHandle, int numBodyLines, int fromIndex, int toIndex);
This method is deprecated and replaced by FetchRange

Creates an asynchronous task to call the GetHeaders method with the arguments provided.

Returns NULL on failure

top
GetPop3SslServerCert
HCkCertW CkMailManW_GetPop3SslServerCert(HCkMailManW cHandle);
This method is deprecated and replaced by GetServerCert

This method is deprecated. Applications should instead call GetServerCert.

Returns the POP3 server's SSL certificate. This is available after connecting via SSL to a POP3 server. (To use POP3 SSL, set the PopSsl property = TRUE.)

Returns a null reference if no POP3 SSL certificate is available.

Returns NULL on failure

top
GetSmtpSslServerCert
HCkCertW CkMailManW_GetSmtpSslServerCert(HCkMailManW cHandle);
This method is deprecated and replaced by GetServerCert

This method is deprecated. Applications should instead call GetServerCert.

If using SSL/TLS, this method returns the SMTP server's digital certificate used with the secure connection.

Returns NULL on failure

top
GetUidls
HCkStringArrayW CkMailManW_GetUidls(HCkMailManW cHandle);
This method is deprecated and replaced by FetchUidls

This method is deprecated. Applications should instead call FetchUidls.

Returns the UIDLs of the emails currently stored on the POP3 server.

Returns NULL on failure

top
GetUidlsAsync (1) (2)
HCkTaskW CkMailManW_GetUidlsAsync(HCkMailManW cHandle);
This method is deprecated and replaced by FetchUidls

Creates an asynchronous task to call the GetUidls method with the arguments provided.

Returns NULL on failure

top
LastJsonData
HCkJsonObjectW CkMailManW_LastJsonData(HCkMailManW cHandle);
Introduced in version 9.5.0.69
This method is deprecated.

This method is deprecated. Call GetLastJsonData instead.

Provides information about what transpired in the last method called on this object instance. For many methods, there is no information. However, for some methods, details about what occurred can be obtained by getting the LastJsonData right after the method call returns.

Returns NULL on failure

top
LoadEml
HCkEmailW CkMailManW_LoadEml(HCkMailManW cHandle, const wchar_t *emlFilename);
This method is deprecated.

This deprecated method will be removed in a future Chilkat major version. Applications should instead call the email object's LoadEml method.

Loads a .eml file containing an email.

Returns NULL on failure

top
LoadMbx
HCkEmailBundleW CkMailManW_LoadMbx(HCkMailManW cHandle, const wchar_t *mbxFileName);
This method is deprecated and replaced by LoadMbxFile

This method is deprecated. Applications should instead call LoadMbxFile.

Loads a .mbx file containing emails and returns an email bundle. If a Filter is present, only emails matching the filter are returned.

Returns NULL on failure

top
LoadMime
HCkEmailW CkMailManW_LoadMime(HCkMailManW cHandle, const wchar_t *mimeText);
This method is deprecated.

This deprecated method will be removed in a future Chilkat major version. Applications should instead call the email object's SetFromMimeText method.

Creates and loads an email from a MIME string. Returns a null reference on failure.

Returns NULL on failure

top
LoadXmlEmail
HCkEmailW CkMailManW_LoadXmlEmail(HCkMailManW cHandle, const wchar_t *filename);
This method is deprecated.

This deprecated method will be removed in a future Chilkat major version. Applications should instead call the email object's SetFromXmlText method.

Loads an XML file containing a single email and returns an email object. Returns a null reference on failure.

Returns NULL on failure

top
LoadXmlEmailString
HCkEmailW CkMailManW_LoadXmlEmailString(HCkMailManW cHandle, const wchar_t *xmlString);
This method is deprecated.

This deprecated method will be removed in a future Chilkat major version. Applications should instead call the email object's SetFromXmlText method.

Loads an XML string containing a single email and returns an email object. Returns a null reference on failure.

Returns NULL on failure

top
LoadXmlFile
HCkEmailBundleW CkMailManW_LoadXmlFile(HCkMailManW cHandle, const wchar_t *filename);
This method is deprecated.

This deprecated method will be removed in a future Chilkat major version. Applications should instead call the email bundle object's LoadXml method.

Loads an XML file containing one or more emails and returns an email bundle. If a Filter is present, only emails matching the filter are returned. Returns a null reference on failure.

Returns NULL on failure

top
LoadXmlString
HCkEmailBundleW CkMailManW_LoadXmlString(HCkMailManW cHandle, const wchar_t *xmlString);
This method is deprecated.

This deprecated method will be removed in a future Chilkat major version. Applications should instead call the email bundle object's LoadXmlString method.

Loads from an XML string containing emails and returns an email bundle. If a Filter is present, only emails matching the filter are returned.

Returns NULL on failure

top
MxLookup
BOOL CkMailManW_MxLookup(HCkMailManW cHandle, const wchar_t *emailAddress, const wchar_t *outStrHostname);
const wchar_t *CkMailManW_mxLookup(HCkMailManW cHandle, const wchar_t *emailAddress);
This method is deprecated.

This deprecated method will be removed in a future Chilkat major version. Applications should instead use the Chilkat Dns class to do MX lookups.

Performs a DNS MX lookup to return the mail server hostname based on an email address.

Returns TRUE for success, FALSE for failure.

top
MxLookupAll
HCkStringArrayW CkMailManW_MxLookupAll(HCkMailManW cHandle, const wchar_t *emailAddress);
This method is deprecated.

This deprecated method will be removed in a future Chilkat major version. Applications should instead use the Chilkat Dns class to do MX lookups.

Performs a DNS MX lookup to return the list of mail server hostnames based on an email address. The primary server is at index 0. In most cases, there is only one mail server for a given email address.

Returns NULL on failure

top
RenderToMimeBytes Deprecated
BOOL CkMailManW_RenderToMimeBytes(HCkMailManW cHandle, HCkEmailW email, const unsigned char * outBytes);

Renders an Email object into the MIME bytes that would be sent to the SMTP server, without actually sending the email.

This method is similar to RenderToMime, except the rendered MIME is returned as a byte array. Use this method when the MIME may contain 8bit or binary content, or when the exact bytes must be preserved.

Returning MIME as a string can introduce errors if the message contains non-text binary data. For that reason, RenderToMimeBytes is recommended unless it is certain that the rendered MIME is entirely safe to represent as text.

Returns TRUE for success, FALSE for failure.

top
SendMimeBytes Deprecated
BOOL CkMailManW_SendMimeBytes(HCkMailManW cHandle, const wchar_t *fromAddr, const wchar_t *recipients, HCkByteData mimeSource);

Sends an email from caller-supplied MIME bytes.

This method is similar to SendMime, except the MIME is supplied as a byte array. Use this method when the MIME contains binary data, 8bit content, or a DKIM/DomainKey signature where preserving the exact bytes is important.

The fromAddr argument is the SMTP reverse-path address used in the MAIL FROM command. This is where bounced email and non-delivery reports are normally delivered. It can be different from the From header in the MIME.

The recipients argument is a comma-separated list of recipient email addresses used in SMTP RCPT TO commands. These are usually the same addresses found in the MIME To, Cc, and Bcc headers, but they do not have to be the same unless the SMTP server enforces such a policy.

This method returns TRUE if the final SMTP status code in the SMTP session is in the 200 or 300 range. Returns FALSE for failure.

Returns TRUE for success, FALSE for failure.

top
SendMimeBytesAsync Deprecated (1)
HCkTaskW CkMailManW_SendMimeBytesAsync(HCkMailManW cHandle, const wchar_t *fromAddr, const wchar_t *recipients, HCkByteData mimeSource);

Creates an asynchronous task to call the SendMimeBytes method with the arguments provided.

Returns NULL on failure

top
TransferMail
HCkEmailBundleW CkMailManW_TransferMail(HCkMailManW cHandle);
This method is deprecated and replaced by FetchAll

This method is deprecated. Applications should instead call FetchAll.

Downloads and removes all email from a POP3 server. A bundle containing the emails is returned. A null reference is returned on failure.

Returns NULL on failure

top
TransferMailAsync (1) (2)
HCkTaskW CkMailManW_TransferMailAsync(HCkMailManW cHandle);
This method is deprecated and replaced by FetchAll

Creates an asynchronous task to call the TransferMail method with the arguments provided.

Returns NULL on failure

top
TransferMultipleMime
HCkStringArrayW CkMailManW_TransferMultipleMime(HCkMailManW cHandle, HCkStringArrayW uidlArray);
This method is deprecated.

This deprecated method will be removed in a future major release of Chilkat. MIME can potentially include non-encoded binary data and mixed character encodings, so downloading emails as a simple MIME string often requires processing and modifications, making it impractical. Instead, applications should use FetchMimeBd or methods that download emails to email objects.

Same as FetchMultipleMime except that the downloaded emails are also deleted from the server. Returns a null reference on failure.

Returns NULL on failure

top
TransferMultipleMimeAsync (1) (2)
HCkTaskW CkMailManW_TransferMultipleMimeAsync(HCkMailManW cHandle, HCkStringArrayW uidlArray);
This method is deprecated.

Creates an asynchronous task to call the TransferMultipleMime method with the arguments provided.

Returns NULL on failure

top