MailMan ActiveX Reference Documentation

MailMan

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

Object Creation

(Visual Basic 6.0)
Dim obj As New ChilkatMailMan

(ASP)
set obj = Server.CreateObject("Chilkat_9_5_0.MailMan")

(VBScript)
set obj = CreateObject("Chilkat_9_5_0.MailMan")

(Delphi)
obj := TChilkatMailMan.Create(Self);

(FoxPro)
loObject = CreateObject('Chilkat_9_5_0.MailMan')

(PowerBuilder)
lole_object = create oleobject
li_rc = lole_object.ConnectToNewObject("Chilkat_9_5_0.MailMan")

(SQL Server)
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.MailMan', @obj OUT

(Javascript)
var obj = new ActiveXObject("Chilkat_9_5_0.MailMan");

Properties

AbortCurrent As Long

Introduced in version 9.5.0.58

When set to 1, causes the currently running method to abort. Methods that always finish quickly (i.e.have no length file operations or network communications) are not affected. If no method is running, then this property is automatically reset to 0 when the next method is called. When the abort occurs, this property is reset to 0. Both synchronous and asynchronous method calls can be aborted. (A synchronous method call could be aborted by setting this property from a separate thread.)

AllOrNone As Long

Prevents sending any email if any of the addresses in the recipient list are rejected by the SMTP server. The default value is 0, which indicates that the mail sending should continue even if some email addresses are invalid. (Note: Not all SMTP servers check the validity of email addresses, and even for those that do, it is not 100% accurate.)

Note: An SMTP server only knows the validity of email addresses within the domain it controls.

Important: The AllOrNone property only works if SMTP pipelining is turned off. By default, the SmtpPipelining property is turned on and has the value of 1. If all-or-none behavior is desired, make sure to set SmtpPipelining equal to 0.

AutoFix As Long

If 1, then the following will occur when a connection is made to an SMTP or POP3 server:

1) If the SmtpPort property = 465, then sets StartTLS = 0 and SmtpSsl = 1
2) If the SmtpPort property = 25, sets SmtpSsl = 0
3) If the MailPort property = 995, sets PopSsl = 1
4) If the MailPort property = 110, sets PopSsl = 0

The default value of this property is 1.

AutoGenMessageId As Long

Controls whether a unique Message-ID header is auto-generated for each email sent.

The Message-ID header field should contain a unique message ID for each email that is sent. The default behavior is to auto-generate this header field at the time the message is sent. This makes it easier for the same email object to be re-used. If the message ID is not unique, the SMTP server may consider the message to be a duplicate of one that has already been sent, and may discard it without sending. This property controls whether message IDs are automatically generated. If auto-generation is turned on (1), the value returned by GetHeaderField("Message-ID") will not reflect the actual message ID that gets sent with the email.

To turn off automatic Message-ID generation, set this property to 0.

AutoSmtpRset As Long

If 1, then the SMTP "RSET" command is automatically sent to ensure that the SMTP connection is in a valid state when a new email is about to be sent on an already established connection. The default value is 0.

Important: This property only applies when an email is sent on an already-open SMTP connection.

AutoUnwrapSecurity As Long

Introduced in version 9.5.0.49

If 1, then digitally signed and/or encrypted email when downloaded from a mail server is automatically "unwrapped" and the results of the signature validation and decryption are available in various email object properties and methods. The default value of this property is 1. Set this property to 0 to prevent unwrapping.

Note: A digitally signed or encrypted email can ONLY be verified and/or decrypted when initially loading the original MIME into the email object (i.e. when downloading from the server, or when loading from MIME). Once the MIME is parsed and stored in the internal email object format, the exactnes of the MIME has been lost and the signature can no longer be verified. This is why the signature is verified upon the intial loading of the MIME, and the results are made available through the various properties and methods. This property provides a means for downloading email where the .p7m (or .p7s) attachments are are to be treated as simple attachments and the desire is to access or save the original .p7m/.p7s files.

ClientIpAddress As String

The IP address to use for computers with multiple network interfaces or IP addresses. For computers with a single network interface (i.e. most computers), this property should not be set. For multihoming computers, the default IP address is automatically used if this property is not set.

The IP address is a string such as in dotted notation using numbers, not domain names, such as "165.164.55.124".

Important Bind to Adapter Notes for Windows

ConnectFailReason As Long (read-only)

Introduced in version 9.5.0.56

This property will be set to the status of the last connection made (or failed to be made) by any method.

Possible values are:

0 = success

Normal (non-TLS) sockets:
1 = empty hostname
2 = DNS lookup failed
3 = DNS timeout
4 = Aborted by application.
5 = Internal failure.
6 = Connect Timed Out
7 = Connect Rejected (or failed for some other reason)

SSL/TLS:
100 = TLS internal error.
101 = Failed to send client hello.
102 = Unexpected handshake message.
103 = Failed to read server hello.
104 = No server certificate.
105 = Unexpected TLS protocol version.
106 = Server certificate verify failed (the server certificate is expired or the cert's signature verification failed).
107 = Unacceptable TLS protocol version.
109 = Failed to read handshake messages.
110 = Failed to send client certificate handshake message.
111 = Failed to send client key exchange handshake message.
112 = Client certificate's private key not accessible.
113 = Failed to send client cert verify handshake message.
114 = Failed to send change cipher spec handshake message.
115 = Failed to send finished handshake message.
116 = Server's Finished message is invalid.

ConnectTimeout As Long

The time (in seconds) to wait before while trying to connect to a mail server (POP3 or SMTP). The default value is 30.

DebugLogFilePath As String

If set to a file path, causes each Chilkat method or property call to automatically append it's LastErrorText to the specified log file. The information is appended such that if a hang or crash occurs, it is possible to see the context in which the problem occurred, as well as a history of all Chilkat calls up to the point of the problem. The VerboseLogging property can be set to provide more detailed information.

This property is typically used for debugging the rare cases where a Chilkat method call hangs or generates an exception that halts program execution (i.e. crashes). A hang or crash should generally never happen. The typical causes of a hang are:

  1. a timeout related property was set to 0 to explicitly indicate that an infinite timeout is desired,
  2. the hang is actually a hang within an event callback (i.e. it is a hang within the application code), or
  3. there is an internal problem (bug) in the Chilkat code that causes the hang.

DsnEnvid As String

(An SMTP DSN service extension feature) An arbitrary string that will be used as the ENVID property when sending email. See RFC 3461 for more details.

DsnNotify As String

(An SMTP DSN service extension feature) A string that will be used as the NOTIFY parameter when sending email. (See RFC 3461 for more details. ) This string can be left blank, or can be set to "NEVER", or any combination of a comma-separated list of "SUCCESS", "FAILURE", or "NOTIFY".

DsnRet As String

(An SMTP DSN service extension feature) A string that will be used as the RET parameter when sending email. (See RFC 3461 for more details. ) This string can be left blank, or can be set to "FULL" to receive entire-message DSN notifications, or "HDRS" to receive header-only DSN notifications.

EmbedCertChain As Long

If 1, causes the digital certificate chain to be embedded in signed emails. The certificates in the chain of authentication are embedded up to but not including the root certificate. If the IncludeRootCert property is also 1, then the root CA certificate is also included in the S/MIME signature.

Filter As String

An expression that is applied to any of the following method calls when present: LoadXmlFile, LoadXmlString, LoadMbx, CopyMail, and TransferMail. For these methods, only the emails that match the filter's expression are returned in the email bundle. In the case of TransferMail, only the matching emails are removed from the mail server. The filter allows any header field, or the body, to be checked.

Here are some examples of expressions:

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

Here are the general rules for forming filter expressions:

Any MIME header field name can be used, case is insensitive. 
Literal strings are double-quoted, and case is insensitive. 
The "*" wildcard matches 0 or more occurrences of any character. 
Parentheses can be used to control precedence. 
The logical operators are: AND, OR, NOT (case insensitive) 
Comparison operators are: =, <, >, <=, >=, <> 
String comparison operators are: CONTAINS, LIKE (case insensitive)

More information about the Filter property (for POP3)

HeartbeatMs As Long

The time interval, in milliseconds, between AbortCheck event callbacks. The heartbeat provides a means for an application to monitor a mail-sending and/or mail-reading method call, and to abort it while in progress.

HeloHostname As String

Specifies the hostname to be used for the EHLO/HELO command sent to an SMTP server. By default, this property is an empty string which causes the local hostname to be used.

HttpProxyAuthMethod As String

If an HTTP proxy requiring authentication is to be used, set this property to the HTTP proxy authentication method name. Valid choices are "Basic" or "NTLM".

HttpProxyDomain As String

The NTLM authentication domain (optional) if NTLM authentication is used.

HttpProxyHostname As String

If an HTTP proxy is to be used, set this property to the HTTP proxy hostname or IPv4 address (in dotted decimal notation).

HttpProxyPassword As String

If an HTTP proxy requiring authentication is to be used, set this property to the HTTP proxy password.

HttpProxyPort As Long

If an HTTP proxy is to be used, set this property to the HTTP proxy port number. (Two commonly used HTTP proxy ports are 8080 and 3128.)

HttpProxyUsername As String

If an HTTP proxy requiring authentication is to be used, set this property to the HTTP proxy login name.

ImmediateDelete As Long

If 1 (the default) then any method that deletes an email from the POP3 server will also issue a QUIT command to close the session to ensure the message is deleted immediately.

The POP3 protocol is such that the DELE command marks a message for deletion. It is not actually deleted until the QUIT command is sent and the session is closed. If ImmediateDelete is 1, then any Chilkat MailMan method that marks a message (or messages) for deletion will also followup with a QUIT command and close the session. If your program sets ImmediateDelete to 0, it must make sure to call Pop3EndSession to ensure that messages marked for deletion are actually deleted.

POP3 Session Management

IncludeRootCert As Long

Controls whether the root certificate in the chain of authentication (i.e. the CA root certificate) is included within the S/MIME signature of a signed email. Note: This property only applies if the EmbedCertChain property is also 1.

IsPop3Connected As Long (read-only)

Introduced in version 9.5.0.48

Returns 1 if still connected to the POP3 server. Otherwise returns 0.

Note: Accessing this property does not trigger any communication with the POP3 server. A connection to the POP3 server is established by explicitly calling Pop3BeginSession, or it is implicitly established as needed by any method that requires communication. A lost connection might only be detected when attempting to communicate with the server. To truly determine if a connection to the POP3 server is open and valid, it may be necessary to call the Pop3Noop method instead. This property might return 1 if the server has disconnected, but the client has not attempted to communicate with the server since the disconnect.

IsSmtpConnected As Long (read-only)

Returns 1 if still connected to the SMTP server. Otherwise returns 0 (if there was never a connection in the first place, or if the connection was lost).

Note: Accessing this property does not trigger any communication with the SMTP server. A connection to the SMTP server is established by explicitly calling OpenSmtpConnection, or it is implicitly established as needed by any method that requires communication. A lost connection might only be detected when attempting to communicate with the server. To truly determine if a connection to the SMTP server is open and valid, it may be necessary to call the SmtpNoop method instead. This property might return 1 if the server has disconnected, but the client has not attempted to communicate with the server since the disconnect.

LastBinaryResult As Variant (read-only)

Introduced in version 9.5.0.52

The binary data returned by the last (binary data returning) method called. Only available if Chilkat.Global.KeepBinaryResult is set to 1. This provides a means for obtaining large varbinary results in the SQL Server environment (where limitations exist in getting large amounts of data returned by method calls, but where temp tables can be used for binary properties).

LastErrorHtml As String (read-only)

Provides information in HTML format about the last method/property called. If a method call returns a value indicating failure, or behaves unexpectedly, examine this property to get more information.

LastErrorText As String (read-only)

Provides information in plain-text format about the last method/property called. If a method call returns a value indicating failure, or behaves unexpectedly, examine this property to get more information.

Concept of LastErrorText

LastErrorText Standard Information

LastErrorXml As String (read-only)

Provides information in XML format about the last method/property called. If a method call returns a value indicating failure, or behaves unexpectedly, examine this property to get more information.

LastMethodSuccess As Long

Introduced in version 9.5.0.52

Indicate whether the last method call succeeded or failed. A value of 1 indicates success, a value of 0 indicates failure. This property is automatically set for method calls. It is not modified by property accesses. The property is automatically set to indicate success for the following types of method calls:

  • Any method that returns a string.
  • Any method returning a Chilkat object, binary bytes, or a date/time.
  • Any method returning a standard boolean status value where success = 1 and failure = 0.
  • Any method returning an integer where failure is defined by a return value less than zero.

Note: Methods that do not fit the above requirements will always set this property equal to 1. For example, a method that returns no value (such as a "void" in C++) will technically always succeed.

LastSendQFilename As String (read-only)

This property is deprecated. It will be removed in a future version.

The name of the file created in the SMTPQ's queue directory for the last email sent via SendQ, SendQ2, or SendMimeQ.

LastSmtpStatus As Long (read-only)

Returns the last SMTP diagnostic status code. This can be checked after sending an email. SMTP reply codes are defined by RFC 821 - Simple Mail Transfer Protocol.

LastStringResult As String (read-only)

Introduced in version 9.5.0.52

The string return value of the last (string returning) method called. Only available if Chilkat.Global.KeepStringResult is set to 1. This provides a means for obtaining large string results in the SQL Server environment (where limitations exist in getting long strings returned by method calls, but where temp tables can be used for string properties).

Long Strings Returned by ActiveX Methods in SQL Server

LastStringResultLen As Long (read-only)

Introduced in version 9.5.0.53

The length, in characters, of the string contained in the LastStringResult property.

LogMailReceivedFilename As String

A log filename where the MailMan will log each message in the exact form it was received from a POP3 server. This property is provided for help in debugging.

LogMailSentFilename As String

A log filename where the MailMan will log the exact message sent to the SMTP server. This property is helpful in debugging.

MailHost As String

The domain name of the POP3 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.

MailPort As Long

The port number of the POP3 server. Only needs to be set if the POP3 server is running on a non-standard port. The default value is 110. (If SSL/TLS is used by setting the PopSsl property = 1, then this property should probably be set to 995, which is the standard SSL/TLS port for POP3.)

MaxCount As Long

Limits the number of messages the MailMan will try to retrieve from the POP3 server in a single method call. If you are trying to read a large mailbox, you might set this to a value such as 100 to download 100 emails at a time.

OAuth2AccessToken As String

Introduced in version 9.5.0.44

The OAUTH2 access token if OAUTH2 authentication is to be used for the authentication. For GMail, the Chilkat HTTP class/object's G_SvcOauthAccessToken method can be called to obtain an OAUTH2 access token.

(Classic ASP) Send using GMail with OAuth2 Authentication

(Visual FoxPro) Send using GMail with OAuth2 Authentication

(PowerBuilder) Send using GMail with OAuth2 Authentication

(SQL Server) Send using GMail with OAuth2 Authentication

(Visual Basic 6.0) Send using GMail with OAuth2 Authentication

(VBScript) Send using GMail with OAuth2 Authentication

OpaqueSigning As Long

When set to 1, signed emails are sent using opaque signing. The default is to send clear-text (multipart/signed) emails.

P7mEncryptAttachFilename As String

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".

P7mSigAttachFilename As String

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".

P7sSigAttachFilename As String

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".

PercentDoneScale As Long

Introduced in version 9.5.0.49

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

Sets the value to be defined as 100% complete for the purpose of PercentDone event callbacks. The defaut value of 100 means that at most 100 event PercentDone callbacks will occur in a method that (1) is event enabled and (2) is such that it is possible to measure progress as a percentage completed. This property may be set to larger numbers to get more fine-grained PercentDone callbacks. For example, setting this property equal to 1000 will provide callbacks with .1 percent granularity. For example, a value of 453 would indicate 45.3% competed. This property is clamped to a minimum value of 10, and a maximum value of 100000.

Pop3SessionId As Long (read-only)

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.

Pop3SessionLog As String (read-only)

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.

Pop3SPA As Long

Controls whether SPA authentication for POP3 is used or not. To use SPA authentication, set this propoerty = 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.

Pop3SslServerCertVerified As Long (read-only)

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

Pop3Stls As Long

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 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.)

(Classic ASP) POP3 STARTTLS

(Visual FoxPro) POP3 STARTTLS

(PowerBuilder) POP3 STARTTLS

(SQL Server) POP3 STARTTLS

(Visual Basic 6.0) POP3 STARTTLS

(VBScript) POP3 STARTTLS

PopPassword As String

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.

PopPasswordBase64 As String

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

PopSsl As Long

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.

PopUsername As String

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.

PreferIpv6 As Long

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.

ReadTimeout As Long

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

RequireSslCertVerify As Long

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.)

ResetDateOnLoad As Long

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.

SendBufferSize As Long

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

SendIndividual As Long

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 "To"header field containing the email address of the recipient. If 0, emails will contain in the "To"header 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.

SizeLimit As Long

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.

SmtpAuthMethod As String

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.

(Classic ASP) Send Email without Authentication (no Login)

(Visual FoxPro) Send Email without Authentication (no Login)

(PowerBuilder) Send Email without Authentication (no Login)

(SQL Server) Send Email without Authentication (no Login)

(Visual Basic 6.0) Send Email without Authentication (no Login)

(VBScript) Send Email without Authentication (no Login)

SmtpFailReason As String (read-only)

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 UnlockComponent 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.

SmtpHost As String

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.

Sending Email without an SMTP Server

SmtpLoginDomain As String

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.

SmtpPassword As String

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.

SmtpPipelining As Long

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.

SmtpPort As Long

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.)

SmtpSessionLog As String (read-only)

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.

SmtpSsl As Long

When set to 1, causes the mailman to connect to the SMTP server via the TLS/SSL protocol.

(Classic ASP) GMail SMTP port 465 (SSL)

(Visual FoxPro) GMail SMTP port 465 (SSL)

(PowerBuilder) GMail SMTP port 465 (SSL)

(SQL Server) GMail SMTP port 465 (SSL)

(Visual Basic 6.0) GMail SMTP port 465 (SSL)

(VBScript) GMail SMTP port 465 (SSL)

SmtpSslServerCertVerified As Long (read-only)

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.

SmtpUsername As String

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

550 5.7.1 Unable to relay

SocksHostname As String

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).

SocksPassword As String

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

SocksPort As Long

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).

SocksUsername As String

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

SocksVersion As Long

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.

SoRcvBuf As Long

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.

More Information about TCP performance and Buffer Sizes

SoSndBuf As Long

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.

More Information about TCP performance and Buffer Sizes

SslAllowedCiphers As String

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_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"

SslProtocol As String

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.2
TLS 1.1
TLS 1.0
SSL 3.0
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".

StartTLS As Long

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.

(Classic ASP) GMail SMTP port 587 (STARTTLS)

(Visual FoxPro) GMail SMTP port 587 (STARTTLS)

(PowerBuilder) GMail SMTP port 587 (STARTTLS)

(SQL Server) GMail SMTP port 587 (STARTTLS)

(Visual Basic 6.0) GMail SMTP port 587 (STARTTLS)

(VBScript) GMail SMTP port 587 (STARTTLS)

StartTLSifPossible As Long

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

TlsCipherSuite As String (read-only)

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.

TlsPinSet As String

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.

Encodings Supported by Chilkat

TlsVersion As String (read-only)

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", and "TLS 1.2".

UseApop As Long

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

VerboseLogging As Long

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.

Version As String (read-only)

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

Methods

AddPfxSourceData(pfxData As Variant, password As String) As Long

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.

AddPfxSourceFile(pfxFilePath As String, password As String) As Long

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.

CheckMail() As Long

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.

(Classic ASP) Test HotMail POP3 (pop3.live.com or pop-mail.outlook.com)

(Visual FoxPro) Test HotMail POP3 (pop3.live.com or pop-mail.outlook.com)

(PowerBuilder) Test HotMail POP3 (pop3.live.com or pop-mail.outlook.com)

(SQL Server) Test HotMail POP3 (pop3.live.com or pop-mail.outlook.com)

(Visual Basic 6.0) Test HotMail POP3 (pop3.live.com or pop-mail.outlook.com)

(VBScript) Test HotMail POP3 (pop3.live.com or pop-mail.outlook.com)

CheckMailAsync() As ChilkatTask

Creates an asynchronous task to call the CheckMail method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

ClearBadEmailAddresses()

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.

ClearPop3SessionLog()

Clears the contents of the Pop3SessionLog property.

ClearSmtpSessionLog()

Clears the contents of the SmtpSessionLog property.

CloseSmtpConnection() As Long

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.

Minimizing SMTP Sessions

CloseSmtpConnectionAsync() As ChilkatTask

Creates an asynchronous task to call the CloseSmtpConnection method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

CopyMail() As ChilkatEmailBundle

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

Returns Nothing on failure

(Classic ASP) POP3 CopyMail Example

(Visual FoxPro) POP3 CopyMail Example

(PowerBuilder) POP3 CopyMail Example

(SQL Server) POP3 CopyMail Example

(Visual Basic 6.0) POP3 CopyMail Example

(VBScript) POP3 CopyMail Example

CopyMailAsync() As ChilkatTask

Creates an asynchronous task to call the CopyMail method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

(Classic ASP) How to Return an Object from an Async Task

(Visual FoxPro) How to Return an Object from an Async Task

(PowerBuilder) How to Return an Object from an Async Task

(SQL Server) How to Return an Object from an Async Task

(Visual Basic 6.0) How to Return an Object from an Async Task

(VBScript) How to Return an Object from an Async Task

DeleteBundle(emailBundle As ChilkatEmailBundle) As Long

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.

DeleteBundleAsync(emailBundle As ChilkatEmailBundle) As ChilkatTask

Creates an asynchronous task to call the DeleteBundle method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

DeleteByMsgnum(ByVal msgnum As Long) As Long

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.

DeleteByMsgnumAsync(ByVal msgnum As Long) As ChilkatTask

Creates an asynchronous task to call the DeleteByMsgnum method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

DeleteByUidl(uidl As String) As Long

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.

DeleteByUidlAsync(uidl As String) As ChilkatTask

Creates an asynchronous task to call the DeleteByUidl method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

DeleteEmail(email As ChilkatEmail) As Long

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.

DeleteEmailAsync(email As ChilkatEmail) As ChilkatTask

Creates an asynchronous task to call the DeleteEmail method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

DeleteMultiple(uidlArray As CkStringArray) As Long

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.

Using GMail? You'll need to read this information.

DeleteMultipleAsync(uidlArray As CkStringArray) As ChilkatTask

Creates an asynchronous task to call the DeleteMultiple method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

FetchByMsgnum(ByVal msgnum As Long) As ChilkatEmail

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 Nothing on failure

FetchByMsgnumAsync(ByVal msgnum As Long) As ChilkatTask

Creates an asynchronous task to call the FetchByMsgnum method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

(Classic ASP) How to Return an Object from an Async Task

(Visual FoxPro) How to Return an Object from an Async Task

(PowerBuilder) How to Return an Object from an Async Task

(SQL Server) How to Return an Object from an Async Task

(Visual Basic 6.0) How to Return an Object from an Async Task

(VBScript) How to Return an Object from an Async Task

FetchEmail(uidl As String) As ChilkatEmail

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 Nothing on failure

FetchEmailAsync(uidl As String) As ChilkatTask

Creates an asynchronous task to call the FetchEmail method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

(Classic ASP) How to Return an Object from an Async Task

(Visual FoxPro) How to Return an Object from an Async Task

(PowerBuilder) How to Return an Object from an Async Task

(SQL Server) How to Return an Object from an Async Task

(Visual Basic 6.0) How to Return an Object from an Async Task

(VBScript) How to Return an Object from an Async Task

FetchMime(uidl As String) As Variant

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

Returns a zero-length byte array (as a Variant) on failure.
An empty array will have a UBound of -1 meaning 0 elements.

FetchMimeAsync(uidl As String) As ChilkatTask

Creates an asynchronous task to call the FetchMime method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

FetchMimeByMsgnum(ByVal msgnum As Long) As Variant

Fetches an email by message number and returns the MIME source of the email in a byte array. WARNING: Message sequend 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 a zero-length byte array (as a Variant) on failure.
An empty array will have a UBound of -1 meaning 0 elements.

FetchMimeByMsgnumAsync(ByVal msgnum As Long) As ChilkatTask

Creates an asynchronous task to call the FetchMimeByMsgnum method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

FetchMultiple(uidlArray As CkStringArray) As ChilkatEmailBundle

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 Nothing on failure

(Classic ASP) Process Large POP3 Mailbox

(Visual FoxPro) Process Large POP3 Mailbox

(PowerBuilder) Process Large POP3 Mailbox

(SQL Server) Process Large POP3 Mailbox

(Visual Basic 6.0) Process Large POP3 Mailbox

(VBScript) Process Large POP3 Mailbox

FetchMultipleAsync(uidlArray As CkStringArray) As ChilkatTask

Creates an asynchronous task to call the FetchMultiple method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

(Classic ASP) How to Return an Object from an Async Task

(Visual FoxPro) How to Return an Object from an Async Task

(PowerBuilder) How to Return an Object from an Async Task

(SQL Server) How to Return an Object from an Async Task

(Visual Basic 6.0) How to Return an Object from an Async Task

(VBScript) How to Return an Object from an Async Task

FetchMultipleHeaders(uidlArray As CkStringArray, ByVal numBodyLines As Long) As ChilkatEmailBundle

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 Nothing on failure

FetchMultipleHeadersAsync(uidlArray As CkStringArray, ByVal numBodyLines As Long) As ChilkatTask

Creates an asynchronous task to call the FetchMultipleHeaders method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

(Classic ASP) How to Return an Object from an Async Task

(Visual FoxPro) How to Return an Object from an Async Task

(PowerBuilder) How to Return an Object from an Async Task

(SQL Server) How to Return an Object from an Async Task

(Visual Basic 6.0) How to Return an Object from an Async Task

(VBScript) How to Return an Object from an Async Task

FetchMultipleMime(uidlArray As CkStringArray) As CkStringArray

Given an array of UIDL strings, fetchs all the emails from the POP3 server whose UIDL is present in the array, and returns the MIME source of each email in an "stringarray" -- an object containing a collection of strings. Returns a null reference on failure.

Returns Nothing on failure

FetchMultipleMimeAsync(uidlArray As CkStringArray) As ChilkatTask

Creates an asynchronous task to call the FetchMultipleMime method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

(Classic ASP) How to Return an Object from an Async Task

(Visual FoxPro) How to Return an Object from an Async Task

(PowerBuilder) How to Return an Object from an Async Task

(SQL Server) How to Return an Object from an Async Task

(Visual Basic 6.0) How to Return an Object from an Async Task

(VBScript) How to Return an Object from an Async Task

FetchSingleHeader(ByVal numBodyLines As Long, ByVal messageNumber As Long) As ChilkatEmail

Fetches a single header by message number. 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 messageNumber lines of either the plain-text or HTML body will be present).

Also Important:Message numbers are specific to a POP3 session (whereas UIDLs are valid across sessions). Be very careful when using this method.

Returns Nothing on failure

FetchSingleHeaderAsync(ByVal numBodyLines As Long, ByVal messageNumber As Long) As ChilkatTask

Creates an asynchronous task to call the FetchSingleHeader method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

(Classic ASP) How to Return an Object from an Async Task

(Visual FoxPro) How to Return an Object from an Async Task

(PowerBuilder) How to Return an Object from an Async Task

(SQL Server) How to Return an Object from an Async Task

(Visual Basic 6.0) How to Return an Object from an Async Task

(VBScript) How to Return an Object from an Async Task

FetchSingleHeaderByUidl(ByVal numBodyLines As Long, uidl As String) As ChilkatEmail

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 Nothing on failure

FetchSingleHeaderByUidlAsync(ByVal numBodyLines As Long, uidl As String) As ChilkatTask

Creates an asynchronous task to call the FetchSingleHeaderByUidl method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

(Classic ASP) How to Return an Object from an Async Task

(Visual FoxPro) How to Return an Object from an Async Task

(PowerBuilder) How to Return an Object from an Async Task

(SQL Server) How to Return an Object from an Async Task

(Visual Basic 6.0) How to Return an Object from an Async Task

(VBScript) How to Return an Object from an Async Task

GetAllHeaders(ByVal numBodyLines As Long) As ChilkatEmailBundle

Returns all the emails from the POP3 server, but only the first numBodyLines lines of the body. Attachments are not returned. The emails returned in the bundle are valid email objects, the only difference is that the body is truncated to include only the top numBodyLines lines, and the attachments will be missing.

Returns Nothing on failure

GetAllHeadersAsync(ByVal numBodyLines As Long) As ChilkatTask

Creates an asynchronous task to call the GetAllHeaders method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

(Classic ASP) How to Return an Object from an Async Task

(Visual FoxPro) How to Return an Object from an Async Task

(PowerBuilder) How to Return an Object from an Async Task

(SQL Server) How to Return an Object from an Async Task

(Visual Basic 6.0) How to Return an Object from an Async Task

(VBScript) How to Return an Object from an Async Task

GetBadEmailAddresses(strArray As CkStringArray)

Returns a string array object containing a list of failed and invalid email addresses that have accumulated during SMTP sends. The list will not contain duplicates. Also, this only works with some SMTP servers -- not all SMTP servers check the validity of each email address.

Note: An SMTP server can only validate the email addresses within it's own domain. External email address are not verifiable at the time of sending.

(Classic ASP) MailMan GetBadEmailAddrs

(Visual FoxPro) MailMan GetBadEmailAddrs

(PowerBuilder) MailMan GetBadEmailAddrs

(SQL Server) MailMan GetBadEmailAddrs

(Visual Basic 6.0) MailMan GetBadEmailAddrs

(VBScript) MailMan GetBadEmailAddrs

GetFullEmail(email As ChilkatEmail) As ChilkatEmail

If a partial email was obtained using GetHeaders or GetAllHeaders, this method will take the partial email as an argument, and download the full email from the server. A new email object (separate from the partial email) is returned. A null reference is returned on failure.

Returns Nothing on failure

GetFullEmailAsync(email As ChilkatEmail) As ChilkatTask

Creates an asynchronous task to call the GetFullEmail method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

(Classic ASP) How to Return an Object from an Async Task

(Visual FoxPro) How to Return an Object from an Async Task

(PowerBuilder) How to Return an Object from an Async Task

(SQL Server) How to Return an Object from an Async Task

(Visual Basic 6.0) How to Return an Object from an Async Task

(VBScript) How to Return an Object from an Async Task

GetHeaders(ByVal numBodyLines As Long, ByVal fromIndex As Long, ByVal toIndex As Long) As ChilkatEmailBundle

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 Nothing on failure

GetHeadersAsync(ByVal numBodyLines As Long, ByVal fromIndex As Long, ByVal toIndex As Long) As ChilkatTask

Creates an asynchronous task to call the GetHeaders method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

(Classic ASP) How to Return an Object from an Async Task

(Visual FoxPro) How to Return an Object from an Async Task

(PowerBuilder) How to Return an Object from an Async Task

(SQL Server) How to Return an Object from an Async Task

(Visual Basic 6.0) How to Return an Object from an Async Task

(VBScript) How to Return an Object from an Async Task

GetMailboxCount() As Long

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

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

GetMailboxCountAsync() As ChilkatTask

Creates an asynchronous task to call the GetMailboxCount method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

GetMailboxInfoXml() As String

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 Nothing on failure

(Classic ASP) Example: Get POP3 Mailbox XML Summary

(Visual FoxPro) Example: Get POP3 Mailbox XML Summary

(PowerBuilder) Example: Get POP3 Mailbox XML Summary

(SQL Server) Example: Get POP3 Mailbox XML Summary

(Visual Basic 6.0) Example: Get POP3 Mailbox XML Summary

(VBScript) Example: Get POP3 Mailbox XML Summary

GetMailboxInfoXmlAsync() As ChilkatTask

Creates an asynchronous task to call the GetMailboxInfoXml method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

GetMailboxSize() As Long

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.

GetMailboxSizeAsync() As ChilkatTask

Creates an asynchronous task to call the GetMailboxSize method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

GetPop3SslServerCert() As ChilkatCert

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 Nothing on failure

GetSentToEmailAddrs() As CkStringArray

Returns the list of successful email addresses in the last call to a mail sending method, such as SendEmail.

When an email is sent, the email addresses that were flagged invalid by the SMTP server are saved in a "bad email addresses" list within the mailman object, and the acceptable email addresses are saved in a "good email addresses" list (within the mailman object). These internal lists are automatically reset at the start of the next mail-sending method call. This allows for a program to know which email addresses were accepted and which were not.

Note: The AllOrNone property controls whether the mail-sending method, such as SendEmail, returns 0 (to indicate failure) if any single email address is rejected.

Note: An SMTP server can only be aware of invalid email addresses that are of the same domain. For example, the comcast.net mail servers would only be aware of what comcast.net email addresses are valid. All external email addresses are implicitly accepted because the server is simply forwarding the email towards the mail server controlling that domain.

Returns Nothing on failure

(Classic ASP) MailMan GetSentToEmailAddrs

(Visual FoxPro) MailMan GetSentToEmailAddrs

(PowerBuilder) MailMan GetSentToEmailAddrs

(SQL Server) MailMan GetSentToEmailAddrs

(Visual Basic 6.0) MailMan GetSentToEmailAddrs

(VBScript) MailMan GetSentToEmailAddrs

GetSizeByUidl(uidl As String) As Long

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

GetSizeByUidlAsync(uidl As String) As ChilkatTask

Creates an asynchronous task to call the GetSizeByUidl method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

GetSmtpSslServerCert() As ChilkatCert

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

Returns Nothing on failure

GetUidls() As CkStringArray

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

Returns Nothing on failure

GetUidlsAsync() As ChilkatTask

Creates an asynchronous task to call the GetUidls method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

(Classic ASP) How to Return an Object from an Async Task

(Visual FoxPro) How to Return an Object from an Async Task

(PowerBuilder) How to Return an Object from an Async Task

(SQL Server) How to Return an Object from an Async Task

(Visual Basic 6.0) How to Return an Object from an Async Task

(VBScript) How to Return an Object from an Async Task

IsSmtpDsnCapable() As Long

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.

IsSmtpDsnCapableAsync() As ChilkatTask

Creates an asynchronous task to call the IsSmtpDsnCapable method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

IsUnlocked() As Long

Returns 1 if the mailman is already unlocked, otherwise returns 0.

LastJsonData() As ChilkatJsonObject

Introduced in version 9.5.0.69

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 Nothing on failure

LoadEml(emlFilename As String) As ChilkatEmail

Loads an email from a .eml file. (EML files contain the MIME source of an email.) Returns a null reference on failure.

Note: MHT files can be loaded into an email object by calling this method.

Returns Nothing on failure

MHT = EML

LoadMbx(mbxFileName As String) As ChilkatEmailBundle

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

Returns Nothing on failure

LoadMime(mimeText As String) As ChilkatEmail

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

Returns Nothing on failure

LoadQueuedEmail(path As String) As ChilkatEmail

This method is deprecated. It will be removed in a future version.

Loads an email previously written to a Chilkat SMTPQ file via the SendQ/SendQ2 methods. When SendQ or SendQ2 writes an email to a queue directory, the .eml created contains special MIME header fields used by the SMTPQ process. These include fields to specify the SMTP server, login/password, whether the email should be sent signed and/or encrypted, etc. The SMTPQ process reads these fields and removes them before sending. This method will read the .eml and set the mailman properties to reflect the settings at the time when SendQ/SendQ2 was originally called. This makes it possible for you to write your own "SMTPQ" process that processes files from a queue directory and sends according to the SMTP hostname/login parameters specified by the program that queued the email.

Returns a null reference upon failure.

Returns Nothing on failure

SMTPQ Source Code and Visual Studio Project on GitHub

LoadXmlEmail(filename As String) As ChilkatEmail

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

Returns Nothing on failure

LoadXmlEmailString(xmlString As String) As ChilkatEmail

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

Returns Nothing on failure

LoadXmlFile(filename As String) As ChilkatEmailBundle

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 Nothing on failure

LoadXmlString(xmlString As String) As ChilkatEmailBundle

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 Nothing on failure

MxLookup(emailAddress As String) As String

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

Returns Nothing on failure

(Classic ASP) MX Lookup Example

(Visual FoxPro) MX Lookup Example

(PowerBuilder) MX Lookup Example

(SQL Server) MX Lookup Example

(Visual Basic 6.0) MX Lookup Example

(VBScript) MX Lookup Example

MxLookupAll(emailAddress As String) As CkStringArray

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 Nothing on failure

OpenSmtpConnection() As Long

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.

Minimizing SMTP Connections

(Classic ASP) SMTP SSH Tunneling (Port Forwarding)

(Visual FoxPro) SMTP SSH Tunneling (Port Forwarding)

(PowerBuilder) SMTP SSH Tunneling (Port Forwarding)

(SQL Server) SMTP SSH Tunneling (Port Forwarding)

(Visual Basic 6.0) SMTP SSH Tunneling (Port Forwarding)

(VBScript) SMTP SSH Tunneling (Port Forwarding)

(Classic ASP) Send Email with Hotmail (live.com) -- smtp-mail.outlook.com

(Visual FoxPro) Send Email with Hotmail (live.com) -- smtp-mail.outlook.com

(PowerBuilder) Send Email with Hotmail (live.com) -- smtp-mail.outlook.com

(SQL Server) Send Email with Hotmail (live.com) -- smtp-mail.outlook.com

(Visual Basic 6.0) Send Email with Hotmail (live.com) -- smtp-mail.outlook.com

(VBScript) Send Email with Hotmail (live.com) -- smtp-mail.outlook.com

OpenSmtpConnectionAsync() As ChilkatTask

Creates an asynchronous task to call the OpenSmtpConnection method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

Pop3Authenticate() As Long

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.

Pop3AuthenticateAsync() As ChilkatTask

Introduced in version 9.5.0.56

Creates an asynchronous task to call the Pop3Authenticate method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

Pop3BeginSession() As Long

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 about POP3 Session Management

Pop3BeginSessionAsync() As ChilkatTask

Creates an asynchronous task to call the Pop3BeginSession method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

Pop3Connect() As Long

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.

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.

Pop3ConnectAsync() As ChilkatTask

Introduced in version 9.5.0.56

Creates an asynchronous task to call the Pop3Connect method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

Pop3EndSession() As Long

Call to explicitly end a POP3 session. 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.

More about POP3 Session Management

(Classic ASP) Test HotMail POP3 (pop3.live.com or pop-mail.outlook.com)

(Visual FoxPro) Test HotMail POP3 (pop3.live.com or pop-mail.outlook.com)

(PowerBuilder) Test HotMail POP3 (pop3.live.com or pop-mail.outlook.com)

(SQL Server) Test HotMail POP3 (pop3.live.com or pop-mail.outlook.com)

(Visual Basic 6.0) Test HotMail POP3 (pop3.live.com or pop-mail.outlook.com)

(VBScript) Test HotMail POP3 (pop3.live.com or pop-mail.outlook.com)

Pop3EndSessionAsync() As ChilkatTask

Creates an asynchronous task to call the Pop3EndSession method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

Pop3EndSessionNoQuit() As Long

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.

Pop3EndSessionNoQuitAsync() As ChilkatTask

Creates an asynchronous task to call the Pop3EndSessionNoQuit method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

Pop3Noop() As Long

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.

Pop3NoopAsync() As ChilkatTask

Creates an asynchronous task to call the Pop3Noop method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

Pop3Reset() As Long

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.

Pop3ResetAsync() As ChilkatTask

Creates an asynchronous task to call the Pop3Reset method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

Pop3SendRawCommand(command As String, charset As String) As String

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 Nothing on failure

Pop3SendRawCommandAsync(command As String, charset As String) As ChilkatTask

Creates an asynchronous task to call the Pop3SendRawCommand method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

QuickSend(fromAddr As String, toAddr As String, subject As String, body As String, smtpServer As String) As Long

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.

QuickSendAsync(fromAddr As String, toAddr As String, subject As String, body As String, smtpServer As String) As ChilkatTask

Creates an asynchronous task to call the QuickSend method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

RenderToMime(email As ChilkatEmail) As String

When an email is sent by calling SendEmail, it is first "rendered" according to the values of the email properties and contents. It may be digitally signed, encrypted, values substituted for replacement patterns, and header fields "Q"or "B" encoded as needed based on the email. The RenderToMime method performs the rendering, but without the actual sending. The MIME text produced is exactly what would be sent to the SMTP server had SendEmail been called. (The SendEmail method is effectively the same as calling RenderToMime followed by a call to SendRendered.)

The rendered MIME string is returned on success.

Returns Nothing on failure

RenderToMimeBd(email As ChilkatEmail, renderedMime As ChilkatBinData) As Long

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.

RenderToMimeBytes(email As ChilkatEmail) As Variant

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 a zero-length byte array (as a Variant) on failure.
An empty array will have a UBound of -1 meaning 0 elements.

RenderToMimeSb(email As ChilkatEmail, renderedMime As ChilkatStringBuilder) As Long

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.

(Classic ASP) Sign Email using RSASSA-PSS with SHA256

(Visual FoxPro) Sign Email using RSASSA-PSS with SHA256

(PowerBuilder) Sign Email using RSASSA-PSS with SHA256

(SQL Server) Sign Email using RSASSA-PSS with SHA256

(Visual Basic 6.0) Sign Email using RSASSA-PSS with SHA256

(VBScript) Sign Email using RSASSA-PSS with SHA256

(Classic ASP) Encrypt Email using RSAES-OAEP with AES-128 CBC and SHA256

(Visual FoxPro) Encrypt Email using RSAES-OAEP with AES-128 CBC and SHA256

(PowerBuilder) Encrypt Email using RSAES-OAEP with AES-128 CBC and SHA256

(SQL Server) Encrypt Email using RSAES-OAEP with AES-128 CBC and SHA256

(Visual Basic 6.0) Encrypt Email using RSAES-OAEP with AES-128 CBC and SHA256

(VBScript) Encrypt Email using RSAES-OAEP with AES-128 CBC and SHA256

SendBundle(bundle As ChilkatEmailBundle) As Long

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.

SendBundleAsync(bundle As ChilkatEmailBundle) As ChilkatTask

Creates an asynchronous task to call the SendBundle method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

SendEmail(email As ChilkatEmail) As Long

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.

Returns 1 for success, 0 for failure.

(Classic ASP) Send Email

(Visual FoxPro) Send Email

(PowerBuilder) Send Email

(SQL Server) Send Email

(Visual Basic 6.0) Send Email

(VBScript) Send Email

(Classic ASP) Send using GMail with OAuth2 Authentication

(Visual FoxPro) Send using GMail with OAuth2 Authentication

(PowerBuilder) Send using GMail with OAuth2 Authentication

(SQL Server) Send using GMail with OAuth2 Authentication

(Visual Basic 6.0) Send using GMail with OAuth2 Authentication

(VBScript) Send using GMail with OAuth2 Authentication

Configure GMail for less secure apps

Diagnosing SMTP Failures

SocketError: WSAECONNABORTED when Sending Email (SMTP)

SMTP 553-Relaying Denied

550 5.7.1 Unable to relay

Using undisclosed recipients / Send Failed

sockError: 10053, WSAECONNABORTED An established connection was aborted by the software in your host machine

Sending Email without a Mail Server (sort of)

Invalid Token error when trying to connect with SSL (SMTP, POP3, IMAP, FTP, HTTP)

SMTP SSL Clarification

Read Receipt vs. Delivery Receipt when Sending Email

Validating an Email Address - Unfortunately, Nothing is Perfect

POP-before-SMTP Authentication

(Classic ASP) Send Email with Copy Placed in the Sent Folder

(Visual FoxPro) Send Email with Copy Placed in the Sent Folder

(PowerBuilder) Send Email with Copy Placed in the Sent Folder

(SQL Server) Send Email with Copy Placed in the Sent Folder

(Visual Basic 6.0) Send Email with Copy Placed in the Sent Folder

(VBScript) Send Email with Copy Placed in the Sent Folder

(Classic ASP) Send Email Asynchronously using a Task

(Visual FoxPro) Send Email Asynchronously using a Task

(PowerBuilder) Send Email Asynchronously using a Task

(SQL Server) Send Email Asynchronously using a Task

(Visual Basic 6.0) Send Email Asynchronously using a Task

(VBScript) Send Email Asynchronously using a Task

SendEmailAsync(email As ChilkatEmail) As ChilkatTask

Creates an asynchronous task to call the SendEmail method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

SendMime(fromAddr As String, recipients As String, mimeSource As String) As Long

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).

Returns 1 for success, 0 for failure.

SMTP Protocol in a Nutshell

Email send function returns success, but recipient never receives email?

SendMimeAsync(fromAddr As String, recipients As String, mimeSource As String) As ChilkatTask

Creates an asynchronous task to call the SendMime method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

SendMimeBytes(fromAddr As String, recipients As String, mimeSource As Variant) As Long

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).

Returns 1 for success, 0 for failure.

SMTP Protocol in a Nutshell

Email send function returns success, but recipient never receives email?

SendMimeBytesAsync(fromAddr As String, recipients As String, mimeSource As Variant) As ChilkatTask

Creates an asynchronous task to call the SendMimeBytes method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

SendMimeBytesQ(from As String, recipients As String, mimeData As Variant) As Long

This method is deprecated. It will be removed in a future version.

This method is the samem as SendMimeQ, except the MIME is passed in a byte array argument instead of a string argument.

Returns 1 for success, 0 for failure.

SMTPQ Source Code and Visual Studio Project on GitHub

SendMimeQ(fromAddr As String, recipients As String, mimeSource As String) As Long

This method is deprecated. It will be removed in a future version.

Same as SendMime, except the email is written to the Chilkat SMTPQ's queue directory for background sending from the SMTPQ service.

Important: The SMTPQ functionality is deprecated and will be removed in a future version. The SMTPQ Windows Service Visual Studo project is available on GitHub at the link below. Users would need to build the project prior to using. Chilkat does not provide pre-built binaries for the SMTPQ Windows Service.

Returns 1 for success, 0 for failure.

SMTPQ Source Code and Visual Studio Project on GitHub

SendMimeToList(fromAddr As String, distListFilename As String, mimeSource As String) As Long

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.

SendMimeToListAsync(fromAddr As String, distListFilename As String, mimeSource As String) As ChilkatTask

Creates an asynchronous task to call the SendMimeToList method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

SendQ(email As ChilkatEmail) As Long

This method is deprecated. It will be removed in a future version.

Queues an email to be sent using the Chilkat SMTP queue service. This is the same as SendEmail, except the email is written to the SMTPQ's queue directory.

The email is written as a .eml to the SMTPQ's queue directory. The SMTP server hostname, login, password, and send-time parameters are saved as encrypted headers in the .eml. The SMTPQ service watches the queue directory. When a .eml file appears, it loads the .eml, extracts and removes the encrypted information from the header, and sends the email.

Note: When the Chilkat SMTPQ service is configured, the location of the queue directory is written to the registry. Because Chilkat SMTPQ is a 32-bit service, it is the 32-bit registry that is written. (Microsoft 64-bit systems have two separate registries -- one for 32-bit and one for 64-bit.) Therefore, if your application is a 64-bit app, the registry lookup for the queue directory will fail. You should instead call the SendQ2 method which allows for the queue directory to be explicitly specified.

Note: After calling this method, the filename of the .eml that was created will be available in the LastSendQFilename property.

Important: The SMTPQ functionality is deprecated and will be removed in a future version. The SMTPQ Windows Service Visual Studo project is available on GitHub at the link below. Users would need to build the project prior to using. Chilkat does not provide pre-built binaries for the SMTPQ Windows Service.

Returns 1 for success, 0 for failure.

SMTPQ Source Code and Visual Studio Project on GitHub

SendQ2(email As ChilkatEmail, queueDir As String) As Long

This method is deprecated. It will be removed in a future version.

Same as SendQ, but the queue directory can be explicitly specified in a method argument.

Beginning with version 9.5.0.47, the queueDir can indicate the exact output filepath to be written. If queueDir specifies only the directory, then SendQ2 will automatically generate the output filename.

Important: The SMTPQ functionality is deprecated and will be removed in a future version. The SMTPQ Windows Service Visual Studo project is available on GitHub at the link below. Users would need to build the project prior to using. Chilkat does not provide pre-built binaries for the SMTPQ Windows Service.

Returns 1 for success, 0 for failure.

SMTPQ Source Code and Visual Studio Project on GitHub

SendToDistributionList(emailObj As ChilkatEmail, recipientList As CkStringArray) As Long

Send the same email to a list of email addresses.

Returns 1 for success, 0 for failure.

(Classic ASP) Send Identical Email to Distribution List

(Visual FoxPro) Send Identical Email to Distribution List

(PowerBuilder) Send Identical Email to Distribution List

(SQL Server) Send Identical Email to Distribution List

(Visual Basic 6.0) Send Identical Email to Distribution List

(VBScript) Send Identical Email to Distribution List

SendToDistributionListAsync(emailObj As ChilkatEmail, recipientList As CkStringArray) As ChilkatTask

Creates an asynchronous task to call the SendToDistributionList method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

SetCSP(csp As ChilkatCsp) As Long

(Only applies to the Microsoft Windows OS) Sets the Cryptographic Service Provider (CSP) to be used for encryption or digital signing, or decryption / signature verification.

This is not commonly used becaues the default Microsoft CSP is typically appropriate. One instance where SetCSP is necessary is when using the Crypto-Pro CSP for the GOST R 34.10-2001 and GOST R 34.10-94 providers.

Returns 1 for success, 0 for failure.

SetDecryptCert(cert As ChilkatCert) As Long

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.

SetDecryptCert2(cert As ChilkatCert, privateKey As PrivateKey) As Long

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.

SetPassword(protocol As String, password As ChilkatSecureString) As Long

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.

(Classic ASP) POP3 Login Secure

(Visual FoxPro) POP3 Login Secure

(PowerBuilder) POP3 Login Secure

(SQL Server) POP3 Login Secure

(Visual Basic 6.0) POP3 Login Secure

(VBScript) POP3 Login Secure

(Classic ASP) SMTP Login Secure

(Visual FoxPro) SMTP Login Secure

(PowerBuilder) SMTP Login Secure

(SQL Server) SMTP Login Secure

(Visual Basic 6.0) SMTP Login Secure

(VBScript) SMTP Login Secure

SetSslClientCert(cert As ChilkatCert) As Long

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.

SetSslClientCertPem(pemDataOrFilename As String, pemPassword As String) As Long

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

Returns 1 for success, 0 for failure.

How to Create a PEM that Contains Certificates and a Private Key

SetSslClientCertPfx(pfxFilename As String, pfxPassword As String) As Long

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

Returns 1 for success, 0 for failure.

SmtpAuthenticate() As Long

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.

SmtpAuthenticateAsync() As ChilkatTask

Introduced in version 9.5.0.48

Creates an asynchronous task to call the SmtpAuthenticate method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

SmtpConnect() As Long

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.

SmtpConnectAsync() As ChilkatTask

Introduced in version 9.5.0.48

Creates an asynchronous task to call the SmtpConnect method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

SmtpNoop() As Long

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.

SmtpNoopAsync() As ChilkatTask

Creates an asynchronous task to call the SmtpNoop method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

SmtpReset() As Long

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.

SmtpResetAsync() As ChilkatTask

Creates an asynchronous task to call the SmtpReset method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

SmtpSendRawCommand(command As String, charset As String, ByVal bEncodeBase64 As Long) As String

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 Nothing on failure

SmtpSendRawCommandAsync(command As String, charset As String, ByVal bEncodeBase64 As Long) As ChilkatTask

Creates an asynchronous task to call the SmtpSendRawCommand method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

SshAuthenticatePk(sshLogin As String, sshUsername As ChilkatSshKey) As Long

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.

SshAuthenticatePkAsync(sshLogin As String, sshUsername As ChilkatSshKey) As ChilkatTask

Creates an asynchronous task to call the SshAuthenticatePk method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

SshAuthenticatePw(sshLogin As String, sshPassword As String) As Long

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.

(Classic ASP) POP3 SSH Tunneling (Port Forwarding)

(Visual FoxPro) POP3 SSH Tunneling (Port Forwarding)

(PowerBuilder) POP3 SSH Tunneling (Port Forwarding)

(SQL Server) POP3 SSH Tunneling (Port Forwarding)

(Visual Basic 6.0) POP3 SSH Tunneling (Port Forwarding)

(VBScript) POP3 SSH Tunneling (Port Forwarding)

(Classic ASP) SMTP SSH Tunneling (Port Forwarding)

(Visual FoxPro) SMTP SSH Tunneling (Port Forwarding)

(PowerBuilder) SMTP SSH Tunneling (Port Forwarding)

(SQL Server) SMTP SSH Tunneling (Port Forwarding)

(Visual Basic 6.0) SMTP SSH Tunneling (Port Forwarding)

(VBScript) SMTP SSH Tunneling (Port Forwarding)

SshAuthenticatePwAsync(sshLogin As String, sshPassword As String) As ChilkatTask

Creates an asynchronous task to call the SshAuthenticatePw method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

SshCloseTunnel() As Long

Closes the SSH tunnel for SMTP or POP3.

Returns 1 for success, 0 for failure.

SshCloseTunnelAsync() As ChilkatTask

Creates an asynchronous task to call the SshCloseTunnel method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

SshOpenTunnel(sshHostname As String, ByVal sshPort As Long) As Long

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.

(Classic ASP) POP3 SSH Tunneling (Port Forwarding)

(Visual FoxPro) POP3 SSH Tunneling (Port Forwarding)

(PowerBuilder) POP3 SSH Tunneling (Port Forwarding)

(SQL Server) POP3 SSH Tunneling (Port Forwarding)

(Visual Basic 6.0) POP3 SSH Tunneling (Port Forwarding)

(VBScript) POP3 SSH Tunneling (Port Forwarding)

(Classic ASP) SMTP SSH Tunneling (Port Forwarding)

(Visual FoxPro) SMTP SSH Tunneling (Port Forwarding)

(PowerBuilder) SMTP SSH Tunneling (Port Forwarding)

(SQL Server) SMTP SSH Tunneling (Port Forwarding)

(Visual Basic 6.0) SMTP SSH Tunneling (Port Forwarding)

(VBScript) SMTP SSH Tunneling (Port Forwarding)

SshOpenTunnelAsync(sshHostname As String, ByVal sshPort As Long) As ChilkatTask

Introduced in version 9.5.0.50

Creates an asynchronous task to call the SshOpenTunnel method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

TransferMail() As ChilkatEmailBundle

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

Returns Nothing on failure

TransferMailAsync() As ChilkatTask

Creates an asynchronous task to call the TransferMail method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

(Classic ASP) How to Return an Object from an Async Task

(Visual FoxPro) How to Return an Object from an Async Task

(PowerBuilder) How to Return an Object from an Async Task

(SQL Server) How to Return an Object from an Async Task

(Visual Basic 6.0) How to Return an Object from an Async Task

(VBScript) How to Return an Object from an Async Task

TransferMultipleMime(uidlArray As CkStringArray) As CkStringArray

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

Returns Nothing on failure

TransferMultipleMimeAsync(uidlArray As CkStringArray) As ChilkatTask

Creates an asynchronous task to call the TransferMultipleMime method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

(Classic ASP) How to Return an Object from an Async Task

(Visual FoxPro) How to Return an Object from an Async Task

(PowerBuilder) How to Return an Object from an Async Task

(SQL Server) How to Return an Object from an Async Task

(Visual Basic 6.0) How to Return an Object from an Async Task

(VBScript) How to Return an Object from an Async Task

UnlockComponent(code As String) As Long

Unlocks the component. This must be called once at the beginning of your program (or ASP / ASP.NET page). It is very fast and has negligible overhead. An arbitrary string, such as "Hello World" may be passed to automatically begin a fully-functional 30-day trial.

A valid purchased unlock code for this object will always included the substring "MAIL", or can be a Bundle unlock code.

Returns 1 for success, 0 for failure.

Diagnosing UnlockComponent Problems

UnlockComponent LastErrorText shows exact string passed to it.

Verify UnlockComponent Success w/ Purchased Unlock Code

LastErrorText Standard Information

UseCertVault(vault As ChilkatXmlCertVault) As Long

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.

UseSsh(ssh As ChilkatSsh) As Long

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.

(Classic ASP) SMTP over Multiple Hop SSH

(Visual FoxPro) SMTP over Multiple Hop SSH

(PowerBuilder) SMTP over Multiple Hop SSH

(SQL Server) SMTP over Multiple Hop SSH

(Visual Basic 6.0) SMTP over Multiple Hop SSH

(VBScript) SMTP over Multiple Hop SSH

(Classic ASP) POP3 over Multiple Hop SSH

(Visual FoxPro) POP3 over Multiple Hop SSH

(PowerBuilder) POP3 over Multiple Hop SSH

(SQL Server) POP3 over Multiple Hop SSH

(Visual Basic 6.0) POP3 over Multiple Hop SSH

(VBScript) POP3 over Multiple Hop SSH

UseSshTunnel(tunnel As ChilkatSocket) As Long

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.

VerifyPopConnection() As Long

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

VerifyPopConnectionAsync() As ChilkatTask

Creates an asynchronous task to call the VerifyPopConnection method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

VerifyPopLogin() As Long

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

VerifyPopLoginAsync() As ChilkatTask

Creates an asynchronous task to call the VerifyPopLogin method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

VerifyRecips(email As ChilkatEmail, badAddrs As CkStringArray) As Long

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

Returns 1 for success, 0 for failure.

VerifyRecipsAsync(email As ChilkatEmail, badAddrs As CkStringArray) As ChilkatTask

Creates an asynchronous task to call the VerifyRecips method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

VerifySmtpConnection() As Long

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

VerifySmtpConnectionAsync() As ChilkatTask

Creates an asynchronous task to call the VerifySmtpConnection method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

VerifySmtpLogin() As Long

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

VerifySmtpLoginAsync() As ChilkatTask

Creates an asynchronous task to call the VerifySmtpLogin method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns Nothing on failure

VB6 Programs MUST Call FinalizeThreadPool Just Before Exiting

Asynchronous Methods in VB6 - Be Very Careful with Callbacks

(Classic ASP) How to Run an Asynchronous Task

(Visual FoxPro) How to Run an Asynchronous Task

(PowerBuilder) How to Run an Asynchronous Task

(SQL Server) How to Run an Asynchronous Task

(Visual Basic 6.0) How to Run an Asynchronous Task

(VBScript) How to Run an Asynchronous Task

Events

AbortCheck(abort As Long)

Provides the opportunity for a method call to be aborted. The AbortCheck event is fired periodically based on the value of the HeartbeatMs property. If HeartbeatMs is 0, then no AbortCheck events will fire. As an example, to fire 5 AbortCheck events per second, set the HeartbeatMs property equal to 200.

VB6 Event callback implementation:

Important: Event callbacks from asynchronous method calls are generally not possible from the ActiveX. See VB6 Async Callbacks

Dim WithEvents myMailman As ChilkatMailMan

Private Sub myMailman_AbortCheck(abort As Long)

	'Insert application code here.

End Sub

BinaryData(data As Variant)

Binary data provided by certain methods.

VB6 Event callback implementation:

Important: Event callbacks from asynchronous method calls are generally not possible from the ActiveX. See VB6 Async Callbacks

Dim WithEvents myMailman As ChilkatMailMan

Private Sub myMailman_BinaryData(data As Variant)

	'Insert application code here.

End Sub

EmailReceived(subject As String, fromAddr As String, fromName As String, returnPath As String, date As String, uidl As String, ByVal sizeInBytes As Long)

Called just after an email has been received. This is useful for methods that download more than one email.

VB6 Event callback implementation:

Important: Event callbacks from asynchronous method calls are generally not possible from the ActiveX. See VB6 Async Callbacks

Dim WithEvents myMailman As ChilkatMailMan

Private Sub myMailman_EmailReceived(subject As String, fromAddr As String, fromName As String, returnPath As String, date As String, uidl As String, ByVal sizeInBytes As Long)

	'Insert application code here.

End Sub

PercentDone(ByVal pctDone As Long, abort As Long)

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

The PercentDone callback counts as an AbortCheck event. For method calls that complete quickly such that PercentDone events fire, it may be that AbortCheck events don't fire because the opportunity to abort is already provided in the PercentDone callback. For time consuming operations, where the amount of time between PercentDone callbacks are long, AbortCheck callbacks may be used to allow for the operation to be aborted in a more responsive manner.

The abort output argument provides a means for aborting the operation. Setting it to 1 will cause the method to abort and return a failed status (or whatever return value indicates failure).

VB6 Event callback implementation:

Important: Event callbacks from asynchronous method calls are generally not possible from the ActiveX. See VB6 Async Callbacks

Dim WithEvents myMailman As ChilkatMailMan

Private Sub myMailman_PercentDone(ByVal pctDone As Long, abort As Long)

	'Insert application code here.

End Sub

ProgressInfo(name As String, value As String)

A general name/value event that provides information about what is happening during a method call. To find out what information is available, write code to handle this event and log the name/value pairs. Most are self-explanatory.

VB6 Event callback implementation:

Important: Event callbacks from asynchronous method calls are generally not possible from the ActiveX. See VB6 Async Callbacks

Dim WithEvents myMailman As ChilkatMailMan

Private Sub myMailman_ProgressInfo(name As String, value As String)

	'Insert application code here.

End Sub

TextData(data As String)

Text data provided by certain methods.

VB6 Event callback implementation:

Important: Event callbacks from asynchronous method calls are generally not possible from the ActiveX. See VB6 Async Callbacks

Dim WithEvents myMailman As ChilkatMailMan

Private Sub myMailman_TextData(data As String)

	'Insert application code here.

End Sub