MailMan Tcl 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.

Object Creation

# 'this' is not a keyword in Tcl. It can freely be used as a variable name.
set this [new CkMailMan]

Properties

AbortCurrent
boolean 1/0
set boolVal [CkMailMan_get_AbortCurrent $this]
CkMailMan_put_AbortCurrent $this $boolVal
Introduced in version 9.5.0.58

Set this property to 1 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 0 when the next method call begins. When an abort actually occurs, Chilkat resets this property to 0.

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

top
AllOrNone
boolean 1/0
set boolVal [CkMailMan_get_AllOrNone $this]
CkMailMan_put_AllOrNone $this $boolVal

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

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

When set to 1, 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 1 by default, set SmtpPipelining = 0 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
boolean 1/0
set boolVal [CkMailMan_get_AutoFix $this]
CkMailMan_put_AutoFix $this $boolVal

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

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

The default value is 1.

More Information and Examples
top
AutoGenMessageId
boolean 1/0
set boolVal [CkMailMan_get_AutoGenMessageId $this]
CkMailMan_put_AutoGenMessageId $this $boolVal

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 0 to prevent Chilkat from automatically generating the Message-ID header.

top
AutoSmtpRset
boolean 1/0
set boolVal [CkMailMan_get_AutoSmtpRset $this]
CkMailMan_put_AutoSmtpRset $this $boolVal

When 1, 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 0.

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

top
AutoUnwrapSecurity
boolean 1/0
set boolVal [CkMailMan_get_AutoUnwrapSecurity $this]
CkMailMan_put_AutoUnwrapSecurity $this $boolVal
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 1. 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 0 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
string
# ckStr is a CkString
CkMailMan_get_ClientIpAddress $this $ckStr
set strVal [CkMailMan_get_clientIpAddress $this]
CkMailMan_put_ClientIpAddress $this $strVal

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
integer
set intVal [CkMailMan_get_ConnectFailReason $this]
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
integer
set intVal [CkMailMan_get_ConnectTimeout $this]
CkMailMan_put_ConnectTimeout $this $intVal

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
string
# ckStr is a CkString
CkMailMan_get_DebugLogFilePath $this $ckStr
set strVal [CkMailMan_get_debugLogFilePath $this]
CkMailMan_put_DebugLogFilePath $this $strVal

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
string
# ckStr is a CkString
CkMailMan_get_DsnEnvid $this $ckStr
set strVal [CkMailMan_get_dsnEnvid $this]
CkMailMan_put_DsnEnvid $this $strVal

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
string
# ckStr is a CkString
CkMailMan_get_DsnNotify $this $ckStr
set strVal [CkMailMan_get_dsnNotify $this]
CkMailMan_put_DsnNotify $this $strVal

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
string
# ckStr is a CkString
CkMailMan_get_DsnRet $this $ckStr
set strVal [CkMailMan_get_dsnRet $this]
CkMailMan_put_DsnRet $this $strVal

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
boolean 1/0
set boolVal [CkMailMan_get_EmbedCertChain $this]
CkMailMan_put_EmbedCertChain $this $boolVal

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

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

The default value is 0

top
EnableSecrets
boolean 1/0
set boolVal [CkMailMan_get_EnableSecrets $this]
CkMailMan_put_EnableSecrets $this $boolVal
Introduced in version 11.5.0

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

When set to 1, 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 0.

More Information and Examples
top
Filter
string
# ckStr is a CkString
CkMailMan_get_Filter $this $ckStr
set strVal [CkMailMan_get_filter $this]
CkMailMan_put_Filter $this $strVal

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
HeloHostname
string
# ckStr is a CkString
CkMailMan_get_HeloHostname $this $ckStr
set strVal [CkMailMan_get_heloHostname $this]
CkMailMan_put_HeloHostname $this $strVal

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
string
# ckStr is a CkString
CkMailMan_get_HttpProxyAuthMethod $this $ckStr
set strVal [CkMailMan_get_httpProxyAuthMethod $this]
CkMailMan_put_HttpProxyAuthMethod $this $strVal

HttpProxyAuthMethod

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

Valid values are Basic and NTLM.

top
HttpProxyDomain
string
# ckStr is a CkString
CkMailMan_get_HttpProxyDomain $this $ckStr
set strVal [CkMailMan_get_httpProxyDomain $this]
CkMailMan_put_HttpProxyDomain $this $strVal

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

top
HttpProxyHostname
string
# ckStr is a CkString
CkMailMan_get_HttpProxyHostname $this $ckStr
set strVal [CkMailMan_get_httpProxyHostname $this]
CkMailMan_put_HttpProxyHostname $this $strVal

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

top
HttpProxyPassword
string
# ckStr is a CkString
CkMailMan_get_HttpProxyPassword $this $ckStr
set strVal [CkMailMan_get_httpProxyPassword $this]
CkMailMan_put_HttpProxyPassword $this $strVal

Specifies the password used when authenticating to an HTTP proxy.

top
HttpProxyPort
integer
set intVal [CkMailMan_get_HttpProxyPort $this]
CkMailMan_put_HttpProxyPort $this $intVal

Specifies the port number of the HTTP proxy.

Common HTTP proxy ports include 8080 and 3128.

top
HttpProxyUsername
string
# ckStr is a CkString
CkMailMan_get_HttpProxyUsername $this $ckStr
set strVal [CkMailMan_get_httpProxyUsername $this]
CkMailMan_put_HttpProxyUsername $this $strVal

Specifies the username used when authenticating to an HTTP proxy.

top
ImmediateDelete
boolean 1/0
set boolVal [CkMailMan_get_ImmediateDelete $this]
CkMailMan_put_ImmediateDelete $this $boolVal

Controls whether POP3 deletions are finalized immediately.

The default value is 1. 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 0, your application must call Pop3EndSession to finalize the deletions.

More Information and Examples
top
IncludeRootCert
boolean 1/0
set boolVal [CkMailMan_get_IncludeRootCert $this]
CkMailMan_put_IncludeRootCert $this $boolVal

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

This property only applies when EmbedCertChain is 1.

top
IsPop3Connected
boolean 1/0
set boolVal [CkMailMan_get_IsPop3Connected $this]
Introduced in version 9.5.0.48

Returns 1 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 1.

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

top
IsSmtpConnected
boolean 1/0
set boolVal [CkMailMan_get_IsSmtpConnected $this]

Returns 1 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
string
# ckStr is a CkString
CkMailMan_get_LastErrorHtml $this $ckStr
set strVal [CkMailMan_get_lastErrorHtml $this]

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
string
# ckStr is a CkString
CkMailMan_get_LastErrorText $this $ckStr
set strVal [CkMailMan_get_lastErrorText $this]

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
string
# ckStr is a CkString
CkMailMan_get_LastErrorXml $this $ckStr
set strVal [CkMailMan_get_lastErrorXml $this]

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
boolean 1/0
set boolVal [CkMailMan_get_LastMethodSuccess $this]
CkMailMan_put_LastMethodSuccess $this $boolVal

Indicates the success or failure of the most recent method call: 1 means success, 0 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
integer
set intVal [CkMailMan_get_LastSmtpStatus $this]

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
string
# ckStr is a CkString
CkMailMan_get_LastSmtpStatusMsg $this $ckStr
set strVal [CkMailMan_get_lastSmtpStatusMsg $this]
Introduced in version 9.5.0.85

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

top
LogMailReceivedFilename
string
# ckStr is a CkString
CkMailMan_get_LogMailReceivedFilename $this $ckStr
set strVal [CkMailMan_get_logMailReceivedFilename $this]
CkMailMan_put_LogMailReceivedFilename $this $strVal

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
string
# ckStr is a CkString
CkMailMan_get_LogMailSentFilename $this $ckStr
set strVal [CkMailMan_get_logMailSentFilename $this]
CkMailMan_put_LogMailSentFilename $this $strVal

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
string
# ckStr is a CkString
CkMailMan_get_MailHost $this $ckStr
set strVal [CkMailMan_get_mailHost $this]
CkMailMan_put_MailHost $this $strVal

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
integer
set intVal [CkMailMan_get_MailPort $this]
CkMailMan_put_MailPort $this $intVal

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
integer
set intVal [CkMailMan_get_MaxCount $this]
CkMailMan_put_MaxCount $this $intVal

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
string
# ckStr is a CkString
CkMailMan_get_OAuth2AccessToken $this $ckStr
set strVal [CkMailMan_get_oAuth2AccessToken $this]
CkMailMan_put_OAuth2AccessToken $this $strVal
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
boolean 1/0
set boolVal [CkMailMan_get_OpaqueSigning $this]
CkMailMan_put_OpaqueSigning $this $boolVal

Controls the MIME format used for digitally signed email.

When set to 0, 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 1, 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 1.

top
P7mEncryptAttachFilename
string
# ckStr is a CkString
CkMailMan_get_P7mEncryptAttachFilename $this $ckStr
set strVal [CkMailMan_get_p7mEncryptAttachFilename $this]
CkMailMan_put_P7mEncryptAttachFilename $this $strVal
Introduced in version 9.5.0.30

The filename attribute to be used in the Content-Disposition header field when sending a PCKS7 encrypted email. The default value is smime.p7m.

top
P7mSigAttachFilename
string
# ckStr is a CkString
CkMailMan_get_P7mSigAttachFilename $this $ckStr
set strVal [CkMailMan_get_p7mSigAttachFilename $this]
CkMailMan_put_P7mSigAttachFilename $this $strVal
Introduced in version 9.5.0.30

The filename attribute to be used in the Content-Disposition header field when sending a PCKS7 opaque signed email. The default value is smime.p7m.

top
P7sSigAttachFilename
string
# ckStr is a CkString
CkMailMan_get_P7sSigAttachFilename $this $ckStr
set strVal [CkMailMan_get_p7sSigAttachFilename $this]
CkMailMan_put_P7sSigAttachFilename $this $strVal
Introduced in version 9.5.0.30

The filename attribute to be used in the Content-Disposition header field when sending a signed email with a detached PKCS7 signature. The default value is smime.p7s.

top
Pop3SessionId
integer
set intVal [CkMailMan_get_Pop3SessionId $this]

0 if no POP3 session is active. Otherwise a positive integer that is incremented with each new POP3 session. It may be used to determine if a new POP3 session has been established.

top
Pop3SessionLog
string
# ckStr is a CkString
CkMailMan_get_Pop3SessionLog $this $ckStr
set strVal [CkMailMan_get_pop3SessionLog $this]

This string property accumulates the raw commands sent to the POP3 server, and the raw responses received from the POP3 server. This property is read-only, but it may be cleared by calling ClearPop3SessionLog.

More Information and Examples
top
Pop3SPA
boolean 1/0
set boolVal [CkMailMan_get_Pop3SPA $this]
CkMailMan_put_Pop3SPA $this $boolVal

Controls whether SPA authentication for POP3 is used or not. To use SPA authentication, set this property = 1. No other programming changes are required. The default value is 0.

Note: If SPA (i.e. NTLM) authentication does not succeed, set the Global.DefaultNtlmVersion property equal to 1 and then retry.

top
Pop3SslServerCertVerified
boolean 1/0
set boolVal [CkMailMan_get_Pop3SslServerCertVerified $this]

When connecting via SSL, this property is 1 if the POP3 server's SSL certificate was verified. Otherwise it is set to 0.

top
Pop3Stls
boolean 1/0
set boolVal [CkMailMan_get_Pop3Stls $this]
CkMailMan_put_Pop3Stls $this $boolVal

If 1, then an unencrypted connection (typically on port 110) is automatically converted to a secure TLS connection via the STLS command (see RFC 2595) when connecting. This should only be used with POP3 servers that are known to support the STLS capability. If this property is set to 1, then the PopSsl property should be set to 0. (The PopSsl property controls whether the connection is SSL/TLS from the beginning. Setting the Pop3Stls property = 1 indicates that the POP3 client will initially connect unencrypted and then convert to TLS.)

The default value of this property is 0.

More Information and Examples
top
Pop3StlsIfPossible
boolean 1/0
set boolVal [CkMailMan_get_Pop3StlsIfPossible $this]
CkMailMan_put_Pop3StlsIfPossible $this $boolVal
Introduced in version 9.5.0.92

If 1, then an unencrypted connection (typically on port 110) is automatically converted to a secure TLS connection via the STLS command if the mail server supports the STLS command. If the mail server does not support STLS, then the connection will remain unencrypted.

The default value of this property is 0.

top
PopPassword
string
# ckStr is a CkString
CkMailMan_get_PopPassword $this $ckStr
set strVal [CkMailMan_get_popPassword $this]
CkMailMan_put_PopPassword $this $strVal

The POP3 password.

If the Pop3SPA property is set, the PopUsername and PopPassword properties may be set to the string default to cause the component to use the current logged-on credentials (of the calling process) for authentication.

top
PopPasswordBase64
string
# ckStr is a CkString
CkMailMan_get_PopPasswordBase64 $this $ckStr
set strVal [CkMailMan_get_popPasswordBase64 $this]
CkMailMan_put_PopPasswordBase64 $this $strVal

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

top
PopSsl
boolean 1/0
set boolVal [CkMailMan_get_PopSsl $this]
CkMailMan_put_PopSsl $this $boolVal

Controls whether TLS/SSL is used when reading email from a POP3 server. Note: Check first to determine if your POP3 server can accept TLS/SSL connections. Also, be sure to set the MailPort property to the TLS/SSL POP3 port number, which is typically 995.

The default value of this property is 0.

top
PopUsername
string
# ckStr is a CkString
CkMailMan_get_PopUsername $this $ckStr
set strVal [CkMailMan_get_popUsername $this]
CkMailMan_put_PopUsername $this $strVal

The POP3 login name.

If the Pop3SPA property is set, the PopUsername and PopPassword properties may be set to the string default to cause the component to use the current logged-on credentials (of the calling process) for authentication.

top
PreferIpv6
boolean 1/0
set boolVal [CkMailMan_get_PreferIpv6 $this]
CkMailMan_put_PreferIpv6 $this $boolVal

If 1, then use IPv6 over IPv4 when both are supported for a particular domain. The default value of this property is 0, which will choose IPv4 over IPv6.

top
ReadTimeout
integer
set intVal [CkMailMan_get_ReadTimeout $this]
CkMailMan_put_ReadTimeout $this $intVal

The maximum time to wait, in seconds, if the POP3 or SMTP server stops responding. The default value is 30 seconds.

More Information and Examples
top
RequireSslCertVerify
boolean 1/0
set boolVal [CkMailMan_get_RequireSslCertVerify $this]
CkMailMan_put_RequireSslCertVerify $this $boolVal

If 1, then the mailman will verify the SMTP or POP3 server's SSL certificate when connecting. The certificate is expired, or if the cert's signature is invalid, the connection is not allowed. The default value of this property is 0. (Obviously, this only applies to SSL/TLS connections.)

top
ResetDateOnLoad
boolean 1/0
set boolVal [CkMailMan_get_ResetDateOnLoad $this]
CkMailMan_put_ResetDateOnLoad $this $boolVal

Controls whether the Date header field is reset to the current date/time when an email is loaded from LoadMbx, LoadEml, LoadMime, LoadXml, or LoadXmlString. The default is 0 (to not reset the date). To automatically reset the date, set this property equal to 1.

top
SendBufferSize
integer
set intVal [CkMailMan_get_SendBufferSize $this]
CkMailMan_put_SendBufferSize $this $intVal

The buffer size to be used with the underlying TCP/IP socket for sending. The default value is 32767.

top
SendIndividual
boolean 1/0
set boolVal [CkMailMan_get_SendIndividual $this]
CkMailMan_put_SendIndividual $this $boolVal

Determines how emails are sent to distribution lists. If 1, emails are sent to each recipient in the list one at a time, with the Toheader field containing the email address of the recipient. If 0, emails will contain in the Toheader field, and are sent to 100 BCC recipients at a time. As an example, if your distribution list contained 350 email addresses, 4 emails would be sent, the first 3 having 100 BCC recipients, and the last email with 50 BCC recipients.The default value of this property is 1.

top
SizeLimit
integer
set intVal [CkMailMan_get_SizeLimit $this]
CkMailMan_put_SizeLimit $this $intVal

The MailMan will not try to retrieve mail messages from a POP3 server that are greater than this size limit. The default value is 0 indicating no size limit. The SizeLimit is specified in number of bytes.

top
SmtpAuthMethod
string
# ckStr is a CkString
CkMailMan_get_SmtpAuthMethod $this $ckStr
set strVal [CkMailMan_get_smtpAuthMethod $this]
CkMailMan_put_SmtpAuthMethod $this $strVal

This property should usually be left empty. The MailMan will by default choose the most secure login method available to prevent unencrypted username and passwords from being transmitted if possible. However, some SMTP servers may not advertise the acceptable authorization methods, and therefore it is not possible to automatically determine the best authorization method. To force a particular auth method, or to prevent any authorization from being used, set this property to one of the following values: NONE, LOGIN, PLAIN, CRAM-MD5, or NTLM.

Note: If NTLM authentication does not succeed, set the Global.DefaultNtlmVersion property equal to 1 and then retry.

top
SmtpFailReason
string
# ckStr is a CkString
CkMailMan_get_SmtpFailReason $this $ckStr
set strVal [CkMailMan_get_smtpFailReason $this]
Introduced in version 9.5.0.48

A keyword that indicates the cause of failure (or success) for the last SMTP related method called. Possible values are:

  1. Success The method call was successful.
  2. Failed A general failure not covered by any of the other possible keywords.
  3. NoValidRecipients The SMTP server rejected all receipients.
  4. NoRecipients The app failed to provide any recipients (TO, CC, or BCC).
  5. SomeBadRecipients The AllOrNone property is 1, and some recipients were rejected by the SMTP server.
  6. Aborted The application aborted the method.
  7. NoFrom The failed to provide a FROM address.
  8. FromFailure The SMTP replied with an error in response to the MAIL FROM command.
  9. NoCredentials The application did not provide the required credentials, such as username or password.
  10. AuthFailure The login (authentication) failed.
  11. DataFailure The SMTP replied with an error in response to the DATA command.
  12. NoSmtpHostname The application failed to provide an SMTP hostname or IP address.
  13. StartTlsFailed Failed to convert the TCP connection to TLS via STARTTLS.
  14. ConnectFailed Unable to establish a TCP or TLS connection to the SMTP server.
  15. GreetingError The SMTP server immediately responded with an error status in the intial greeting.
  16. ConnectionLost The connection to the SMTP server was lost at some point during the method call.
  17. Timeout A timeout occurred when reading or writing the socket connection.
  18. RenderFailed A failure occurred when rendering the email. (Rendering the email for sending includes tasks such as signing or encrypting.)
  19. NotUnlocked The UnlockBundle method was not previously called on at least one instance of the mailman object.
  20. InternalFailure An internal failure that should be reported to Chilkat support.

top
SmtpHost
string
# ckStr is a CkString
CkMailMan_get_SmtpHost $this $ckStr
set strVal [CkMailMan_get_smtpHost $this]
CkMailMan_put_SmtpHost $this $strVal

The domain name of the SMTP server. Do not include http:// in the domain name. This property may also be set to an IP address string, such as 168.144.70.227. Both IPv4 and IPv6 address formats are supported.

More Information and Examples
top
SmtpLoginDomain
string
# ckStr is a CkString
CkMailMan_get_SmtpLoginDomain $this $ckStr
set strVal [CkMailMan_get_smtpLoginDomain $this]
CkMailMan_put_SmtpLoginDomain $this $strVal

The Windows domain for logging into the SMTP server. Use this only if your SMTP server requires NTLM authentication, which means your SMTP server uses Integrated Windows Authentication. If there is no domain, this can be left empty.

top
SmtpMailFrom
string
# ckStr is a CkString
CkMailMan_get_SmtpMailFrom $this $ckStr
set strVal [CkMailMan_get_smtpMailFrom $this]
CkMailMan_put_SmtpMailFrom $this $strVal
Introduced in version 11.0.0

This is the email address passed in the MAIL FROM command in the SMTP protocol. It specifies the envelope sender address — the address that will receive bounces (delivery failure messages), and is the originator of the SMTP transaction.

  • SMTP servers may reject MAIL FROM addresses based on DNS or policy (SPF records)
  • Bounce messages (delivery failure notifications) are sent to the address in MAIL FROM

This property is empty by default. If this property is left empty, which is typical, the email address in the From MIME header of the email is used as the MAIL FROM address.

top
SmtpPassword
string
# ckStr is a CkString
CkMailMan_get_SmtpPassword $this $ckStr
set strVal [CkMailMan_get_smtpPassword $this]
CkMailMan_put_SmtpPassword $this $strVal

The password for logging into the SMTP server. Use this only if your SMTP server requires authentication. Chilkat Email.NET supports the LOGIN, PLAIN, CRAM-MD5, and NTLM login methods, and it will automatically choose the most secure method available. Additional login methods will be available in the future.

If NTLM (Windows-Integrated) authentication is used, the SmtpUsername and SmtpPassword properties may be set to the string default to cause the component to use the current logged-on credentials (of the calling process) for authentication.

top
SmtpPipelining
boolean 1/0
set boolVal [CkMailMan_get_SmtpPipelining $this]
CkMailMan_put_SmtpPipelining $this $boolVal
Introduced in version 9.5.0.49

Controls whether SMTP pipelining is automatically used when the SMTP server indicates support for it. The default is 1. Setting this property equal to 0 will prevent the SMTP pipelining feature from being used.

top
SmtpPort
integer
set intVal [CkMailMan_get_SmtpPort $this]
CkMailMan_put_SmtpPort $this $intVal

The port number of the SMTP server used to send email. Only needs to be set if the SMTP server is running on a non-standard port. The default value is 25. If SmtpSsl is set to 1, this property should be set to 465. (TCP port 465 is reserved by common industry practice for secure SMTP communication using the SSL protocol.)

top
SmtpSessionLog
string
# ckStr is a CkString
CkMailMan_get_SmtpSessionLog $this $ckStr
set strVal [CkMailMan_get_smtpSessionLog $this]

This string property accumulates the raw commands sent to the SMTP server, and the raw responses received from the SMTP server. This property is read-only, but it may be cleared by calling ClearSmtpSessionLog.

More Information and Examples
top
SmtpSsl
boolean 1/0
set boolVal [CkMailMan_get_SmtpSsl $this]
CkMailMan_put_SmtpSsl $this $boolVal

When set to 1, causes the mailman to connect to the SMTP server with implicit SSL/TLS.

top
SmtpSslServerCertVerified
boolean 1/0
set boolVal [CkMailMan_get_SmtpSslServerCertVerified $this]

If using SSL, this property will be set to 1 if the SMTP server's SSL certificate was verified when establishing the connection. Otherwise it is set to 0.

top
SmtpUsername
string
# ckStr is a CkString
CkMailMan_get_SmtpUsername $this $ckStr
set strVal [CkMailMan_get_smtpUsername $this]
CkMailMan_put_SmtpUsername $this $strVal

The login for logging into the SMTP server. Use this only if your SMTP server requires authentication.

Note: In many cases, an SMTP server will not require authentication when sending to an email address local to it's domain. However, when sending email to an external domain, authentication is required (i.e. the SMTP server is being used as a relay).

If the SmtpAuthMethod property is set to NTLM, the SmtpUsername and SmtpPassword properties may be set to the string default to use the current Windows logged-on user credentials.

smtp.office365.com: If SMTP authentication fails for your smtp.office365.com account, it may be that your account is configured to require MFA (multi-factor authentication). You may need to change settings to allow for legacy authentication (single-factor auth). See https://docs.microsoft.com/en-us/azure/active-directory/conditional-access/block-legacy-authentication Also, an app password may be required. See https://docs.microsoft.com/en-us/azure/active-directory/user-help/multi-factor-authentication-end-user-app-passwords

More Information and Examples
top
SocksHostname
string
# ckStr is a CkString
CkMailMan_get_SocksHostname $this $ckStr
set strVal [CkMailMan_get_socksHostname $this]
CkMailMan_put_SocksHostname $this $strVal

The SOCKS4/SOCKS5 hostname or IPv4 address (in dotted decimal notation). This property is only used if the SocksVersion property is set to 4 or 5).

top
SocksPassword
string
# ckStr is a CkString
CkMailMan_get_SocksPassword $this $ckStr
set strVal [CkMailMan_get_socksPassword $this]
CkMailMan_put_SocksPassword $this $strVal

The SOCKS5 password (if required). The SOCKS4 protocol does not include the use of a password, so this does not apply to SOCKS4.

top
SocksPort
integer
set intVal [CkMailMan_get_SocksPort $this]
CkMailMan_put_SocksPort $this $intVal

The SOCKS4/SOCKS5 proxy port. The default value is 1080. This property only applies if a SOCKS proxy is used (if the SocksVersion property is set to 4 or 5).

top
SocksUsername
string
# ckStr is a CkString
CkMailMan_get_SocksUsername $this $ckStr
set strVal [CkMailMan_get_socksUsername $this]
CkMailMan_put_SocksUsername $this $strVal

The SOCKS4/SOCKS5 proxy username. This property is only used if the SocksVersion property is set to 4 or 5).

top
SocksVersion
integer
set intVal [CkMailMan_get_SocksVersion $this]
CkMailMan_put_SocksVersion $this $intVal

May be set to one of the following integer values:

0 - No SOCKS proxy is used. This is the default.
4 - Connect via a SOCKS4 proxy.
5 - Connect via a SOCKS5 proxy.

top
SoRcvBuf
integer
set intVal [CkMailMan_get_SoRcvBuf $this]
CkMailMan_put_SoRcvBuf $this $intVal

Sets the receive buffer size socket option. Normally, this property should be left unchanged. The default value is 4194304.

This property can be increased if download performance seems slow. It is recommended to be a multiple of 4096.

top
SoSndBuf
integer
set intVal [CkMailMan_get_SoSndBuf $this]
CkMailMan_put_SoSndBuf $this $intVal

Sets the send buffer size socket option. Normally, this property should be left unchanged. The default value is 262144.

This property can be increased if upload performance seems slow. It is recommended to be a multiple of 4096. Testing with sizes such as 512K and 1MB is reasonable.

top
SslAllowedCiphers
string
# ckStr is a CkString
CkMailMan_get_SslAllowedCiphers $this $ckStr
set strVal [CkMailMan_get_sslAllowedCiphers $this]
CkMailMan_put_SslAllowedCiphers $this $strVal
Introduced in version 9.5.0.48

Provides a means for setting a list of ciphers that are allowed for SSL/TLS connections. The default (empty string) indicates that all implemented ciphers are possible. The TLS ciphers supported in Chilkat v9.5.0.55 and later are:

TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_RC4_128_MD5
TLS_DHE_RSA_WITH_DES_CBC_SHA
TLS_RSA_WITH_DES_CBC_SHA
To restrict SSL/TLS connections to one or more specific ciphers, set this property to a comma-separated list of ciphers such as TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384. The order should be in terms of preference, with the preferred algorithms listed first. (Note that the client cannot specifically choose the algorithm is picked because it is the server that chooses. The client simply provides the server with a list from which to choose.)

The property can also disallow connections with servers having certificates with RSA keys less than a certain size. By default, server certificates having RSA keys of 512 bits or greater are allowed. Add the keyword rsa1024 to disallow connections with servers having keys smaller than 1024 bits. Add the keyword rsa2048 to disallow connections with servers having keys smaller than 2048 bits.

Note: Prior to Chilkat v9.5.0.55, it was not possible to explicitly list allowed cipher suites. The deprecated means for indicating allowed ciphers was both incomplete and unprecise. For example, the following keywords could be listed to allow matching ciphers: aes256-cbc, aes128-cbc, 3des-cbc, and rc4. These keywords will still be recognized, but programs should be updated to explicitly list the allowed ciphers.

secure-renegotiation: Starting in Chilkat v9.5.0.55, the keyword secure-renegotiation may be added to require that all renegotions be done securely (as per RFC 5746).

best-practices: Starting in Chilkat v9.5.0.55, this property may be set to the single keyword best-practices. This will allow ciphers based on the current best practices. As new versions of Chilkat are released, the best practices may change. Changes will be noted here. The current best practices are:

  • If the server uses an RSA key, it must be 1024 bits or greater.
  • All renegotations must be secure renegotiations.
  • All ciphers using RC4, DES, or 3DES are disallowed.

Example: The following string would restrict to 2 specific cipher suites, require RSA keys to be 1024 bits or greater, and require secure renegotiations: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, rsa1024, secure-renegotiation

top
SslProtocol
string
# ckStr is a CkString
CkMailMan_get_SslProtocol $this $ckStr
set strVal [CkMailMan_get_sslProtocol $this]
CkMailMan_put_SslProtocol $this $strVal
Introduced in version 9.5.0.46

Selects the secure protocol to be used for secure (SSL/TLS) connections (for both SMTP and POP3). Possible values are:

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 will choose the, which allows for the protocol to be selected dynamically at runtime based on the requirements of the server. Choosing an exact protocol will cause the connection to fail unless that exact protocol is negotiated. It is better to choose X or higher than an exact protocol. The default is effectively SSL 3.0 or higher.

top
StartTLS
boolean 1/0
set boolVal [CkMailMan_get_StartTLS $this]
CkMailMan_put_StartTLS $this $boolVal

When set to 1, causes the mailman to issue a STARTTLS command to switch over to a secure SSL/TLS connection prior to authenticating and sending email. The default value is 0.

Note: This property applies to SMTP, not to POP3.

More Information and Examples
top
StartTLSifPossible
boolean 1/0
set boolVal [CkMailMan_get_StartTLSifPossible $this]
CkMailMan_put_StartTLSifPossible $this $boolVal
Introduced in version 9.5.0.67

When set to 1, causes the mailman to do STARTTLS (if possible and supported by the server) to convert to a secure SMTP SSL/TLS connection prior to authenticating and sending email. The default value is 1.

Note: Setting the StartTLS property = 1 causes STARTTLS to always be used, even if the SMTP server does not support it. This property allows for a non-encrypted connection, whereas the StartTLS property disallows non-encrypted connections.

Note: This property applies to SMTP, not to POP3.

top
TlsCipherSuite
string
# ckStr is a CkString
CkMailMan_get_TlsCipherSuite $this $ckStr
set strVal [CkMailMan_get_tlsCipherSuite $this]
Introduced in version 9.5.0.49

Contains the current or last negotiated TLS cipher suite. If no TLS connection has yet to be established, or if a connection as attempted and failed, then this will be empty. A sample cipher suite string looks like this: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256.

top
TlsPinSet
string
# ckStr is a CkString
CkMailMan_get_TlsPinSet $this $ckStr
set strVal [CkMailMan_get_tlsPinSet $this]
CkMailMan_put_TlsPinSet $this $strVal
Introduced in version 9.5.0.55

Specifies a set of pins for Public Key Pinning for TLS connections. This property lists the expected SPKI fingerprints for the server certificates. If the server's certificate (sent during the TLS handshake) does not match any of the SPKI fingerprints, then the TLS handshake is aborted and the connection fails. The format of this string property is as follows:

hash_algorithm, encoding, SPKI_fingerprint_1, SPKI_fingerprint_2, ...
For example, the following string specifies a single sha256 base64-encoded SPKI fingerprint:
"sha256, base64, lKg1SIqyhPSK19tlPbjl8s02yChsVTDklQpkMCHvsTE="
This example specifies two SPKI fingerprints:
"sha256, base64, 4t37LpnGmrMEAG8HEz9yIrnvJV2euVRwCLb9EH5WZyI=, 68b0G5iqMvWVWvUCjMuhLEyekM5729PadtnU5tdXZKs="
Any of the following hash algorithms are allowed:.sha1, sha256, sha384, sha512, md2, md5, haval, ripemd128, ripemd160,ripemd256, or ripemd320.

The following encodings are allowed: base64, hex, and any of the encodings indicated in the link below.

More Information and Examples
top
TlsVersion
string
# ckStr is a CkString
CkMailMan_get_TlsVersion $this $ckStr
set strVal [CkMailMan_get_tlsVersion $this]
Introduced in version 9.5.0.49

Contains the current or last negotiated TLS protocol version. If no TLS connection has yet to be established, or if a connection as attempted and failed, then this will be empty. Possible values are SSL 3.0, TLS 1.0, TLS 1.1, TLS 1.2, and TLS 1.3.

top
UncommonOptions
string
# ckStr is a CkString
CkMailMan_get_UncommonOptions $this $ckStr
set strVal [CkMailMan_get_uncommonOptions $this]
CkMailMan_put_UncommonOptions $this $strVal
Introduced in version 9.5.0.80

This is a catch-all property to be used for uncommon needs. This property defaults to the empty string and should typically remain empty. Can be set to a list of the following comma separated keywords:

  • ProtectFromVpn - Introduced in v9.5.0.80. On Android systems, will bypass any VPN that may be installed or active.
  • SmtpLoginAnsi - Introduced in v9.5.0.97. If the SMTP login and/or password contains non-us-ascii chars, some SMTP servers expect the utf-8 encoding, whereas others expect ANSI. Historically, Chilkat passed the login/password using the ANSI encoding. Starting in v9.5.0.97, Chilkat switched to using the utf-8 encoding. This uncommon option can be used to revert back to the old behavior of sending the ANSI byte representation.

More Information and Examples
top
UseApop
boolean 1/0
set boolVal [CkMailMan_get_UseApop $this]
CkMailMan_put_UseApop $this $boolVal

If 1, will automatically use APOP authentication if the POP3 server supports it. The default value of this property is 0.

top
Utf8
boolean 1/0
set boolVal [CkMailMan_get_Utf8 $this]
CkMailMan_put_Utf8 $this $boolVal

When set to 1, all string arguments and return values are interpreted as UTF-8 strings. When set to 0, they are interpreted as ANSI strings.

In Chilkat v11.0.0 and later, the default value is 1. Before v11.0.0, it was 0.

top
VerboseLogging
boolean 1/0
set boolVal [CkMailMan_get_VerboseLogging $this]
CkMailMan_put_VerboseLogging $this $boolVal

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

top
Version
string
# ckStr is a CkString
CkMailMan_get_Version $this $ckStr
set strVal [CkMailMan_get_version $this]

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

More Information and Examples
top

Methods

AddPfxSourceBd
# bd is a CkBinData
# password is a string
set status [CkMailMan_AddPfxSourceBd $this $bd $password]
Introduced in version 11.0.0

Adds a PFX file to the object's list of sources for locating certificates and private keys during decryption or signing. To add multiple PFX sources, call this method for each file. bd should contain the bytes of a PFX file (also known as PKCS12 or .p12). The password is the password to the PFX.

Returns 1 for success, 0 for failure.

top
AddPfxSourceFile
# pfxFilePath is a string
# password is a string
set status [CkMailMan_AddPfxSourceFile $this $pfxFilePath $password]

Adds a PFX file to the object's internal list of sources to be searched for certificates and private keys when decrypting or when sending signed email. Multiple PFX files can be added by calling this method once for each. (On the Windows operating system, the registry-based certificate stores are also automatically searched, so it is commonly not required to explicitly add PFX sources.)

The pfxFilePath contains the bytes of a PFX file (also known as PKCS12 or .p12).

Returns 1 for success, 0 for failure.

top
CheckMail
set retInt [CkMailMan_CheckMail $this]

Returns the number of emails available on the POP3 server. Returns -1 on error.

The VerifyPopConnection method can be called to verify basic TCP/IP connectivity with the POP3 server. The VerifyPopLogin method can be called to verify the POP3 login. The Verify* methods are intended to be called as a way of diagnosing the failure when a POP3 method returns an error status.

top
CheckMailAsync (1)
# returns a CkTask
set ret_task [CkMailMan_CheckMailAsync $this]

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

Returns NULL on failure

top
ClearBadEmailAddresses
CkMailMan_ClearBadEmailAddresses $this

Clears the list of bad email addresses stored within the Mailman object. When an email-sending method is called, any email addresses rejected by the SMTP server will be cached within the Mailman object. These can be accessed by calling the GetBadEmailAddresses method. This method clears the Mailman's in-memory cache of bad addresses.

top
ClearPop3SessionLog
CkMailMan_ClearPop3SessionLog $this

Clears the contents of the Pop3SessionLog property.

top
ClearSmtpSessionLog
CkMailMan_ClearSmtpSessionLog $this

Clears the contents of the SmtpSessionLog property.

top
CloseSmtpConnection
set status [CkMailMan_CloseSmtpConnection $this]

The mailman object automatically opens an SMTP connection (if necessary) whenever an email-sending method is called. The connection is kept open until explicitly closed by this method. Calling this method is entirely optional. The SMTP connection is also automatically closed when the mailman object is destructed. Thus, if an application calls SendEmail 10 times to send 10 emails, the 1st call will open the SMTP connection, while the subsequent 9 will send over the existing connection (unless a property such as username, login, hostname, etc. is changed, which would force the connection to become closed and re-established with the next mail-sending method call).

Note: This method sends a QUIT command to the SMTP server prior to closing the connection.

Returns 1 for success, 0 for failure.

More Information and Examples
top
CloseSmtpConnectionAsync (1)
# returns a CkTask
set ret_task [CkMailMan_CloseSmtpConnectionAsync $this]

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

Returns NULL on failure

top
DeleteBundle
# emailBundle is a CkEmailBundle
set status [CkMailMan_DeleteBundle $this $emailBundle]

Marks multiple emails on the POP3 server for deletion. (Each email in emailBundle that is also present on the server 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 1, which is the default. If ImmediateDelete equals 0, 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 1 for success, 0 for failure.

top
DeleteBundleAsync (1)
# returns a CkTask
# emailBundle is a CkEmailBundle
set ret_task [CkMailMan_DeleteBundleAsync $this $emailBundle]

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

Returns NULL on failure

top
DeleteByMsgnum
# msgnum is an integer
set status [CkMailMan_DeleteByMsgnum $this $msgnum]

Marks an email for deletion 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 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).

This method only marks an email for deletion. It is not actually removed from the maildrop until the POP3 session is explicitly ended by calling Pop3EndSession.

Returns 1 for success, 0 for failure.

top
DeleteByMsgnumAsync (1)
# returns a CkTask
# msgnum is an integer
set ret_task [CkMailMan_DeleteByMsgnumAsync $this $msgnum]

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

Returns NULL on failure

top
DeleteByUidl
# uidl is a string
set status [CkMailMan_DeleteByUidl $this $uidl]

Marks an email on the POP3 server for deletion. To complete the deletion of an email, a QUIT message must be sent and the POP3 session ended. This will happen automatically when the ImmediateDelete property equals 1, which is the default. If ImmediateDelete equals 0, 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 1 for success, 0 for failure.

top
DeleteByUidlAsync (1)
# returns a CkTask
# uidl is a string
set ret_task [CkMailMan_DeleteByUidlAsync $this $uidl]

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

Returns NULL on failure

top
DeleteEmail
# email is a CkEmail
set status [CkMailMan_DeleteEmail $this $email]

Marks an email on the POP3 server for deletion. To complete the deletion of an email, a QUIT message must be sent and the POP3 session ended. This will happen automatically when the ImmediateDelete property equals 1, which is the default. If ImmediateDelete equals 0, 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 1 for success, 0 for failure.

top
DeleteEmailAsync (1)
# returns a CkTask
# email is a CkEmail
set ret_task [CkMailMan_DeleteEmailAsync $this $email]

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

Returns NULL on failure

top
DeleteUidlSet
# stUidls is a CkStringTable
set status [CkMailMan_DeleteUidlSet $this $stUidls]
Introduced in version 11.1.0

Marks multiple emails for deletion on the POP3 server when their UIDL matches any in stUidls. To finalize deletions, a QUIT message must be sent and the POP3 session closed. This occurs automatically when the ImmediateDelete property is set to 1 (default setting). If ImmediateDelete is 0, use the Pop3EndSession method to manually send the QUIT message and disconnect.

Note: When making multiple Delete* method calls, it's advisable to set ImmediateDelete to 0 and manually execute Pop3EndSession to complete deletions. Any method that requires server communication will automatically re-establish a session according to the current property settings.

Returns 1 for success, 0 for failure.

top
DeleteUidlSetAsync (1)
# returns a CkTask
# stUidls is a CkStringTable
set ret_task [CkMailMan_DeleteUidlSetAsync $this $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
# keepOnServer is a boolean
# headersOnly is a boolean
# numBodyLines is an integer
# bundle is a CkEmailBundle
set status [CkMailMan_FetchAll $this $keepOnServer $headersOnly $numBodyLines $bundle]
Introduced in version 11.0.0

Retrieves all emails from the POP3 server. If keepOnServer is 1, emails remain on the server. If headersOnly is 1, only the headers and the first numBodyLines lines of each email are downloaded, excluding attachments. Otherwise, the entire emails with attachments are downloaded. The emails are stored in bundle.

Note: keepOnServer only applies when downloading full emails (not headers-only). Downloading headers-only will not cause the email to be deleted from the server, regardless of keepOnServer.

Returns 1 for success, 0 for failure.

More Information and Examples
top
FetchAllAsync (1)
# returns a CkTask
# keepOnServer is a boolean
# headersOnly is a boolean
# numBodyLines is an integer
# bundle is a CkEmailBundle
set ret_task [CkMailMan_FetchAllAsync $this $keepOnServer $headersOnly $numBodyLines $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
# uidl is a string
# headerOnly is a boolean
# numBodyLines is an integer
# email is a CkEmail
set status [CkMailMan_FetchByUidl $this $uidl $headerOnly $numBodyLines $email]
Introduced in version 11.0.0

Retrieves either the complete email or just the header along with the first N lines of the message body from the POP3 server specified by uidl, without deleting the email from the server.

Returns 1 for success, 0 for failure.

top
FetchByUidlAsync (1)
# returns a CkTask
# uidl is a string
# headerOnly is a boolean
# numBodyLines is an integer
# email is a CkEmail
set ret_task [CkMailMan_FetchByUidlAsync $this $uidl $headerOnly $numBodyLines $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
# partialEmail is a CkEmail
# fullEmail is a CkEmail
set status [CkMailMan_FetchFull $this $partialEmail $fullEmail]
Introduced in version 11.0.0

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

Returns 1 for success, 0 for failure.

top
FetchFullAsync (1)
# returns a CkTask
# partialEmail is a CkEmail
# fullEmail is a CkEmail
set ret_task [CkMailMan_FetchFullAsync $this $partialEmail $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
# uidl is a string
# mimeData is a CkBinData
set status [CkMailMan_FetchMimeBd $this $uidl $mimeData]
Introduced in version 9.5.0.73

Fetches an email by UIDL and returns the MIME source of the email in uidl.

Returns 1 for success, 0 for failure.

More Information and Examples
top
FetchMimeBdAsync (1)
# returns a CkTask
# uidl is a string
# mimeData is a CkBinData
set ret_task [CkMailMan_FetchMimeBdAsync $this $uidl $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
# msgnum is an integer
# bd is a CkBinData
set status [CkMailMan_FetchMimeByMsgnumBd $this $msgnum $bd]
Introduced in version 11.0.0

Retrieves an email by its message number and provides the MIME source in bd. Note: Message numbers are unique to each POP3 session. For instance, if there are 10 messages in the maildrop, they will be numbered 1 through 10. If message 1 is deleted and a new POP3 session is started, the remaining messages will be renumbered from 1 to 9. Please note that a POP3 connection must be established beforehand. This can be done by explicitly calling Pop3BeginSession or through other methods that implicitly start the session. This method does not initiate a POP3 session automatically.

Returns 1 for success, 0 for failure.

top
FetchMimeByMsgnumBdAsync (1)
# returns a CkTask
# msgnum is an integer
# bd is a CkBinData
set ret_task [CkMailMan_FetchMimeByMsgnumBdAsync $this $msgnum $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
# headerOnly is a boolean
# numBodyLines is an integer
# msgNum is an integer
# email is a CkEmail
set status [CkMailMan_FetchOne $this $headerOnly $numBodyLines $msgNum $email]
Introduced in version 11.0.0

Retrieves a complete message or header by its message number and stores it in msgNum. The first email has a message number of 1. Messages fetched by this method remain on the server.

Note: Message numbers are unique to each POP3 session.

Returns 1 for success, 0 for failure.

top
FetchOneAsync (1)
# returns a CkTask
# headerOnly is a boolean
# numBodyLines is an integer
# msgNum is an integer
# email is a CkEmail
set ret_task [CkMailMan_FetchOneAsync $this $headerOnly $numBodyLines $msgNum $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
# keepOnServer is a boolean
# headersOnly is a boolean
# numBodyLines is an integer
# startIndex is an integer
# endIndex is an integer
# bundle is a CkEmailBundle
set status [CkMailMan_FetchRange $this $keepOnServer $headersOnly $numBodyLines $startIndex $endIndex $bundle]
Introduced in version 11.0.0

Retrieves a specified range of emails from the POP3 server. If keepOnServer is 1, the emails remain on the server. If headersOnly is 1, only the headers and the first numBodyLines lines of each email are downloaded, without attachments. Otherwise, the entire emails, including attachments, are downloaded. The range of emails to download is determined by startIndex and endIndex. The GetMailboxCount method returns the total number of emails in the POP3 mailbox, with the first email at index 0. The downloaded emails are stored in bundle.

Note: keepOnServer only applies when downloading full emails (not headers-only). Downloading headers-only will not cause the email to be deleted from the server, regardless of keepOnServer.

Returns 1 for success, 0 for failure.

top
FetchRangeAsync (1)
# returns a CkTask
# keepOnServer is a boolean
# headersOnly is a boolean
# numBodyLines is an integer
# startIndex is an integer
# endIndex is an integer
# bundle is a CkEmailBundle
set ret_task [CkMailMan_FetchRangeAsync $this $keepOnServer $headersOnly $numBodyLines $startIndex $endIndex $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
# uidls is a CkStringTable
set status [CkMailMan_FetchUidls $this $uidls]
Introduced in version 11.0.0

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

POP3 UIDLs (Unique ID Listings) are persistent, unique identifiers assigned by a mail server to each email message in a mailbox. Unlike message numbers, which can change between sessions, UIDLs remain consistent as long as the message exists, allowing email clients to track which messages have already been downloaded—even across multiple sessions—without re-fetching the same emails.

Returns 1 for success, 0 for failure.

top
FetchUidlsAsync (1)
# returns a CkTask
# uidls is a CkStringTable
set ret_task [CkMailMan_FetchUidlsAsync $this $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
# uidls is a CkStringTable
# headersOnly is a boolean
# numBodyLines is an integer
# bundle is a CkEmailBundle
set status [CkMailMan_FetchUidlSet $this $uidls $headersOnly $numBodyLines $bundle]
Introduced in version 11.0.0

Fetches the email headers or full emails from the POP3 server whose UIDL is present in the uidls. If headersOnly is 1, only the headers and the first numBodyLines lines of each email are downloaded, excluding attachments. Otherwise, the entire emails with attachments are downloaded. The emails are stored in bundle. The downloaded emails are not deleted from the server.

Returns 1 for success, 0 for failure.

top
FetchUidlSetAsync (1)
# returns a CkTask
# uidls is a CkStringTable
# headersOnly is a boolean
# numBodyLines is an integer
# bundle is a CkEmailBundle
set ret_task [CkMailMan_FetchUidlSetAsync $this $uidls $headersOnly $numBodyLines $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
# json is a CkJsonObject
CkMailMan_GetLastJsonData $this $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
set retInt [CkMailMan_GetMailboxCount $this]

Returns the number of emails on the POP3 server, or -1 for failure.

This method is identical to CheckEmail. It was added for clarity.

top
GetMailboxCountAsync (1)
# returns a CkTask
set ret_task [CkMailMan_GetMailboxCountAsync $this]

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

Returns NULL on failure

top
GetMailboxInfoXml
# outXml is a CkString (output)
set status [CkMailMan_GetMailboxInfoXml $this $outStr]
set retStr [CkMailMan_getMailboxInfoXml $this]

Returns an XML document with information about the emails in a POP3 mailbox. The XML contains the UIDL and size (in bytes) of each email in the mailbox.

Returns 1 for success, 0 for failure.

More Information and Examples
top
GetMailboxInfoXmlAsync (1)
# returns a CkTask
set ret_task [CkMailMan_GetMailboxInfoXmlAsync $this]

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

Returns NULL on failure

top
GetMailboxSize
set retInt [CkMailMan_GetMailboxSize $this]

Returns the total combined size in bytes of all the emails in the POP3 mailbox. This is also known as the mail drop size. Returns -1 on failure.

top
GetMailboxSizeAsync (1)
# returns a CkTask
set ret_task [CkMailMan_GetMailboxSizeAsync $this]

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

Returns NULL on failure

top
GetServerCert
# useSmtp is a boolean
# cert is a CkCert
set status [CkMailMan_GetServerCert $this $useSmtp $cert]
Introduced in version 11.0.0

If the current connection is SSL/TLS, this method returns the digital certificate of the SMTP or POP3 server specified by useSmtp. The certificate is returned in cert.

Returns 1 for success, 0 for failure.

top
GetSizeByUidl
# uidl is a string
set retInt [CkMailMan_GetSizeByUidl $this $uidl]

Returns the size of an email (including attachments) given the UIDL of the email on the POP3 server. Returns -1 for failure.

top
GetSizeByUidlAsync (1)
# returns a CkTask
# uidl is a string
set ret_task [CkMailMan_GetSizeByUidlAsync $this $uidl]

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

Returns NULL on failure

top
IsSmtpDsnCapable
set retBool [CkMailMan_IsSmtpDsnCapable $this]

Contacts the SMTP server and determines if it supports the DSN (Delivery Status Notification) features specified by RFC 3461 and supported by the DsnEnvid, DsnNotify, and DsnRet properties. Returns 1 if the SMTP server supports DSN, otherwise returns 0.

top
IsSmtpDsnCapableAsync (1)
# returns a CkTask
set ret_task [CkMailMan_IsSmtpDsnCapableAsync $this]

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

Returns NULL on failure

top
LoadMbxFile
# mbxPath is a string
# bundle is a CkEmailBundle
set status [CkMailMan_LoadMbxFile $this $mbxPath $bundle]
Introduced in version 11.0.0

Loads a .mbx file containing emails and returns in bundle. If a Filter is present, only emails that match the filter are returned.

Returns 1 for success, 0 for failure.

top
LoadTaskCaller
# task is a CkTask
set status [CkMailMan_LoadTaskCaller $this $task]
Introduced in version 9.5.0.80

Loads the caller of the task's async method.

Returns 1 for success, 0 for failure.

top
OpenSmtpConnection
set status [CkMailMan_OpenSmtpConnection $this]

Explicitly opens a connection to the SMTP server and authenticates (if a username/password was specified). Calling this method is optional because the SendEmail method and other mail-sending methods will automatically open the connection to the SMTP server if one is not already established.

Note: This method is the equivalent of calling SmtpConnect followed by SmtpAuthenticate.

Returns 1 for success, 0 for failure.

top
OpenSmtpConnectionAsync (1)
# returns a CkTask
set ret_task [CkMailMan_OpenSmtpConnectionAsync $this]

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

Returns NULL on failure

top
Pop3Authenticate
set status [CkMailMan_Pop3Authenticate $this]
Introduced in version 9.5.0.56

Authenticates with the POP3 server using the property settings such as PopUsername, PopPassword, etc. This method should only be called after a successful call to Pop3Connect.

Note 1: The Pop3BeginSession method both connects and authenticates. It is the equivalent of calling Pop3Connect followed by Pop3Authenticate.

Note 2: All methods that communicate with the POP3 server, such as FetchEmail, will automatically connect and authenticate if not already connected and authenticated.

Returns 1 for success, 0 for failure.

top
Pop3AuthenticateAsync (1)
# returns a CkTask
set ret_task [CkMailMan_Pop3AuthenticateAsync $this]
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
set status [CkMailMan_Pop3BeginSession $this]

Call to explicitly begin a POP3 session. It is not necessary to call this method because any method requiring an established POP3 session will automatically connect and login if a session is not already open.

Important: All TCP-based Internet communications, regardless of the protocol (such as HTTP, FTP, SSH, IMAP, POP3, SMTP, etc.), and regardless of SSL/TLS, begin with establishing a TCP connection to a remote host:port. External security-related infrastructure such as software firewalls (Windows Firewall), hardware firewalls, anti-virus, at either source or destination (or both) can block the connection. If the connection fails, make sure to check all potential external causes of blockage.

Returns 1 for success, 0 for failure.

More Information and Examples
top
Pop3BeginSessionAsync (1)
# returns a CkTask
set ret_task [CkMailMan_Pop3BeginSessionAsync $this]

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

Returns NULL on failure

top
Pop3Connect
set status [CkMailMan_Pop3Connect $this]
Introduced in version 9.5.0.56

Explicitly establishes a connection to the POP3 server, which includes establishing a secure TLS channel if required, and receives the initial greeting. This method stops short of authenticating. The Pop3Authenticate method should be called after a successful call to this method.

When finished transacting with a POP3 mail server you can disconnect by calling Pop3EndSession or Pop3EndSessionNoQuit.

Note 1: The Pop3BeginSession method both connects and authenticates. It is the equivalent of calling Pop3Connect followed by Pop3Authenticate.

Note 2: All methods that communicate with the POP3 server, such as FetchEmail, will automatically connect and authenticate if not already connected and authenticated.

Important: All TCP-based Internet communications, regardless of the protocol (such as HTTP, FTP, SSH, IMAP, POP3, SMTP, etc.), and regardless of SSL/TLS, begin with establishing a TCP connection to a remote host:port. External security-related infrastructure such as software firewalls (Windows Firewall), hardware firewalls, anti-virus, at either source or destination (or both) can block the connection. If the connection fails, make sure to check all potential external causes of blockage.

Returns 1 for success, 0 for failure.

top
Pop3ConnectAsync (1)
# returns a CkTask
set ret_task [CkMailMan_Pop3ConnectAsync $this]
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
set status [CkMailMan_Pop3EndSession $this]

Call to explicitly end a POP3 session (sends the QUIT command and then closes the connection with the POP3 server). If the ImmediateDelete property is set to 0, and emails marked for deletion will be deleted at this time.

Returns 1 for success, 0 for failure.

top
Pop3EndSessionAsync (1)
# returns a CkTask
set ret_task [CkMailMan_Pop3EndSessionAsync $this]

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

Returns NULL on failure

top
Pop3EndSessionNoQuit
set retBool [CkMailMan_Pop3EndSessionNoQuit $this]

This method is identical to Pop3EndSession, but no QUIT command is sent. The client simply disconnects from the POP3 server.

This method should always return 1.

top
Pop3EndSessionNoQuitAsync (1)
# returns a CkTask
set ret_task [CkMailMan_Pop3EndSessionNoQuitAsync $this]

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

Returns NULL on failure

top
Pop3Noop
set status [CkMailMan_Pop3Noop $this]

Sends a NOOP command to the POP3 server. This may be a useful method to call periodically to keep a connection open, or to verify that the POP3 connection (session) is open and functioning.

Returns 1 for success, 0 for failure.

top
Pop3NoopAsync (1)
# returns a CkTask
set ret_task [CkMailMan_Pop3NoopAsync $this]

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

Returns NULL on failure

top
Pop3Reset
set status [CkMailMan_Pop3Reset $this]

Sends a RSET command to the POP3 server. If any messages have been marked as deleted by the POP3 server, they are unmarked. Calling Pop3Reset resets the POP3 session to a valid, known starting point.

Returns 1 for success, 0 for failure.

top
Pop3ResetAsync (1)
# returns a CkTask
set ret_task [CkMailMan_Pop3ResetAsync $this]

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

Returns NULL on failure

top
Pop3SendRawCommand
# command is a string
# charset is a string
# outStr is a CkString (output)
set status [CkMailMan_Pop3SendRawCommand $this $command $charset $outStr]
set retStr [CkMailMan_pop3SendRawCommand $this $command $charset]

Sends a raw command to the POP3 server and returns the POP3 server's response. If non-us-ascii characters are included in command, then charset indicates the charset to be used in sending the command (such as utf-8, ansi, iso-8859-1, Shift_JIS, etc.)

Returns 1 for success, 0 for failure.

top
Pop3SendRawCommandAsync (1)
# returns a CkTask
# command is a string
# charset is a string
set ret_task [CkMailMan_Pop3SendRawCommandAsync $this $command $charset]

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

Returns NULL on failure

top
QuickSend
# fromAddr is a string
# toAddr is a string
# subject is a string
# body is a string
# smtpServer is a string
set status [CkMailMan_QuickSend $this $fromAddr $toAddr $subject $body $smtpServer]

A quick way to send an email to a single recipient without having to explicitly create an email object.

Returns 1 for success, 0 for failure.

top
QuickSendAsync (1)
# returns a CkTask
# fromAddr is a string
# toAddr is a string
# subject is a string
# body is a string
# smtpServer is a string
set ret_task [CkMailMan_QuickSendAsync $this $fromAddr $toAddr $subject $body $smtpServer]

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

Returns NULL on failure

top
RenderToMime
# email is a CkEmail
# outStr is a CkString (output)
set status [CkMailMan_RenderToMime $this $email $outStr]
set retStr [CkMailMan_renderToMime $this $email]

When you call SendEmail , the email is first processed by rendering it with the specified properties and contents. This may include digital signing, encryption, substituting values for placeholders, and encoding header fields if necessary. The RenderToMime method handles this rendering process without sending the email. The resulting MIME text is what would be sent to the SMTP server if SendEmail were called. Essentially, SendEmail is equivalent to executing RenderToMime followed by SendMime. If successful, the rendered MIME string is returned.

Returns 1 for success, 0 for failure.

top
RenderToMimeBd
# email is a CkEmail
# renderedMime is a CkBinData
set status [CkMailMan_RenderToMimeBd $this $email $renderedMime]
Introduced in version 9.5.0.62

The same as RenderToMimeBytes, except the MIME is rendered into renderedMime. The rendered MIME is appended to renderedMime.

Returns 1 for success, 0 for failure.

More Information and Examples
top
RenderToMimeSb
# email is a CkEmail
# renderedMime is a CkStringBuilder
set status [CkMailMan_RenderToMimeSb $this $email $renderedMime]
Introduced in version 9.5.0.62

The same as RenderToMime, except the MIME is rendered into renderedMime. The rendered MIME is appended to renderedMime.

Returns 1 for success, 0 for failure.

top
SendBundle
# bundle is a CkEmailBundle
set status [CkMailMan_SendBundle $this $bundle]

Sends a bundle of emails. This is identical to calling SendEmail for each email in the bundle.

If an error occurs when sending one of the emails in the bundle, it will continue with each subsequent email until each email in the bundle has been attempted (unless a fatal error occurs, in which case the send is aborted).

Because it is difficult or impossible to programmatically identify which emails in the bundle failed and which succeeded, it is best to write a loop that sends each email separately (via the SendEmail method).

Returns 1 for success, 0 for failure.

top
SendBundleAsync (1)
# returns a CkTask
# bundle is a CkEmailBundle
set ret_task [CkMailMan_SendBundleAsync $this $bundle]

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

Returns NULL on failure

top
SendEmail
# email is a CkEmail
set status [CkMailMan_SendEmail $this $email]

Sends a single email. The connection to the SMTP server will remain open so that a subsequent call to SendEmail (or other email-sending methods) can re-use the same connection. If any properties relating to the SMTP server are changed, such as SmtpHost, SmtpUsername, etc., then the next call to an email-sending method will automatically close the connection and re-establish a connection using the updated property settings.

Important: Some SMTP servers do not actually send the email until the connection is closed. In these cases, it is necessary to call CloseSmtpConnection for the mail to be sent. Most SMTP servers send the email immediately, and it is not required to close the connection.

GMail: If sending via smtp.gmail.com, then send with OAuth2 authentication if possible. Otherwise you will need to change your GMail account settings to allow for sending by less secure apps. See the links below.

Note: After sending email, information about what transpired is available via the LastJsonData method.

Note: Returns 1 if the final SMTP status code in the SMTP session is in the 200's or 300's. See SMTP Server Return Codes

Returns 1 for success, 0 for failure.

top
SendEmailAsync (1)
# returns a CkTask
# email is a CkEmail
set ret_task [CkMailMan_SendEmailAsync $this $email]

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

Returns NULL on failure

top
SendMime
# fromAddr is a string
# recipients is a string
# mimeSource is a string
set status [CkMailMan_SendMime $this $fromAddr $recipients $mimeSource]

Provides complete control over the email that is sent. The MIME text passed in mimeSource (the MIME source of an email) is passed exactly as-is to the SMTP server. The recipients is a comma separated list of recipient email addresses. The fromAddr is the reverse-path email address. This is where bounced email (non-delivery reports) will be delivered. It may be different than the From header field in the mimeSource.

To understand how the fromAddr and recipients relate to the email addresses found in the MIME headers (FROM, TO, CC), see the link below entitled SMTP Protocol in a Nutshell. The fromAddr is what is passed to the SMTP server in the MAIL FROM command. The recipients are the email addresses passed in RCPT TO commands. These are usually the same email addresses found in the MIME headers, but need not be (unless the SMTP server enforces policies that require them to be the same).

Note: Returns 1 if the final SMTP status code in the SMTP session is in the 200's or 300's. See SMTP Server Return Codes

Returns 1 for success, 0 for failure.

top
SendMimeAsync (1)
# returns a CkTask
# fromAddr is a string
# recipients is a string
# mimeSource is a string
set ret_task [CkMailMan_SendMimeAsync $this $fromAddr $recipients $mimeSource]

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

Returns NULL on failure

top
SendMimeBd
# fromAddr is a string
# recipients is a string
# mimeData is a CkBinData
set status [CkMailMan_SendMimeBd $this $fromAddr $recipients $mimeData]
Introduced in version 9.5.0.73

This method is the same as SendMimeBytes, except the MIME is passed in an object (mimeData) rather than explicitly passing the bytes.

Note: Returns 1 if the final SMTP status code in the SMTP session is in the 200's or 300's. See SMTP Server Return Codes

Returns 1 for success, 0 for failure.

top
SendMimeBdAsync (1)
# returns a CkTask
# fromAddr is a string
# recipients is a string
# mimeData is a CkBinData
set ret_task [CkMailMan_SendMimeBdAsync $this $fromAddr $recipients $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
# fromAddr is a string
# distListFilename is a string
# mimeSource is a string
set status [CkMailMan_SendMimeToList $this $fromAddr $distListFilename $mimeSource]

Same as SendMime, but the recipient list is read from a text file (distListFilename) containing one email address per line.

Returns 1 for success, 0 for failure.

top
SendMimeToListAsync (1)
# returns a CkTask
# fromAddr is a string
# distListFilename is a string
# mimeSource is a string
set ret_task [CkMailMan_SendMimeToListAsync $this $fromAddr $distListFilename $mimeSource]

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

Returns NULL on failure

top
SetDecryptCert
# cert is a CkCert
set status [CkMailMan_SetDecryptCert $this $cert]
Introduced in version 9.5.0.40

Explicitly specifies the certificate to be used for decrypting encrypted email.

Returns 1 for success, 0 for failure.

top
SetDecryptCert2
# cert is a CkCert
# privateKey is a CkPrivateKey
set status [CkMailMan_SetDecryptCert2 $this $cert $privateKey]

Explicitly specifies the certificate and associated private key to be used for decrypting S/MIME encrypted email.

Note: In most cases, it is easier to call AddPfxSourceFile or AddPfxSourceData to provide the required cert and private key. On Windows systems where the certificate + private key has already been installed in the default certificate store, nothing needs to be done -- the mailman will automatically locate and use the required cert + private key.

Returns 1 for success, 0 for failure.

top
SetPassword
# protocol is a string
# password is a CkSecureString
set status [CkMailMan_SetPassword $this $protocol $password]
Introduced in version 9.5.0.71

Provides a more secure way of setting either the POP3 or SMTP password. The protocol can be pop3 or smtp. When the protocol is pop3, this is equivalent to setting the PopPassword property. When protocol is smtp, this is equivalent to setting the SmtpPassword property.

Returns 1 for success, 0 for failure.

More Information and Examples
top
SetSslClientCert
# cert is a CkCert
set status [CkMailMan_SetSslClientCert $this $cert]

Sets the client-side certificate to be used with SSL connections. This is typically not required, as most SSL connections are such that only the server is authenticated while the client remains unauthenticated.

Returns 1 for success, 0 for failure.

top
SetSslClientCertPem
# pemDataOrFilename is a string
# pemPassword is a string
set status [CkMailMan_SetSslClientCertPem $this $pemDataOrFilename $pemPassword]

Allows for a client-side certificate to be used for the SSL / TLS connection.

Returns 1 for success, 0 for failure.

top
SetSslClientCertPfx
# pfxFilename is a string
# pfxPassword is a string
set status [CkMailMan_SetSslClientCertPfx $this $pfxFilename $pfxPassword]

Allows for a client-side certificate to be used for the SSL / TLS connection.

Returns 1 for success, 0 for failure.

top
SmtpAuthenticate
set status [CkMailMan_SmtpAuthenticate $this]
Introduced in version 9.5.0.48

Authenticates with the SMTP server using the property settings such as SmtpUsername, SmtpPassword, etc. This method should only be called after a successful call to SmtpConnect.

Note 1: The OpenSmtpConnection method both connects and authenticates. It is the equivalent of calling SmtpConnect followed by SmtpAuthenticate.

Note 2: All methods that communicate with the SMTP server, such as SendEmail, will automatically connect and authenticate if not already connected and authenticated.

Returns 1 for success, 0 for failure.

More Information and Examples
top
SmtpAuthenticateAsync (1)
# returns a CkTask
set ret_task [CkMailMan_SmtpAuthenticateAsync $this]
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
set status [CkMailMan_SmtpConnect $this]
Introduced in version 9.5.0.48

Explicitly establishes a connection to the SMTP server, which includes establishing a secure TLS channel if required, and receives the initial greeting. This method stops short of authenticating. The SmtpAuthenticate method should be called after a successful call to this method.

Note 1: The OpenSmtpConnection method both connects and authenticates. It is the equivalent of calling SmtpConnect followed by SmtpAuthenticate.

Note 2: All methods that communicate with the SMTP server, such as SendEmail, will automatically connect and authenticate if not already connected and authenticated.

Important: All TCP-based Internet communications, regardless of the protocol (such as HTTP, FTP, SSH, IMAP, POP3, SMTP, etc.), and regardless of SSL/TLS, begin with establishing a TCP connection to a remote host:port. External security-related infrastructure such as software firewalls (Windows Firewall), hardware firewalls, anti-virus, at either source or destination (or both) can block the connection. If the connection fails, make sure to check all potential external causes of blockage.

Returns 1 for success, 0 for failure.

More Information and Examples
top
SmtpConnectAsync (1)
# returns a CkTask
set ret_task [CkMailMan_SmtpConnectAsync $this]
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
set status [CkMailMan_SmtpNoop $this]

Sends a no-op to the SMTP server. Calling this method is good for testing to see if the connection to the SMTP server is working and valid. The SmtpNoop method will automatically establish the SMTP connection if it does not already exist.

Returns 1 for success, 0 for failure.

top
SmtpNoopAsync (1)
# returns a CkTask
set ret_task [CkMailMan_SmtpNoopAsync $this]

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

Returns NULL on failure

top
SmtpReset
set status [CkMailMan_SmtpReset $this]

Sends an RSET command to the SMTP server. This method is rarely needed. The RSET command resets the state of the connection to the SMTP server to the initial state (so that the component can proceed with sending a new email). The SmtpReset method would only be needed if a mail-sending method failed and left the connection with the SMTP server open and in a non-initial state. (A situation that is probably not even possible with the Chilkat mail component.)

Returns 1 for success, 0 for failure.

top
SmtpResetAsync (1)
# returns a CkTask
set ret_task [CkMailMan_SmtpResetAsync $this]

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

Returns NULL on failure

top
SmtpSendRawCommand
# command is a string
# charset is a string
# bEncodeBase64 is a boolean
# outStr is a CkString (output)
set status [CkMailMan_SmtpSendRawCommand $this $command $charset $bEncodeBase64 $outStr]
set retStr [CkMailMan_smtpSendRawCommand $this $command $charset $bEncodeBase64]

Sends a raw command to the SMTP server and returns the SMTP server's response. If non-us-ascii characters are included in command, then charset indicates the charset to be used in sending the command (such as utf-8, ansi, iso-8859-1, Shift_JIS, etc.)

If bEncodeBase64 is 1, then the response is returned in Base64-encoded format. Otherwise the raw response is returned.

Returns 1 for success, 0 for failure.

More Information and Examples
top
SmtpSendRawCommandAsync (1)
# returns a CkTask
# command is a string
# charset is a string
# bEncodeBase64 is a boolean
set ret_task [CkMailMan_SmtpSendRawCommandAsync $this $command $charset $bEncodeBase64]

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

Returns NULL on failure

top
SshAuthenticatePk
# sshLogin is a string
# sshUsername is a CkSshKey
set status [CkMailMan_SshAuthenticatePk $this $sshLogin $sshUsername]

Authenticates with the SSH server using public-key authentication. The corresponding public key must have been installed on the SSH server for the sshLogin. Authentication will succeed if the matching sshUsername is provided.

Important: When reporting problems, please send the full contents of the LastErrorText property to support@chilkatsoft.com.

Returns 1 for success, 0 for failure.

top
SshAuthenticatePkAsync (1)
# returns a CkTask
# sshLogin is a string
# sshUsername is a CkSshKey
set ret_task [CkMailMan_SshAuthenticatePkAsync $this $sshLogin $sshUsername]

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

Returns NULL on failure

top
SshAuthenticatePw
# sshLogin is a string
# sshPassword is a string
set status [CkMailMan_SshAuthenticatePw $this $sshLogin $sshPassword]

Authenticates with the SSH server using a sshLogin and sshPassword.

An SSH tunneling (port forwarding) session always begins by first calling SshTunnel to connect to the SSH server, then calling either AuthenticatePw or AuthenticatePk to authenticate.

Note: Once the SSH tunnel is setup by calling SshTunnel and SshAuthenticatePw (or SshAuthenticatePk), all underlying communcations with the POP3 or SMTP server use the SSH tunnel. No changes in programming are required other than making two initial calls to setup the tunnel.

Important: When reporting problems, please send the full contents of the LastErrorText property to support@chilkatsoft.com.

Returns 1 for success, 0 for failure.

top
SshAuthenticatePwAsync (1)
# returns a CkTask
# sshLogin is a string
# sshPassword is a string
set ret_task [CkMailMan_SshAuthenticatePwAsync $this $sshLogin $sshPassword]

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

Returns NULL on failure

top
SshCloseTunnel
set status [CkMailMan_SshCloseTunnel $this]

Closes the SSH tunnel for SMTP or POP3.

Returns 1 for success, 0 for failure.

top
SshCloseTunnelAsync (1)
# returns a CkTask
set ret_task [CkMailMan_SshCloseTunnelAsync $this]

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

Returns NULL on failure

top
SshOpenTunnel
# sshHostname is a string
# sshPort is an integer
set status [CkMailMan_SshOpenTunnel $this $sshHostname $sshPort]
Introduced in version 9.5.0.50

Connects to an SSH server and creates a tunnel for SMTP or POP3. The sshHostname is the hostname (or IP address) of the SSH server. The sshPort is typically 22, which is the standard SSH port number.

An SSH tunneling (port forwarding) session always begins by first calling SshTunnel to connect to the SSH server, followed by calling either SshAuthenticatePw or SshAuthenticatePk to authenticate.

Note: Once the SSH tunnel is setup by calling SshOpenTunnel and SshAuthenticatePw (or SshAuthenticatePk), all underlying communcations with the SMTP or POP3 server use the SSH tunnel. No changes in programming are required other than making two initial calls to setup the tunnel.

Important: All TCP-based Internet communications, regardless of the protocol (such as HTTP, FTP, SSH, IMAP, POP3, SMTP, etc.), and regardless of SSL/TLS, begin with establishing a TCP connection to a remote host:port. External security-related infrastructure such as software firewalls (Windows Firewall), hardware firewalls, anti-virus, at either source or destination (or both) can block the connection. If the connection fails, make sure to check all potential external causes of blockage.

Returns 1 for success, 0 for failure.

top
SshOpenTunnelAsync (1)
# returns a CkTask
# sshHostname is a string
# sshPort is an integer
set ret_task [CkMailMan_SshOpenTunnelAsync $this $sshHostname $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
# vault is a CkXmlCertVault
set status [CkMailMan_UseCertVault $this $vault]
Introduced in version 9.5.0.40

Adds an XML certificate vault to the object's internal list of sources to be searched for certificates and private keys when encrypting/decrypting or signing/verifying. Unlike the AddPfxSourceData and AddPfxSourceFile methods, only a single XML certificate vault can be used. If UseCertVault is called multiple times, only the last certificate vault will be used, as each call to UseCertVault will replace the certificate vault provided in previous calls.

Returns 1 for success, 0 for failure.

top
UseSsh
# ssh is a CkSsh
set status [CkMailMan_UseSsh $this $ssh]
Introduced in version 9.5.0.55

Uses an existing SSH tunnel for the connections to the POP3 andSMTP servers. This method is identical to the UseSshTunnel method, except the SSH connection is obtained from an SSH object instead of a Socket object.

Uses an existing SSH tunnel. This is useful for sharing an existing SSH tunnel connection wth other objects. (SSH is a protocol where the tunnel contains many logical channels. SMTP and POP3 connections can exist simultaneously within a single SSH tunnel as SSH channels.)

Returns 1 for success, 0 for failure.

top
UseSshTunnel
# tunnel is a CkSocket
set status [CkMailMan_UseSshTunnel $this $tunnel]
Introduced in version 9.5.0.50

Uses an existing SSH tunnel. This is useful for sharing an existing SSH tunnel connection wth other objects. (SSH is a protocol where the tunnel contains many logical channels. SMTP and POP3 connections can exist simultaneously within a single SSH tunnel as SSH channels.)

Returns 1 for success, 0 for failure.

top
VerifyPopConnection
set retBool [CkMailMan_VerifyPopConnection $this]

Return 1 if a TCP/IP connection can be established with the POP3 server, otherwise returns 0.

top
VerifyPopConnectionAsync (1)
# returns a CkTask
set ret_task [CkMailMan_VerifyPopConnectionAsync $this]

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

Returns NULL on failure

top
VerifyPopLogin
set retBool [CkMailMan_VerifyPopLogin $this]

Return 1 if a TCP/IP connection and login is successful with the POP3 server. Otherwise return 0.

top
VerifyPopLoginAsync (1)
# returns a CkTask
set ret_task [CkMailMan_VerifyPopLoginAsync $this]

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

Returns NULL on failure

top
VerifyRecips
# email is a CkEmail
# badAddrs is a CkStringArray
set status [CkMailMan_VerifyRecips $this $email $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 1 for success, 0 for failure.

More Information and Examples
top
VerifyRecipsAsync (1)
# returns a CkTask
# email is a CkEmail
# badAddrs is a CkStringArray
set ret_task [CkMailMan_VerifyRecipsAsync $this $email $badAddrs]

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

Returns NULL on failure

top
VerifySmtpConnection
set retBool [CkMailMan_VerifySmtpConnection $this]

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

top
VerifySmtpConnectionAsync (1)
# returns a CkTask
set ret_task [CkMailMan_VerifySmtpConnectionAsync $this]

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

Returns NULL on failure

top
VerifySmtpLogin
set retBool [CkMailMan_VerifySmtpLogin $this]

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

top
VerifySmtpLoginAsync (1)
# returns a CkTask
set ret_task [CkMailMan_VerifySmtpLoginAsync $this]

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

Returns NULL on failure

top

Deprecated

AddPfxSourceData Deprecated
# pfxData is a CkByteData
# password is a string
set status [CkMailMan_AddPfxSourceData $this $pfxData $password]

Adds a PFX to the object's internal list of sources to be searched for certificates and private keys when decrypting or when creating signed email for sending. Multiple PFX sources can be added by calling this method once for each. (On the Windows operating system, the registry-based certificate stores are also automatically searched, so it is commonly not required to explicitly add PFX sources.)

The pfxData contains the bytes of a PFX file (also known as PKCS12 or .p12).

Returns 1 for success, 0 for failure.

top
CopyMail
# returns a CkEmailBundle
set ret_emailBundle [CkMailMan_CopyMail $this]
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)
# returns a CkTask
set ret_task [CkMailMan_CopyMailAsync $this]
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
# uidlArray is a CkStringArray
set status [CkMailMan_DeleteMultiple $this $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 1, which is the default. If ImmediateDelete equals 0, 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 1 for success, 0 for failure.

top
DeleteMultipleAsync (1)
# returns a CkTask
# uidlArray is a CkStringArray
set ret_task [CkMailMan_DeleteMultipleAsync $this $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
# returns a CkEmail
# msgnum is an integer
set ret_email [CkMailMan_FetchByMsgnum $this $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)
# returns a CkTask
# msgnum is an integer
set ret_task [CkMailMan_FetchByMsgnumAsync $this $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
# returns a CkEmail
# uidl is a string
set ret_email [CkMailMan_FetchEmail $this $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)
# returns a CkTask
# uidl is a string
set ret_task [CkMailMan_FetchEmailAsync $this $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
# uidl is a string
# outData is a CkByteData (output)
set status [CkMailMan_FetchMime $this $uidl $outData]

Fetches an email by UIDL and returns the MIME source of the email in a byte array.

Returns 1 for success, 0 for failure.

top
FetchMimeAsync Deprecated (1)
# returns a CkTask
# uidl is a string
set ret_task [CkMailMan_FetchMimeAsync $this $uidl]

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

Returns NULL on failure

top
FetchMimeByMsgnum Deprecated
# msgnum is an integer
# outBytes is a CkByteData (output)
set status [CkMailMan_FetchMimeByMsgnum $this $msgnum $outData]

Retrieves an email by its message number and returns the MIME bytes. Note: Message numbers are unique to each POP3 session. For instance, if there are 10 messages in the maildrop, they will be numbered 1 through 10. If message 1 is deleted and a new POP3 session is started, the remaining messages will be renumbered from 1 to 9. Please note that a POP3 connection must be established beforehand. This can be done by explicitly calling Pop3BeginSession or through other methods that implicitly start the session. This method does not initiate a POP3 session automatically.

Returns 1 for success, 0 for failure.

top
FetchMimeByMsgnumAsync Deprecated (1)
# returns a CkTask
# msgnum is an integer
set ret_task [CkMailMan_FetchMimeByMsgnumAsync $this $msgnum]

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

Returns NULL on failure

top
FetchMultiple
# returns a CkEmailBundle
# uidlArray is a CkStringArray
set ret_emailBundle [CkMailMan_FetchMultiple $this $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)
# returns a CkTask
# uidlArray is a CkStringArray
set ret_task [CkMailMan_FetchMultipleAsync $this $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
# returns a CkEmailBundle
# uidlArray is a CkStringArray
# numBodyLines is an integer
set ret_emailBundle [CkMailMan_FetchMultipleHeaders $this $uidlArray $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)
# returns a CkTask
# uidlArray is a CkStringArray
# numBodyLines is an integer
set ret_task [CkMailMan_FetchMultipleHeadersAsync $this $uidlArray $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
# returns a CkStringArray
# uidlArray is a CkStringArray
set ret_stringArray [CkMailMan_FetchMultipleMime $this $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)
# returns a CkTask
# uidlArray is a CkStringArray
set ret_task [CkMailMan_FetchMultipleMimeAsync $this $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
# returns a CkEmail
# numBodyLines is an integer
# messageNumber is an integer
set ret_email [CkMailMan_FetchSingleHeader $this $numBodyLines $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)
# returns a CkTask
# numBodyLines is an integer
# messageNumber is an integer
set ret_task [CkMailMan_FetchSingleHeaderAsync $this $numBodyLines $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
# returns a CkEmail
# numBodyLines is an integer
# uidl is a string
set ret_email [CkMailMan_FetchSingleHeaderByUidl $this $numBodyLines $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)
# returns a CkTask
# numBodyLines is an integer
# uidl is a string
set ret_task [CkMailMan_FetchSingleHeaderByUidlAsync $this $numBodyLines $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
# returns a CkEmailBundle
# numBodyLines is an integer
set ret_emailBundle [CkMailMan_GetAllHeaders $this $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)
# returns a CkTask
# numBodyLines is an integer
set ret_task [CkMailMan_GetAllHeadersAsync $this $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
# returns a CkEmail
# email is a CkEmail
set ret_email [CkMailMan_GetFullEmail $this $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)
# returns a CkTask
# email is a CkEmail
set ret_task [CkMailMan_GetFullEmailAsync $this $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
# returns a CkEmailBundle
# numBodyLines is an integer
# fromIndex is an integer
# toIndex is an integer
set ret_emailBundle [CkMailMan_GetHeaders $this $numBodyLines $fromIndex $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)
# returns a CkTask
# numBodyLines is an integer
# fromIndex is an integer
# toIndex is an integer
set ret_task [CkMailMan_GetHeadersAsync $this $numBodyLines $fromIndex $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
# returns a CkCert
set ret_cert [CkMailMan_GetPop3SslServerCert $this]
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 = 1.)

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

Returns NULL on failure

top
GetSmtpSslServerCert
# returns a CkCert
set ret_cert [CkMailMan_GetSmtpSslServerCert $this]
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
# returns a CkStringArray
set ret_stringArray [CkMailMan_GetUidls $this]
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)
# returns a CkTask
set ret_task [CkMailMan_GetUidlsAsync $this]
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
# returns a CkJsonObject
set ret_jsonObject [CkMailMan_LastJsonData $this]
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
# returns a CkEmail
# emlFilename is a string
set ret_email [CkMailMan_LoadEml $this $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
# returns a CkEmailBundle
# mbxFileName is a string
set ret_emailBundle [CkMailMan_LoadMbx $this $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
# returns a CkEmail
# mimeText is a string
set ret_email [CkMailMan_LoadMime $this $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
# returns a CkEmail
# filename is a string
set ret_email [CkMailMan_LoadXmlEmail $this $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
# returns a CkEmail
# xmlString is a string
set ret_email [CkMailMan_LoadXmlEmailString $this $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
# returns a CkEmailBundle
# filename is a string
set ret_emailBundle [CkMailMan_LoadXmlFile $this $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
# returns a CkEmailBundle
# xmlString is a string
set ret_emailBundle [CkMailMan_LoadXmlString $this $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
# emailAddress is a string
# outStrHostname is a CkString (output)
set status [CkMailMan_MxLookup $this $emailAddress $outStr]
set retStr [CkMailMan_mxLookup $this $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 1 for success, 0 for failure.

top
MxLookupAll
# returns a CkStringArray
# emailAddress is a string
set ret_stringArray [CkMailMan_MxLookupAll $this $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
# email is a CkEmail
# outBytes is a CkByteData (output)
set status [CkMailMan_RenderToMimeBytes $this $email $outData]

This method is the same as RenderToMime, but the MIME is returned in a byte array. If an email uses an 8bit or binary MIME encoding, then calling RenderToMime may introduce errors because it is not possible to return non-text binary data as a string. Therefore, calling RenderToMimeBytes is recommended over RenderToMime, unless it is assured that the email (MIME) does not use a binary encoding for non-text data.

Returns 1 for success, 0 for failure.

top
SendMimeBytes Deprecated
# fromAddr is a string
# recipients is a string
# mimeSource is a CkByteData
set status [CkMailMan_SendMimeBytes $this $fromAddr $recipients $mimeSource]

This method is the same as SendMime, except the MIME is passed in a byte array. This can be important if the MIME uses a binary encoding, or if a DKIM/DomainKey signature is included.

To understand how the fromAddr and recipients relate to the email addresses found in the MIME headers (FROM, TO, CC), see the link below entitled SMTP Protocol in a Nutshell. The fromAddr is what is passed to the SMTP server in the MAIL FROM command. The recipients are the email addresses passed in RCPT TO commands. These are usually the same email addresses found in the MIME headers, but need not be (unless the SMTP server enforces policies that require them to be the same).

Note: Returns 1 if the final SMTP status code in the SMTP session is in the 200's or 300's. See SMTP Server Return Codes

Returns 1 for success, 0 for failure.

top
SendMimeBytesAsync Deprecated (1)
# returns a CkTask
# fromAddr is a string
# recipients is a string
# mimeSource is a CkByteData
set ret_task [CkMailMan_SendMimeBytesAsync $this $fromAddr $recipients $mimeSource]

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

Returns NULL on failure

top
TransferMail
# returns a CkEmailBundle
set ret_emailBundle [CkMailMan_TransferMail $this]
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)
# returns a CkTask
set ret_task [CkMailMan_TransferMailAsync $this]
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
# returns a CkStringArray
# uidlArray is a CkStringArray
set ret_stringArray [CkMailMan_TransferMultipleMime $this $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)
# returns a CkTask
# uidlArray is a CkStringArray
set ret_task [CkMailMan_TransferMultipleMimeAsync $this $uidlArray]
This method is deprecated.

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

Returns NULL on failure

top