Email Delphi DLL Reference Documentation

Email

Current Version: 10.0.0

Represents a complete Email object.

Create/Dispose

var
myObject: HCkEmail;

begin
myObject := CkEmail_Create();

// ...

CkEmail_Dispose(myObject);
end;
function CkEmail_Create: HCkEmail; stdcall;

Creates an instance of the HCkEmail object and returns a handle (i.e. a Pointer). The handle is passed in the 1st argument for the functions listed on this page.

procedure CkEmail_Dispose(handle: HCkEmail); stdcall;

Objects created by calling CkEmail_Create must be freed by calling this method. A memory leak occurs if a handle is not disposed by calling this function.

Properties

Body
procedure CkEmail_getBody(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putBody(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__body(objHandle: HCkEmail): PWideChar; stdcall;

The body of the email. If the email has both HTML and plain-text bodies, this property returns the HTML body. The GetHtmlBody and GetPlainTextBody methods can be used to access a specific body. The HasHtmlBody and HasPlainTextBody methods can be used to determine the presence of a body.

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top
BounceAddress
procedure CkEmail_getBounceAddress(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putBounceAddress(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__bounceAddress(objHandle: HCkEmail): PWideChar; stdcall;

The "return-path" address of the email to be used when the email is sent. Bounces (i.e. delivery status notifications, or DSN's) will go to this address.

Note: This is not the content of the "return-path" header for emails that are downloaded from a POP3 or IMAP server. The BounceAddress is the email address to be used in the process of sending the email via SMTP. (See the "SMTP Protocol in a Nutshell" link below.) The BounceAddress is the email address passed in the "MAIL FROM" SMTP command which becomes the "return-path" header in the email when received.

Note: The Sender and BounceAddress properties are identical and perform the same function. Setting the Sender property also sets the BounceAddress property, and vice-versa. The reason for the duplication is that BounceAddress existed first, and developers typically searched for a "Sender" property without realizing that the BounceAddress property served this function.

See the notes about PWideChar memory ownership and validity.

top
Charset
procedure CkEmail_getCharset(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putCharset(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__charset(objHandle: HCkEmail): PWideChar; stdcall;

Represents the main charset of the email, such as "utf-8", "iso-8859-1", "Shift_JIS", "us-ascii", etc. This property can be empty if there is no explicit charset, such as for emails with only us-ascii.

Setting this property causes Chilkat to use the new charset in HTML and plain-text bodies, where possible. This can include updating the HTML META tag in HTML bodies to agree with the charset specified in the email header and also the byte representation of the HTML body in the email.

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top
DebugLogFilePath
procedure CkEmail_getDebugLogFilePath(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putDebugLogFilePath(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__debugLogFilePath(objHandle: HCkEmail): PWideChar; stdcall;

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.

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top
Decrypted
function CkEmail_getDecrypted(objHandle: HCkEmail): wordbool; stdcall;

True if the email arrived encrypted and was successfully decrypted, otherwise False. This property is only meaningful when the ReceivedEncrypted property is equal to True.

top
EmailDateStr
procedure CkEmail_getEmailDateStr(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putEmailDateStr(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__emailDateStr(objHandle: HCkEmail): PWideChar; stdcall;

The date/time from the "Date" header in the UTC/GMT timezone in RFC822 string form.

See the notes about PWideChar memory ownership and validity.

top
EncryptedBy
procedure CkEmail_getEncryptedBy(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
function CkEmail__encryptedBy(objHandle: HCkEmail): PWideChar; stdcall;

If the email was received encrypted, this contains the details of the certificate used for encryption.

See the notes about PWideChar memory ownership and validity.

top
FileDistList
procedure CkEmail_getFileDistList(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putFileDistList(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__fileDistList(objHandle: HCkEmail): PWideChar; stdcall;

Set this property to send an email to a list of recipients stored in a plain text file. The file format is simple: one recipient per line, no comments allowed, blank lines are ignored.Setting this property is equivalent to adding a "CKX-FileDistList"header field to the email. Chilkat Mail treats header fields beginning with "CKX-"specially in that these fields are never transmitted with the email when sent. However, CKX fields are saved and restored when saving to XML or loading from XML (or MIME). When sending an email containing a "CKX-FileDistList"header field, Chilkat Mail will read the distribution list file and send the email to each recipient. Emails can be sent individually, or with BCC, 100 recipients at a time. (see the MailMan.SendIndividual property).

See the notes about PWideChar memory ownership and validity.

top
From
procedure CkEmail_getFrom(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putFrom(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__from(objHandle: HCkEmail): PWideChar; stdcall;

The combined name and email address of the sender, such as "John Smith" . This is the content that will be placed in the From: header field. If the actual sender is to be different, then set the Sender property to a different email address.

See the notes about PWideChar memory ownership and validity.

top
FromAddress
procedure CkEmail_getFromAddress(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putFromAddress(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__fromAddress(objHandle: HCkEmail): PWideChar; stdcall;

The email address of the sender.

See the notes about PWideChar memory ownership and validity.

top
FromName
procedure CkEmail_getFromName(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putFromName(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__fromName(objHandle: HCkEmail): PWideChar; stdcall;

The name of the sender.

See the notes about PWideChar memory ownership and validity.

top
Header
procedure CkEmail_getHeader(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
function CkEmail__header(objHandle: HCkEmail): PWideChar; stdcall;

The complete MIME header of the email.

See the notes about PWideChar memory ownership and validity.

top
Language
procedure CkEmail_getLanguage(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
function CkEmail__language(objHandle: HCkEmail): PWideChar; stdcall;

A read-only property that identifies the primary language group for the email. Possible values are:

  • "latin1" (for English and all Western European languages)
  • "central" (for Central European languages such as Polish, Czech, Hungarian, etc.)
  • "russian" (for Cyrillic languages)
  • "greek"
  • "turkish"
  • "hebrew"
  • "arabic"
  • "thai"
  • "vietnamese"
  • "chinese"
  • "japanese"
  • "korean"
  • "devanagari"
  • "bengali"
  • "gurmukhi"
  • "gujarati"
  • "oriya"
  • "tamil"
  • "telugu"
  • "kannada"
  • "malayalam"
  • "sinhala"
  • "lao"
  • "tibetan"
  • "myanmar"
  • "georgian"
  • "unknown"
The language group determination is made soley on the subject and plain-text/HTML email bodies. Characters in the FROM, TO, CC, and other header fields are not considered.

The primary determining factor is the characters found in the Subject header field. For example, if an email contains Japanese in the Subject, but the body contains Russian characters, it will be considered "japanese".

The language is determined by where the Unicode chars fall in various blocks in the Unicode Basic Multilingual Plane. For more information, see the book "Unicode Demystified" by Richard Gillam.

See the notes about PWideChar memory ownership and validity.

top
LastErrorHtml
procedure CkEmail_getLastErrorHtml(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
function CkEmail__lastErrorHtml(objHandle: HCkEmail): PWideChar; stdcall;

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.

See the notes about PWideChar memory ownership and validity.

top
LastErrorText
procedure CkEmail_getLastErrorText(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
function CkEmail__lastErrorText(objHandle: HCkEmail): PWideChar; stdcall;

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.

See the notes about PWideChar memory ownership and validity.

top
LastErrorXml
procedure CkEmail_getLastErrorXml(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
function CkEmail__lastErrorXml(objHandle: HCkEmail): PWideChar; stdcall;

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.

See the notes about PWideChar memory ownership and validity.

top
LastMethodSuccess
function CkEmail_getLastMethodSuccess(objHandle: HCkEmail): wordbool; stdcall;
procedure CkEmail_putLastMethodSuccess(objHandle: HCkEmail; newPropVal: wordbool); stdcall;

Indicate whether the last method call succeeded or failed. A value of True indicates success, a value of False 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 = True and failure = False.
  • 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 True. For example, a method that returns no value (such as a "void" in C++) will technically always succeed.

top
LocalDateStr
procedure CkEmail_getLocalDateStr(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putLocalDateStr(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__localDateStr(objHandle: HCkEmail): PWideChar; stdcall;

The date/time found in the "Date" header field returned in the local timezone in RFC822 string form.

See the notes about PWideChar memory ownership and validity.

top
Mailer
procedure CkEmail_getMailer(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putMailer(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__mailer(objHandle: HCkEmail): PWideChar; stdcall;

Identifies the email software that sent the email.

See the notes about PWideChar memory ownership and validity.

top
NumAlternatives
function CkEmail_getNumAlternatives(objHandle: HCkEmail): Integer; stdcall;

The number of alternative bodies present in the email. An email that is not "multipart/alternative"will return 0 alternatives. An email that is "multipart/alternative" will return a number greater than or equal to 1.

top
NumAttachedMessages
function CkEmail_getNumAttachedMessages(objHandle: HCkEmail): Integer; stdcall;

Returns the number of embedded emails. Some mail clients will embed an email that is to be forwarded into a new email as a "message/rfc822" subpart of the MIME message structure. This property tells how many emails have been embedded. The original email can be retrieved by calling GetAttachedMessage.

top
NumAttachments
function CkEmail_getNumAttachments(objHandle: HCkEmail): Integer; stdcall;

The number of attachments contained in the email.

Note: If an email is downloaded from an IMAP server without attachments, then the number of attachments should be obtained by calling the IMAP object's GetMailNumAttach method. This property indicates the actual number of attachments already present within the email object.

top
NumBcc
function CkEmail_getNumBcc(objHandle: HCkEmail): Integer; stdcall;

The number of blind carbon-copy email recipients.

top
NumCC
function CkEmail_getNumCC(objHandle: HCkEmail): Integer; stdcall;

The number of carbon-copy email recipients.

More Information and Examples
top
NumDaysOld
function CkEmail_getNumDaysOld(objHandle: HCkEmail): Integer; stdcall;

Returns the number of days old from the current system date/time. The email's date is obtained from the "Date" header field. If the Date header field is missing, or invalid, then -9999 is returned. A negative number may be returned if the Date header field contains a future date/time. (However, -9999 represents an error condition.)

top
NumDigests
function CkEmail_getNumDigests(objHandle: HCkEmail): Integer; stdcall;
Introduced in version 9.5.0.66

Returns the number of message/rfc822 parts contained within the multipart/digest enclosure. If no multipart/digest enclosure exists, then this property has the value of 0. The GetDigest method is called to get the Nth digest as an email object.

More Information and Examples
top
NumHeaderFields
function CkEmail_getNumHeaderFields(objHandle: HCkEmail): Integer; stdcall;

The number of header fields. When accessing a header field by index, the 1st header field is at index 0, and the last is at NumHeaderFields-1. (Chilkat indexing is always 0-based.)

top
NumRelatedItems
function CkEmail_getNumRelatedItems(objHandle: HCkEmail): Integer; stdcall;

The number of related items present in this email. Related items are typically image files (JPEGs or GIFs) or style sheets (CSS files) that are included with HTML formatted messages with internal "CID"hyperlinks.

top
NumReplacePatterns
function CkEmail_getNumReplacePatterns(objHandle: HCkEmail): Integer; stdcall;

Returns the number of replacement patterns previously set by calling the SetReplacePattern method 1 or more times. If replacement patterns are set, the email bodies and header fields are modified by applying the search/replacement strings during the message sending process.

More Information and Examples
top
NumReports
function CkEmail_getNumReports(objHandle: HCkEmail): Integer; stdcall;

(For multipart/report emails that have sub-parts with Content-Types such as message/feedback-report.) Any MIME sub-part within the email that has a Content-Type of "message/*", but is not a "message/rfc822", is considered to be a "report" and is included in this count. (A "message/rfc822" is considered an attached message and is handled by the NumAttachedMessages property and the GetAttachedMessage method.) Any MIME sub-part having a Content-Type equal to "text/rfc822-headers" is also considered to be a "report". The GetReport method may be called to get the body content of each "report" contained within a multipart/report email.

top
NumTo
function CkEmail_getNumTo(objHandle: HCkEmail): Integer; stdcall;

The number of direct email recipients.

More Information and Examples
top
OaepHash
procedure CkEmail_getOaepHash(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putOaepHash(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__oaepHash(objHandle: HCkEmail): PWideChar; stdcall;
Introduced in version 9.5.0.67

Selects the hash algorithm for use within OAEP padding when encrypting email using RSAES-OAEP. The valid choices are "sha1", "sha256", "sha384", "sha512",

See the notes about PWideChar memory ownership and validity.

top
OaepMgfHash
procedure CkEmail_getOaepMgfHash(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putOaepMgfHash(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__oaepMgfHash(objHandle: HCkEmail): PWideChar; stdcall;
Introduced in version 9.5.0.71

Selects the MGF hash algorithm for use within OAEP padding when encrypting email using RSAES-OAEP. The valid choices are "sha1", "sha256", "sha384", "sha512",

See the notes about PWideChar memory ownership and validity.

top
OaepPadding
function CkEmail_getOaepPadding(objHandle: HCkEmail): wordbool; stdcall;
procedure CkEmail_putOaepPadding(objHandle: HCkEmail; newPropVal: wordbool); stdcall;
Introduced in version 9.5.0.67

Selects the RSA encryption scheme when encrypting email. The default value is False, which selects RSAES_PKCS1-V1_5. If set to True, then RSAES_OAEP is used.

top
OverwriteExisting
function CkEmail_getOverwriteExisting(objHandle: HCkEmail): wordbool; stdcall;
procedure CkEmail_putOverwriteExisting(objHandle: HCkEmail; newPropVal: wordbool); stdcall;

When True (the default) the methods to save email attachments and related items will overwrite files if they already exist. If False, then the methods that save email attachments and related items will append a string of 4 characters to create a unique filename if a file already exists. The filename of the attachment (or related item) within the email object is updated and can be retrieved by the program to determine the actual file(s) created.

top
Pkcs7CryptAlg
procedure CkEmail_getPkcs7CryptAlg(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putPkcs7CryptAlg(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__pkcs7CryptAlg(objHandle: HCkEmail): PWideChar; stdcall;

When an email is sent encrypted (using PKCS7 public-key encryption), this selects the underlying symmetric encryption algorithm. Possible values are: "aes", "des", "3des", and "rc2". The default value is "aes".

See the notes about PWideChar memory ownership and validity.

top
Pkcs7KeyLength
function CkEmail_getPkcs7KeyLength(objHandle: HCkEmail): Integer; stdcall;
procedure CkEmail_putPkcs7KeyLength(objHandle: HCkEmail; newPropVal: Integer); stdcall;

When the email is sent encrypted (using PKCS7 public-key encryption), this selects the key length of the underlying symmetric encryption algorithm. The possible values allowed depend on the Pkcs7CryptAlg property. For "aes", the key length may be 128, 192, or 256. For "3des" the key length must be 192. For "des" the key length must be 40. For "rc2" the key length can be 40, 56, 64, or 128.

top
PreferredCharset
procedure CkEmail_getPreferredCharset(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putPreferredCharset(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__preferredCharset(objHandle: HCkEmail): PWideChar; stdcall;

Only applies when building an email with non-English characters where the charset is not explicitly set. The Chilkat email component will automatically choose a charset based on the languages found within an email (if the charset is not already specified within the MIME or explicitly specified by setting the Charset property). The default charset chosen for each language is:

Chinese: gb2312
Japanese: shift_JIS
Korean: ks_c_5601-1987
Thai: windows-874
All others: iso-8859-*

This allows for charsets such as iso-2022-jp to be chosen instead of the default. If the preferred charset does not apply to the situation, it is not used. For example, if the preferred charset is iso-2022-jp, but the email contains Greek characters, then the preferred charset is ignored.

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top
PrependHeaders
function CkEmail_getPrependHeaders(objHandle: HCkEmail): wordbool; stdcall;
procedure CkEmail_putPrependHeaders(objHandle: HCkEmail; newPropVal: wordbool); stdcall;

If True, then header fields added via the AddHeaderField or AddHeaderField2 methods are prepended to the top of the header as opposed to appended to the bottom. The default value is False.

top
ReceivedEncrypted
function CkEmail_getReceivedEncrypted(objHandle: HCkEmail): wordbool; stdcall;

True if this email was originally received with encryption, otherwise False.

top
ReceivedSigned
function CkEmail_getReceivedSigned(objHandle: HCkEmail): wordbool; stdcall;

True if this email was originally received with a digital signature, otherwise False.

More Information and Examples
top
ReplyTo
procedure CkEmail_getReplyTo(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putReplyTo(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__replyTo(objHandle: HCkEmail): PWideChar; stdcall;

Sets the "Reply-To" header field to the specified email address such as "[email protected]". The Reply-To header automatically defaults to the "From" email address. You would only set this property if you wish for the Reply-To email address to be different from the From address.

There is usually only a single Reply-To email address. If multiple Reply-To addresses are needed, then set with a comma separated list of email addresses such as "[email protected], [email protected]".

See the notes about PWideChar memory ownership and validity.

top
ReturnReceipt
function CkEmail_getReturnReceipt(objHandle: HCkEmail): wordbool; stdcall;
procedure CkEmail_putReturnReceipt(objHandle: HCkEmail; newPropVal: wordbool); stdcall;

Set to True if you want the email to request a return-receipt when received by the recipient. The default value is False.

Setting this property causes the "Disposition-Notification-To" email header to be added when the email is sent.

top
SendEncrypted
function CkEmail_getSendEncrypted(objHandle: HCkEmail): wordbool; stdcall;
procedure CkEmail_putSendEncrypted(objHandle: HCkEmail; newPropVal: wordbool); stdcall;

Set to True if this email should be sent encrypted.

top
Sender
procedure CkEmail_getSender(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putSender(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__sender(objHandle: HCkEmail): PWideChar; stdcall;
Introduced in version 9.5.0.41

The sender's address for this email message.

This is the address of the actual sender acting on behalf of the author listed in the From: field. It is the email address passed in the "MAIL FROM" SMTP command which becomes the "return-path" header in the email when received.

Note: The Sender and BounceAddress properties are identical and perform the same function. Setting the Sender property also sets the BounceAddress property, and vice-versa. The reason for the duplication is that BounceAddress existed first, and developers typically searched for a "Sender" property without realizing that the BounceAddress property served this function.

Important Note: This property does not contain the value of the "Sender" header field, if one exists, for a received email. It is a property that is used when sending email. To get the value of the "Sender" header field (which may not always exist), call the GetHeaderField method instead.

See the notes about PWideChar memory ownership and validity.

top
SendSigned
function CkEmail_getSendSigned(objHandle: HCkEmail): wordbool; stdcall;
procedure CkEmail_putSendSigned(objHandle: HCkEmail; newPropVal: wordbool); stdcall;

Set to True if this email should be sent with a digital signature.

Note: Please be aware of the Apple Mail bug explained in the web page at the link below.

top
SignaturesValid
function CkEmail_getSignaturesValid(objHandle: HCkEmail): wordbool; stdcall;

True if the email was received with one or more digital signatures, and if all the signatures were validated indicating that the email was not altered. Otherwise this property is set to False. (This property is only meaningful when the ReceivedSigned property is equal to True.)

More Information and Examples
top
SignedBy
procedure CkEmail_getSignedBy(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
function CkEmail__signedBy(objHandle: HCkEmail): PWideChar; stdcall;

If the email was received digitally signed, this property contains the fields of the cert's SubjectDN.

For example: US, 60187, Illinois, Wheaton, 1719 E Forest Ave, "Chilkat Software, Inc.", "Chilkat Software, Inc."

It is like the DN (Distinguished Name), but without the "AttrName=" before each attribute.

See the notes about PWideChar memory ownership and validity.

top
SigningAlg
procedure CkEmail_getSigningAlg(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putSigningAlg(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__signingAlg(objHandle: HCkEmail): PWideChar; stdcall;
Introduced in version 9.5.0.67

Selects the signature algorithm to be used when sending signed (PKCS7) email. The default value is "PKCS1-v1_5". This can be set to "RSASSA-PSS" (or simply "pss") to use the RSASSA-PSS signature scheme.

Note: This property only applies when signing with an RSA private key. It does not apply for ECC or DSA private keys.

See the notes about PWideChar memory ownership and validity.

top
SigningHashAlg
procedure CkEmail_getSigningHashAlg(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putSigningHashAlg(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__signingHashAlg(objHandle: HCkEmail): PWideChar; stdcall;

Selects the underlying hash algorithm used when sending signed (PKCS7) email. Possible values are "sha1", "sha256", "sha384", "sha512", "md5", and "md2".

See the notes about PWideChar memory ownership and validity.

top
Size
function CkEmail_getSize(objHandle: HCkEmail): Integer; stdcall;

The size in bytes of the email, including all parts and attachments.

Note: This property is only valid if the full email was downloaded. If only the header was downloaded, then this property will contain the size of just the header.

top
Subject
procedure CkEmail_getSubject(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putSubject(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__subject(objHandle: HCkEmail): PWideChar; stdcall;

The email subject.

See the notes about PWideChar memory ownership and validity.

top
Uidl
procedure CkEmail_getUidl(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
function CkEmail__uidl(objHandle: HCkEmail): PWideChar; stdcall;

This is the unique ID assigned by the POP3 server. Emails can be retrieved or deleted from the POP3 server via the UIDL. The header field for this property is "X-UIDL".

Important: Emails downloaded via the IMAP protocol do not have UIDL's. UIDL's are specific to the POP3 protocol. IMAP servers use UID's (notice the spelling difference -- "UIDL" vs. "UID"). An email downloaded via the Chilkat IMAP component will contain a "ckx-imap-uid" header field that holds either an IMAP UID or sequence number. If the email was downloaded (from IMAP) using a UID,then ckx-imap-uid contains a UID. If the email was downloaded by sequence number, then it contains a sequence number (not unique and can change with a new session). The "ckx-imap-isUid" header, which can have the value "YES" or "NO", tells what ckx-imap-uid contains.

See the notes about PWideChar memory ownership and validity.

top
UncommonOptions
procedure CkEmail_getUncommonOptions(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
procedure CkEmail_putUncommonOptions(objHandle: HCkEmail; newPropVal: PWideChar); stdcall;
function CkEmail__uncommonOptions(objHandle: HCkEmail): PWideChar; stdcall;
Introduced in version 9.5.0.79

This is a catch-all property to be used for uncommon needs. This property defaults to the empty string, and should typically remain empty.

As of v9.5.0.79, the only possible value is:

  • "NO_FORMAT_FLOWED" - Don't automatically add "format=flowed" to any Content-Type header.

See the notes about PWideChar memory ownership and validity.

top
UnpackUseRelPaths
function CkEmail_getUnpackUseRelPaths(objHandle: HCkEmail): wordbool; stdcall;
procedure CkEmail_putUnpackUseRelPaths(objHandle: HCkEmail; newPropVal: wordbool); stdcall;

Applies to the UnpackHtml method. If True, then relative paths are used within the HTML for the links to the related files (images and style sheets) that were unpacked to the filesystem. Otherwise absolute paths are used. The default value is True.

top
VerboseLogging
function CkEmail_getVerboseLogging(objHandle: HCkEmail): wordbool; stdcall;
procedure CkEmail_putVerboseLogging(objHandle: HCkEmail; newPropVal: wordbool); stdcall;

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

top
Version
procedure CkEmail_getVersion(objHandle: HCkEmail; outPropVal: HCkString); stdcall;
function CkEmail__version(objHandle: HCkEmail): PWideChar; stdcall;

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

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top

Methods

AddAttachmentBd
function CkEmail_AddAttachmentBd(objHandle: HCkEmail;
    filename: PWideChar;
    binData: HCkBinData;
    contentType: PWideChar): wordbool; stdcall;
Introduced in version 9.5.0.63

Adds an attachment using the contents of a BinData object. If contentType is empty, then the content-type will be inferred from the filename extension.

Returns True for success, False for failure.

More Information and Examples
top
AddAttachmentHeader
procedure CkEmail_AddAttachmentHeader(objHandle: HCkEmail;
    index: Integer;
    fieldName: PWideChar;
    fieldValue: PWideChar) stdcall;

Adds or replaces a MIME header field in one of the email attachments. If the header field does not exist, it is added. Otherwise it is replaced.

More Information and Examples
top
AddBcc
function CkEmail_AddBcc(objHandle: HCkEmail;
    friendlyName: PWideChar;
    emailAddress: PWideChar): wordbool; stdcall;

Adds a recipient to the blind carbon-copy list. emailAddress is required, but friendlyName may be empty.

To add multiple BCC recipients, call this method once per recipient.

Returns True for success, False for failure.

top
AddCC
function CkEmail_AddCC(objHandle: HCkEmail;
    friendlyName: PWideChar;
    emailAddress: PWideChar): wordbool; stdcall;

Adds a recipient to the carbon-copy list. emailAddress is required, but friendlyName may be empty.

To add multiple CC recipients, call this method once per recipient.

Returns True for success, False for failure.

More Information and Examples
top
AddDataAttachment
function CkEmail_AddDataAttachment(objHandle: HCkEmail;
    fileName: PWideChar;
    content: HCkByteData): wordbool; stdcall;

Adds an attachment directly from data in memory to the email.

Returns True for success, False for failure.

top
AddDataAttachment2
function CkEmail_AddDataAttachment2(objHandle: HCkEmail;
    fileName: PWideChar;
    content: HCkByteData;
    contentType: PWideChar): wordbool; stdcall;

Adds an attachment to an email from in-memory data. Same as AddDataAttachment but allows the content-type to be specified.

Returns True for success, False for failure.

top
AddEncryptCert
function CkEmail_AddEncryptCert(objHandle: HCkEmail;
    cert: HCkCert): wordbool; stdcall;

Allows for certificates to be explicitly specified for sending encrypted email to one or more recipients. Call this method once per certificate to be used. The ClearEncryptCerts method may be called to clear the list of explicitly-specified certificates.

Note: It is possible to send encrypted email without explicitly specifying the certificates. On Windows computers, the registry-based Current-User and Local-Machine certificate stores are automatically searched for certs matching each of the recipients (To, CC, and BCC recipients).

Note: The SetEncryptCert method is equivalent to calling ClearEncryptCerts followed by AddEncryptCert.

Returns True for success, False for failure.

top
AddFileAttachment
function CkEmail_AddFileAttachment(objHandle: HCkEmail;
    path: PWideChar;
    outStrContentType: HCkString): wordbool; stdcall;
function CkEmail__addFileAttachment(objHandle: HCkEmail;
    path: PWideChar): PWideChar; stdcall;

Adds a file as an attachment to the email. Returns the MIME content-type of the attachment, which is inferred based on the filename extension.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
AddFileAttachment2
function CkEmail_AddFileAttachment2(objHandle: HCkEmail;
    path: PWideChar;
    contentType: PWideChar): wordbool; stdcall;

Same as AddFileAttachment, but the content type can be explicitly specified.

Returns True for success, False for failure.

More Information and Examples
top
AddHeaderField
procedure CkEmail_AddHeaderField(objHandle: HCkEmail;
    fieldName: PWideChar;
    fieldValue: PWideChar) stdcall;

Any standard or non-standard (custom) header field can be added to the email with this method. One interesting feature is that all header fields whose name begins with "CKX-" will not be included in the header when an email is sent. These fields will be included when saved to or loaded from XML. This makes it easy to include persistent meta-data with an email which your programs can use in any way it chooses.

Important: This method will replace an already-existing header field. To allow for adding duplicate header fields, call AddHeaderField2 (see below).

top
AddHeaderField2
procedure CkEmail_AddHeaderField2(objHandle: HCkEmail;
    fieldName: PWideChar;
    fieldValue: PWideChar) stdcall;

This method is the same as AddHeaderField, except that if the header field already exists, it is not replaced. A duplicate header will be added.

top
AddHtmlAlternativeBody
function CkEmail_AddHtmlAlternativeBody(objHandle: HCkEmail;
    body: PWideChar): wordbool; stdcall;

Sets the HTML body of the email. Use this method if there will be multiple versions of the body, but in different formats, such as HTML and plain text. Otherwise, set the body by calling the SetHtmlBody method.

Returns True for success, False for failure.

More Information and Examples
top
AddiCalendarAlternativeBody
function CkEmail_AddiCalendarAlternativeBody(objHandle: HCkEmail;
    icalContent: PWideChar;
    methodName: PWideChar): wordbool; stdcall;

Adds an iCalendar (text/calendar) alternative body to the email. The icalContent contains the content of the iCalendar data. A sample is shown here:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:[email protected]
DTSTAMP:19970714T170000Z
ORGANIZER;CN=John Doe:MAILTO:[email protected]
DTSTART:19970714T170000Z
DTEND:19970715T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
END:VCALENDAR
The methodName is the "method" attribute used in the Content-Type header field in the alternative body. For example, if set to "REQUEST", then the alternative body's header would look like this:
Content-Type: text/calendar; method=REQUEST
Content-Transfer-Encoding: base64

Returns True for success, False for failure.

top
AddMultipleBcc
function CkEmail_AddMultipleBcc(objHandle: HCkEmail;
    commaSeparatedAddresses: PWideChar): wordbool; stdcall;

Adds multiple recipients to the blind carbon-copy list. The parameter is a string containing a comma separated list of full email addresses. Returns True if successful.

Returns True for success, False for failure.

top
AddMultipleCC
function CkEmail_AddMultipleCC(objHandle: HCkEmail;
    commaSeparatedAddresses: PWideChar): wordbool; stdcall;

Adds multiple recipients to the carbon-copy list. The parameter is a string containing a comma separated list of full email addresses. Returns True if successful.

Returns True for success, False for failure.

top
AddMultipleTo
function CkEmail_AddMultipleTo(objHandle: HCkEmail;
    commaSeparatedAddresses: PWideChar): wordbool; stdcall;

Adds multiple recipients to the "to" list. The parameter is a string containing a comma separated list of full email addresses. Returns True if successful.

Returns True for success, False for failure.

top
AddPfxSourceData
function CkEmail_AddPfxSourceData(objHandle: HCkEmail;
    pfxBytes: HCkByteData;
    pfxPassword: PWideChar): wordbool; stdcall;

Adds a PFX to the object's internal list of sources to be searched for certificates and private keys when decrypting. 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 pfxBytes contains the bytes of a PFX file (also known as PKCS12 or .p12).

Returns True for success, False for failure.

top
AddPfxSourceFile
function CkEmail_AddPfxSourceFile(objHandle: HCkEmail;
    pfxFilePath: PWideChar;
    pfxPassword: PWideChar): wordbool; stdcall;

Adds a PFX file to the object's internal list of sources to be searched for certificates and private keys when decrypting. 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 True for success, False for failure.

top
AddPlainTextAlternativeBody
function CkEmail_AddPlainTextAlternativeBody(objHandle: HCkEmail;
    body: PWideChar): wordbool; stdcall;

Sets the plain-text body of the email. Use this method if there will be multiple versions of the body, but in different formats, such as HTML and plain text. Otherwise, simply set the Body property.

Returns True for success, False for failure.

More Information and Examples
top
AddRelatedBd
function CkEmail_AddRelatedBd(objHandle: HCkEmail;
    filename: PWideChar;
    binData: HCkBinData;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__addRelatedBd(objHandle: HCkEmail;
    filename: PWideChar;
    binData: HCkBinData): PWideChar; stdcall;
Introduced in version 9.5.0.65

Adds a related item using the contents of a BinData object. Returns the Content-ID for the newly added relted item.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top
AddRelatedBd2
function CkEmail_AddRelatedBd2(objHandle: HCkEmail;
    binData: HCkBinData;
    fileNameInHtml: PWideChar): wordbool; stdcall;
Introduced in version 9.5.0.65

Adds a related item using the contents of a BinData object. The fileNameInHtml should be set to the filename/path/url used in the corresponding HTML IMG tag's "src" attribute.

Returns True for success, False for failure.

More Information and Examples
top
AddRelatedData
function CkEmail_AddRelatedData(objHandle: HCkEmail;
    fileName: PWideChar;
    inData: HCkByteData;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__addRelatedData(objHandle: HCkEmail;
    fileName: PWideChar;
    inData: HCkByteData): PWideChar; stdcall;

Adds the memory data as a related item to the email and returns the Content-ID. Emails formatted in HTML can include images with this call and internally reference the image through a "cid"hyperlink. (Chilkat Email.NET fully supports the MHTML standard.)

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
AddRelatedData2
procedure CkEmail_AddRelatedData2(objHandle: HCkEmail;
    inData: HCkByteData;
    fileNameInHtml: PWideChar) stdcall;

Adds a related item to the email from in-memory byte data. Related items are things such as images and style sheets that are embedded within an HTML email. They are not considered attachments because their sole purpose is to participate in the display of the HTML. This method differs from AddRelatedData in that it does not use or return a Content-ID. The filename argument should be set to the filename used in the HTML img tag's src attribute (if it's an image), or the URL referenced in an HTML link tag for a stylesheet.

top
AddRelatedData2P
procedure CkEmail_AddRelatedData2P(objHandle: HCkEmail;
    pBytes: pbyte;
    szBytes: LongWord;
    fileNameInHtml: PWideChar) stdcall;

The same as AddRelatedData2, except the data is passed in as a "const unsigned char *" with the byte count in szBytes.

top
AddRelatedDataP
function CkEmail_AddRelatedDataP(objHandle: HCkEmail;
    nameInHtml: PWideChar;
    pBytes: pbyte;
    szBytes: LongWord;
    outStrContentId: HCkString): wordbool; stdcall;
function CkEmail__addRelatedDataP(objHandle: HCkEmail;
    nameInHtml: PWideChar;
    pBytes: pbyte;
    szBytes: LongWord): PWideChar; stdcall;

The same as AddRelatedData, except the data is passed in as a "const unsigned char *" with the byte count in szBytes. The Content-ID assigned to the related item is returned (in ARG4 for the upper-case alternative for this method).

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
AddRelatedFile
function CkEmail_AddRelatedFile(objHandle: HCkEmail;
    path: PWideChar;
    outStrContentID: HCkString): wordbool; stdcall;
function CkEmail__addRelatedFile(objHandle: HCkEmail;
    path: PWideChar): PWideChar; stdcall;

Adds the contents of a file to the email and returns the Content-ID. Emails formatted in HTML can include images with this call and internally reference the image through a "cid" hyperlink. (Chilkat Email.NET fully supports the MHTML standard.)

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
AddRelatedFile2
function CkEmail_AddRelatedFile2(objHandle: HCkEmail;
    filenameOnDisk: PWideChar;
    filenameInHtml: PWideChar): wordbool; stdcall;

Adds a related item to the email from a file. Related items are things such as images and style sheets that are embedded within an HTML email. They are not considered attachments because their sole purpose is to participate in the display of the HTML. This method differs from AddRelatedFile in that it does not use or return a Content-ID. The filenameInHtml argument should be set to the filename used in the HTML img tag's src attribute (if it's an image), or the URL referenced in an HTML link tag for a stylesheet. The filenameOnDisk is the path in the local filesystem of the file to be added.

Note: Outlook.com will not properly display embedded HTMl images when the filenameInHtml includes a path part. Apparently, Outlook.com is only capable of correctly displaying images when the filenameInHtml is a only a filename. Other email clients, such as Mozilla Thunderbird, have no trouble when the filenameInHtml includes a path part.

Returns True for success, False for failure.

More Information and Examples
top
AddRelatedHeader
procedure CkEmail_AddRelatedHeader(objHandle: HCkEmail;
    index: Integer;
    fieldName: PWideChar;
    fieldValue: PWideChar) stdcall;

Adds or replaces a MIME header field in one of the email's related items. If the header field does not exist, it is added. Otherwise it is replaced.

top
AddRelatedString
function CkEmail_AddRelatedString(objHandle: HCkEmail;
    nameInHtml: PWideChar;
    str: PWideChar;
    charset: PWideChar;
    outCid: HCkString): wordbool; stdcall;
function CkEmail__addRelatedString(objHandle: HCkEmail;
    nameInHtml: PWideChar;
    str: PWideChar;
    charset: PWideChar): PWideChar; stdcall;

Adds a related item to the email. A related item is typically an image or style sheet referenced by an HTML tag within the HTML email body. The contents of the related item are passed str. nameInHtml specifies the filename that should be used within the HTML, and not an actual filename on the local filesystem. charset specifies the charset that should be used for the text content of the related item. Returns the content-ID generated for the added item.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
AddRelatedString2
procedure CkEmail_AddRelatedString2(objHandle: HCkEmail;
    fileNameInHtml: PWideChar;
    content: PWideChar;
    charset: PWideChar) stdcall;

Adds a related item to the email from an in-memory string. Related items are things such as images and style sheets that are embedded within an HTML email. They are not considered attachments because their sole purpose is to participate in the display of the HTML. The filenameInHtml argument should be set to the filename used in the HTML img tag's src attribute (if it's an image), or the URL referenced in an HTML link tag for a stylesheet. The charset argument indicates that the content should first be converted to the specified charset prior to adding to the email. It should hava a value such as "iso-8859-1", "utf-8", "Shift_JIS", etc.

top
AddStringAttachment
function CkEmail_AddStringAttachment(objHandle: HCkEmail;
    path: PWideChar;
    content: PWideChar): wordbool; stdcall;

Adds an attachment directly from a string in memory to the email.

Returns True for success, False for failure.

More Information and Examples
top
AddStringAttachment2
function CkEmail_AddStringAttachment2(objHandle: HCkEmail;
    path: PWideChar;
    content: PWideChar;
    charset: PWideChar): wordbool; stdcall;

Adds an attachment to an email. The path specifies the filename to be used for the attachment and is not an actual filename existing on the local filesystem. The content contains the text data for the attachment. The string will be converted to the charset specified in charset before being added to the email.

Note: Beginning in v9.5.0.48, the charset may be prepended with "bom-" or "no-bom-" to include or exclude the BOM (preamble) for charsets such as utf-16 or utf-8. For example: "no-bom-utf-8" or "bom-utf-8".

Returns True for success, False for failure.

top
AddTo
function CkEmail_AddTo(objHandle: HCkEmail;
    friendlyName: PWideChar;
    emailAddress: PWideChar): wordbool; stdcall;

Adds a recipient to the "to" list. emailAddress is required, but friendlyName may be empty. Emails that have no "To" recipients will be sent to <undisclosed-recipients>.

To add multiple recipients, call this method once per TO recipient.

Returns True for success, False for failure.

More Information and Examples
top
AesDecrypt
function CkEmail_AesDecrypt(objHandle: HCkEmail;
    password: PWideChar): wordbool; stdcall;

Decrypts and restores an email message that was previously encrypted using AesEncrypt. The password must match the password used for encryption.

Returns True for success, False for failure.

top
AesEncrypt
function CkEmail_AesEncrypt(objHandle: HCkEmail;
    password: PWideChar): wordbool; stdcall;

Encrypts the email body, all alternative bodies, all message sub-parts and attachments using 128-bit AES CBC encryption. Decrypting is achieved by calling AesDecrypt with the same password. The AesEncrypt/Decrypt methods use symmetric password-based AES encryption and greatly simplify sending and receiving encrypted emails because certificates and private keys are not used. However, the sending and receiving applications must both use Chilkat, and the password must be pre-known on both ends.

Returns True for success, False for failure.

top
AppendToBody
procedure CkEmail_AppendToBody(objHandle: HCkEmail;
    str: PWideChar) stdcall;

Appends a string to the plain-text body.

top
ApplyFixups
function CkEmail_ApplyFixups(objHandle: HCkEmail;
    fixups: PWideChar): wordbool; stdcall;
Introduced in version 9.5.0.71

Sometimes emails created by other software or systems are not formatted according to typical conventions. This method provides a means to automatically fix certain problems.

The fixups set to a comma-separated list of keywords that identify the fixups to be applied. At the moment, there is only one fixup defined ("FixRelated") as described here:

  • FixRelated: Fixes the email so that HTML related items (images for example) are properly located in the email MIME structure. This prevents them from being seen as attachments.
  • Returns True for success, False for failure.

    top
AspUnpack
function CkEmail_AspUnpack(objHandle: HCkEmail;
    prefix: PWideChar;
    saveDir: PWideChar;
    urlPath: PWideChar;
    cleanFiles: wordbool): wordbool; stdcall;

Please see the examples at the following pages for detailed information:

Returns True for success, False for failure.

top
AspUnpack2
function CkEmail_AspUnpack2(objHandle: HCkEmail;
    prefix: PWideChar;
    saveDir: PWideChar;
    urlPath: PWideChar;
    cleanFiles: wordbool;
    outHtml: HCkByteData): wordbool; stdcall;

Please see the examples at the following pages for detailed information:

Returns True for success, False for failure.

top
AttachEmail
function CkEmail_AttachEmail(objHandle: HCkEmail;
    email: HCkEmail): wordbool; stdcall;
Introduced in version 9.5.0.87

Attaches copy of the email to this email object. The attached email will be encapsulated in an message/rfc822 sub-part.

Returns True for success, False for failure.

top
AttachMessage
function CkEmail_AttachMessage(objHandle: HCkEmail;
    mimeBytes: HCkByteData): wordbool; stdcall;

Attaches a MIME message to the email object. The attached MIME will be encapsulated in an message/rfc822 sub-part.

Returns True for success, False for failure.

top
BEncodeBytes
function CkEmail_BEncodeBytes(objHandle: HCkEmail;
    inData: HCkByteData;
    charset: PWideChar;
    outEncodedStr: HCkString): wordbool; stdcall;
function CkEmail__bEncodeBytes(objHandle: HCkEmail;
    inData: HCkByteData;
    charset: PWideChar): PWideChar; stdcall;

Takes a byte array of multibyte (non-Unicode) data and returns a Unicode B-Encoded string.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
BEncodeString
function CkEmail_BEncodeString(objHandle: HCkEmail;
    str: PWideChar;
    charset: PWideChar;
    outEncodedStr: HCkString): wordbool; stdcall;
function CkEmail__bEncodeString(objHandle: HCkEmail;
    str: PWideChar;
    charset: PWideChar): PWideChar; stdcall;

Takes a Unicode string, converts it to the charset specified in the 2nd parameter, B-Encodes the converted multibyte data, and returns the encoded Unicode string.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
Clear
procedure CkEmail_Clear(objHandle: HCkEmail) stdcall;
Introduced in version 9.5.0.76

Clears the email object of all information to the state as if the object was just created, which will have default headers such as Mime-Version, Date, Message-ID, Content-Type, Content-Transfer-Encoding, and X-Priority.

top
ClearBcc
procedure CkEmail_ClearBcc(objHandle: HCkEmail) stdcall;

Clears the list of blind carbon-copy recipients.

top
ClearCC
procedure CkEmail_ClearCC(objHandle: HCkEmail) stdcall;

Clears the list of carbon-copy recipients.

top
ClearEncryptCerts
procedure CkEmail_ClearEncryptCerts(objHandle: HCkEmail) stdcall;

Clears the internal list of explicitly specified certificates to be used for this encrypted email.

top
ClearTo
procedure CkEmail_ClearTo(objHandle: HCkEmail) stdcall;

Clears the list of "to" recipients.

top
Clone
function CkEmail_Clone(objHandle: HCkEmail): HCkEmail; stdcall;

Creates and returns an identical copy of the Email object.

Returns nil on failure

top
ComputeGlobalKey2
function CkEmail_ComputeGlobalKey2(objHandle: HCkEmail;
    encoding: PWideChar;
    bFold: wordbool;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__computeGlobalKey2(objHandle: HCkEmail;
    encoding: PWideChar;
    bFold: wordbool): PWideChar; stdcall;
Introduced in version 9.5.0.59

Computes a global unique key for the email. The key is created by a digest-MD5 hash of the concatenation of the following:

messageID + CRLF + subject + CRLF + from + CRLF + date + CRLF + recipientAddrs

messageID contains the contents of the Message-ID header field.
subject contains the contents of the Subject header field, trimmed of whitespace from both ends, 
    where TAB chars are converted to SPACE chars, and internal whitespace is trimmed so that 
   no more than one SPACE char in a row exists.
from contains the lowercase FROM header email address.
date contains the contents of the DATE header field.
toAddrs contains lowercase TO and CC recipient email addresses, comma separated, with duplicates removed, and sorted 
    in ascending order.  The BCC addresses are NOT included.

(After calling this method, the LastErrorText property can be examined to see the string that was hashed.)
The 16-byte MD5 hash is returned as an encoded string. The encoding determines the encoding: base64, hex, url, etc. If bFold is True, then the 16-byte MD5 hash is folded to 8 bytes with an XOR to produce a shorter key.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
ConvertInlineImages
function CkEmail_ConvertInlineImages(objHandle: HCkEmail): wordbool; stdcall;
Introduced in version 9.5.0.78

Converts images embedded inline within HTML to multipart/related MIME parts referenced from the HTML by CID.

Returns True for success, False for failure.

top
CreateDsn
function CkEmail_CreateDsn(objHandle: HCkEmail;
    humanReadableMessage: PWideChar;
    xmlStatusFields: PWideChar;
    bHeaderOnly: wordbool): HCkEmail; stdcall;

Creates a new DSN (Delivery Status Notification) email having the format as specified in RFC 3464. See the example (below) for more detailed information.

Returns nil on failure

top
CreateForward
function CkEmail_CreateForward(objHandle: HCkEmail): HCkEmail; stdcall;

Returns a copy of the Email object with the body and header fields changed so that the newly created email can be forwarded. After calling CreateForward, simply add new recipients to the created email, and call MailMan.SendEmail.

Returns nil on failure

top
CreateMdn
function CkEmail_CreateMdn(objHandle: HCkEmail;
    humanReadableMessage: PWideChar;
    xmlStatusFields: PWideChar;
    bHeaderOnly: wordbool): HCkEmail; stdcall;

Creates a new MDN (Message Disposition Notification) email having the format as specified in RFC 3798. See the example (below) for more detailed information.

Returns nil on failure

top
CreateReply
function CkEmail_CreateReply(objHandle: HCkEmail): HCkEmail; stdcall;

Returns a copy of the Email object with the body and header fields changed so that the newly created email can be sent as a reply. After calling CreateReply, simply prepend additional information to the body, and call MailMan.SendEmail.

Note: Attachments are not included in the returned reply email. However, attached messages are included. If an application does not wish to include the attached messages in a reply email, they can be removed by calling RemoveAttachedMessages on the reply email object.

Returns nil on failure

top
CreateTempMht
function CkEmail_CreateTempMht(objHandle: HCkEmail;
    inFilename: PWideChar;
    outPath: HCkString): wordbool; stdcall;
function CkEmail__createTempMht(objHandle: HCkEmail;
    inFilename: PWideChar): PWideChar; stdcall;

Saves the email to a temporary MHT file so that a WebBrowser control can navigate to it and display it. If fileName is empty, a temporary filename is generated and returned. If fileName is non-empty, then it will be created or overwritten, and the input filename is simply returned.The MHT file that is created will not contain any of the email's attachments, if any existed. Also, if the email was plain-text, the MHT file will be saved such that the plain-text is converted to HTML using pre-formatted text ("pre" HTML tags) allowing it to be displayed correctly in a WebBrowser.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
DropAttachments
procedure CkEmail_DropAttachments(objHandle: HCkEmail) stdcall;

Removes all attachments from the email.

top
DropRelatedItem
procedure CkEmail_DropRelatedItem(objHandle: HCkEmail;
    index: Integer) stdcall;

A related item is typically an embedded image referenced from the HTML in the email via a "CID" hyperlink. This method removes the Nth embedded image from the email. Note: If the HTML tries to reference the removed image, it will be displayed as a broken image link.

top
DropRelatedItems
procedure CkEmail_DropRelatedItems(objHandle: HCkEmail) stdcall;

A related item is typically an embedded image referenced from the HTML in the email via a "CID" hyperlink. This method removes all the embedded images from the email.

top
DropSingleAttachment
function CkEmail_DropSingleAttachment(objHandle: HCkEmail;
    index: Integer): wordbool; stdcall;

Drops a single attachment from the email. Returns True if successful.

Returns True for success, False for failure.

top
FindIssuer
function CkEmail_FindIssuer(objHandle: HCkEmail;
    cert: HCkCert): HCkCert; stdcall;

Digitally signed and/or encrypted emails are automatically "unwrapped" when received from a POP3 or IMAP server, or when loaded from any source such as a MIME string, in-memory byte data, or a .eml file. The results of the signature verification / decryption are stored in the properties such as ReceivedSigned, ReceivedEncrypted, SignaturesValid, etc. The signing certificate can be obtained via the GetSigningCert function. If the signature contained more certificates in the chain of authentication, this method provides a means to access them.

During signature verification, the email object collects the certs found in the signature and holds onto them internally. To get the issuing certificate of the signing certificate, call this method passing the cert returned by GetSigningCert. If the issuing cert is available, it is returned. Otherwise nil is returned. If the cert passed in is the root (i.e. a self-signed certificate), then the cert object returned is a copy of the cert passed in.

To traverse the chain to the root, one would write a loop that on first iteration passes the cert returned by GetSignedByCert (not GetSignerCert), and then on each subsequent iteration passes the cert from the previous iteration. The loop would exit when a cert is returned that has the same SubjectDN and SerialNumber as what was passed in (or when FindIssuer returns nil).

Returns nil on failure

top
GenerateFilename
function CkEmail_GenerateFilename(objHandle: HCkEmail;
    outStrFilename: HCkString): wordbool; stdcall;
function CkEmail__generateFilename(objHandle: HCkEmail): PWideChar; stdcall;

Generates a unique filename for this email. The filename will be different each time the method is called.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetAlternativeBody
function CkEmail_GetAlternativeBody(objHandle: HCkEmail;
    index: Integer;
    outStrBody: HCkString): wordbool; stdcall;
function CkEmail__getAlternativeBody(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns the Nth alternative body. The NumAlternatives property tells the number of alternative bodies present. Use the GetHtmlBody and GetPlainTextBody methods to easily get the HTML or plain text alternative bodies.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetAlternativeBodyBd
function CkEmail_GetAlternativeBodyBd(objHandle: HCkEmail;
    index: Integer;
    binData: HCkBinData): wordbool; stdcall;
Introduced in version 9.5.0.67

Returns contents of the Nth alternative body to binData. The 1st alternative body is at index 0. This method should only be called when the NumAlternatives property has a value greater than 0.

Returns True for success, False for failure.

top
GetAlternativeBodyByContentType
function CkEmail_GetAlternativeBodyByContentType(objHandle: HCkEmail;
    contentType: PWideChar;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getAlternativeBodyByContentType(objHandle: HCkEmail;
    contentType: PWideChar): PWideChar; stdcall;

Returns the alternative body by content-type, such as "text/plain", "text/html", "text/xml", etc.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetAlternativeContentType
function CkEmail_GetAlternativeContentType(objHandle: HCkEmail;
    index: Integer;
    outStrContentType: HCkString): wordbool; stdcall;
function CkEmail__getAlternativeContentType(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns the content type of the Nth alternative body. The NumAlternatives property tells the number of alternative bodies present.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetAltHeaderField
function CkEmail_GetAltHeaderField(objHandle: HCkEmail;
    index: Integer;
    fieldName: PWideChar;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getAltHeaderField(objHandle: HCkEmail;
    index: Integer;
    fieldName: PWideChar): PWideChar; stdcall;

Returns the value of a header field within the Nth alternative body's MIME sub-part.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetAttachedMessage
function CkEmail_GetAttachedMessage(objHandle: HCkEmail;
    index: Integer): HCkEmail; stdcall;

Returns an embedded "message/rfc822" subpart as an email object. (Emails are embedded as "message/rfc822" subparts by some mail clients when forwarding an email.) This method allows the original email to be accessed.

Returns nil on failure

top
GetAttachedMessageAttr
function CkEmail_GetAttachedMessageAttr(objHandle: HCkEmail;
    index: Integer;
    fieldName: PWideChar;
    attrName: PWideChar;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getAttachedMessageAttr(objHandle: HCkEmail;
    index: Integer;
    fieldName: PWideChar;
    attrName: PWideChar): PWideChar; stdcall;
Introduced in version 9.5.0.41

Returns a header field attribute value for the Nth attached (embedded) email. For example, to get the value of the "name" attribute in the Content-Type header for the 1st attached message:

Content-Type: message/rfc822; name="md75000024149.eml"
then the method arguments should contain the values 0, "Content-Type", "name".

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetAttachedMessageFilename
function CkEmail_GetAttachedMessageFilename(objHandle: HCkEmail;
    index: Integer;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getAttachedMessageFilename(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns the filename of the Nth attached (embedded) email. The filename is the "filename" attribute of the content-disposition header field found within the Nth message/rfc822 sub-part of the calling email object.

Important: The attached message filename is only present if the Content-Disposition header exists AND contains a "filename" attribute. If questions arise, one could open the email in a text editor to examine the MIME sub-header for the attached message (where the Content-Type = "message/rfc822"). For example, here is a sub-header that has a filename:

Content-Type: message/rfc822; name="GetAttachedMessageAttr.eml"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="GetAttachedMessageAttr.eml"
Here is an attached message sub-header that does NOT have a filename:
Content-Type: message/rfc822
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetAttachmentAttr
function CkEmail_GetAttachmentAttr(objHandle: HCkEmail;
    index: Integer;
    fieldName: PWideChar;
    attrName: PWideChar;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getAttachmentAttr(objHandle: HCkEmail;
    index: Integer;
    fieldName: PWideChar;
    attrName: PWideChar): PWideChar; stdcall;
Introduced in version 9.5.0.41

Returns a header field attribute value from the header field of the Nth attachment.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetAttachmentBd
function CkEmail_GetAttachmentBd(objHandle: HCkEmail;
    index: Integer;
    binData: HCkBinData): wordbool; stdcall;
Introduced in version 9.5.0.67

Copies an attachment's binary data into binData. The first attachment is at index 0.

Returns True for success, False for failure.

top
GetAttachmentContentID
function CkEmail_GetAttachmentContentID(objHandle: HCkEmail;
    index: Integer;
    outStrContentID: HCkString): wordbool; stdcall;
function CkEmail__getAttachmentContentID(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns the ContentID header field for the Nth attachment. The first attachment is at index 0.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetAttachmentContentType
function CkEmail_GetAttachmentContentType(objHandle: HCkEmail;
    index: Integer;
    outStrContentType: HCkString): wordbool; stdcall;
function CkEmail__getAttachmentContentType(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns the Content-Type header field for the Nth attachment. Indexing of attachments begins at 0.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetAttachmentData
function CkEmail_GetAttachmentData(objHandle: HCkEmail;
    index: Integer;
    outData: HCkByteData): wordbool; stdcall;

Retrieves an attachment's binary data for in-memory access.

Returns True for success, False for failure.

top
GetAttachmentFilename
function CkEmail_GetAttachmentFilename(objHandle: HCkEmail;
    index: Integer;
    outStrFilename: HCkString): wordbool; stdcall;
function CkEmail__getAttachmentFilename(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Retrieves an attachment's filename.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetAttachmentHeader
function CkEmail_GetAttachmentHeader(objHandle: HCkEmail;
    attachIndex: Integer;
    fieldName: PWideChar;
    outFieldValue: HCkString): wordbool; stdcall;
function CkEmail__getAttachmentHeader(objHandle: HCkEmail;
    attachIndex: Integer;
    fieldName: PWideChar): PWideChar; stdcall;

Returns the value of a header field (by name) of an attachment.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetAttachmentSize
function CkEmail_GetAttachmentSize(objHandle: HCkEmail;
    index: Integer): Integer; stdcall;

Returns the size (in bytes) of the Nth attachment. The 1st attachment is at index 0. Returns -1 if there is no attachment at the specified index.

top
GetAttachmentString
function CkEmail_GetAttachmentString(objHandle: HCkEmail;
    index: Integer;
    charset: PWideChar;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getAttachmentString(objHandle: HCkEmail;
    index: Integer;
    charset: PWideChar): PWideChar; stdcall;

Retrieves an attachment's data as a String. All CRLF sequences will be translated to single newline characters. The charset indicates how to interpret the bytes of the attachment. For example, if the attachment is a text file using the utf-8 byte representation for characters, pass "utf-8".

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetAttachmentStringCrLf
function CkEmail_GetAttachmentStringCrLf(objHandle: HCkEmail;
    index: Integer;
    charset: PWideChar;
    outStrData: HCkString): wordbool; stdcall;
function CkEmail__getAttachmentStringCrLf(objHandle: HCkEmail;
    index: Integer;
    charset: PWideChar): PWideChar; stdcall;

Retrieves an attachment's data as a String. All end-of-lines will be translated to CRLF sequences.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetBcc
function CkEmail_GetBcc(objHandle: HCkEmail;
    index: Integer;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getBcc(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns a blind carbon-copy recipient's full email address.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top
GetBccAddr
function CkEmail_GetBccAddr(objHandle: HCkEmail;
    index: Integer;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getBccAddr(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns the Nth BCC address (only the address part, not the friendly-name part).

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top
GetBccName
function CkEmail_GetBccName(objHandle: HCkEmail;
    index: Integer;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getBccName(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns the Nth BCC name (only the friendly-name part, not the address part).

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top
GetCC
function CkEmail_GetCC(objHandle: HCkEmail;
    index: Integer;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getCC(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns a carbon-copy recipient's full email address.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top
GetCcAddr
function CkEmail_GetCcAddr(objHandle: HCkEmail;
    index: Integer;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getCcAddr(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns the Nth CC address (only the address part, not the friendly-name part).

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetCcName
function CkEmail_GetCcName(objHandle: HCkEmail;
    index: Integer;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getCcName(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns the Nth CC name (only the friendly-name part, not the address part).

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetDeliveryStatusInfo
function CkEmail_GetDeliveryStatusInfo(objHandle: HCkEmail;
    fieldName: PWideChar;
    outFieldValue: HCkString): wordbool; stdcall;
function CkEmail__getDeliveryStatusInfo(objHandle: HCkEmail;
    fieldName: PWideChar): PWideChar; stdcall;

If the email is a multipart/report, then it is a delivery status notification. This method can be used to get individual pieces of information from the message/delivery-status part of the email. This method should only be called if the IsMultipartReport method returns True.

The fieldName should be set a string such as "Final-Recipient", "Status", "Action", "Reporting-MTA", etc.

Reporting-MTA: dns; XYZ.abc.nl

Final-recipient: RFC822; [email protected]
Action: failed
Status: 5.4.4
X-Supplementary-Info: < #5.4.4 smtp;554 5.4.4
 SMTPSEND.DNS.NonExistentDomain; nonexistent domain>

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetDigest
function CkEmail_GetDigest(objHandle: HCkEmail;
    index: Integer): HCkEmail; stdcall;
Introduced in version 9.5.0.66

Returns an digest contained within a multipart/digest as an email object. The 1st digest is at index 0. Use the NumDigests property to get the number of digests available.

Note: This example requires Chilkat v9.5.0.66 or greater.

Returns nil on failure

More Information and Examples
top
GetDsnFinalRecipients
function CkEmail_GetDsnFinalRecipients(objHandle: HCkEmail): HCkStringArray; stdcall;

If the email is a multipart/report, then it is a delivery status notification. This method can be used to get Final-Recipient values from the message/delivery-status part of the email. This method should only be called if the IsMultipartReport method returns True.

Returns nil on failure

top
GetDt
function CkEmail_GetDt(objHandle: HCkEmail): HCkDateTime; stdcall;

Returns the date/time found in the "Date" header field as a date/time object.

Returns nil on failure

More Information and Examples
top
GetEncryptCert
function CkEmail_GetEncryptCert(objHandle: HCkEmail): HCkCert; stdcall;

Returns the certificate that was previously set by SetEncryptCert.

Returns nil on failure

top
GetEncryptedByCert
function CkEmail_GetEncryptedByCert(objHandle: HCkEmail): HCkCert; stdcall;

Returns the certificate associated with a received encrypted email.

Returns nil on failure

top
GetFileContent
function CkEmail_GetFileContent(objHandle: HCkEmail;
    path: PWideChar;
    outData: HCkByteData): wordbool; stdcall;

Reads a file and returns the contents as a String. This is here purely for convenience.

Returns True for success, False for failure.

top
GetHeaderField
function CkEmail_GetHeaderField(objHandle: HCkEmail;
    fieldName: PWideChar;
    outStrFieldData: HCkString): wordbool; stdcall;
function CkEmail__getHeaderField(objHandle: HCkEmail;
    fieldName: PWideChar): PWideChar; stdcall;

Returns the value of a header field.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetHeaderFieldName
function CkEmail_GetHeaderFieldName(objHandle: HCkEmail;
    index: Integer;
    outStrFieldName: HCkString): wordbool; stdcall;
function CkEmail__getHeaderFieldName(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Return the name of the Nth header field. The NumHeaderFields() method can be used to get the number of header fields. The GetHeaderField() method can be used to get the value of the field given the field name.

The 1st header field is at index 0. (All Chilkat indexing is 0-based.)

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top
GetHeaderFieldValue
function CkEmail_GetHeaderFieldValue(objHandle: HCkEmail;
    index: Integer;
    outStrFieldValue: HCkString): wordbool; stdcall;
function CkEmail__getHeaderFieldValue(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns the value of the Nth header field. (Indexing begins at 0) The number of header fields can be obtained from the NumHeaderFields property.

The 1st header field is at index 0, the last header field is at index NumHeaderFields-1. (All Chilkat indexing is 0-based.)

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetHtmlBody
function CkEmail_GetHtmlBody(objHandle: HCkEmail;
    outStrBody: HCkString): wordbool; stdcall;
function CkEmail__getHtmlBody(objHandle: HCkEmail): PWideChar; stdcall;

Returns the body having the "text/html" content type.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetImapUid
function CkEmail_GetImapUid(objHandle: HCkEmail): LongWord; stdcall;

When email headers are downloaded from an IMAP server (using Chilkat IMAP), a "ckx-imap-uid" header field is added. The content of this header is the UID or sequence number of the email on the IMAP server. In addition, a "ckx-imap-isUid" header field is added, and this will have the value YES or NO. If the value is YES, then ckx-imap-uid contains a UID, if the value is NO, then ckx-imap-uid contains the sequence number. This method returns the UID if ckx-imap-uid exists and contains a UID, otherwise it returns 0xFFFFFFFF.

An application that wishes to download the full email would use this UID and then call the Chilkat IMAP object's FetchSingle or FetchSingleAsMime methods.

Note:If an email was downloaded from the IMAP server in a way such that the UID is not received, then there will be no "ckx-imap-uid" header field and this method would return 0xFFFFFFFF. For example, if emails are downloaded by sequence numbers via the Imap.FetchSequence method, then UIDs are not used and therefore the email object will not contain this information.

top
GetLinkedDomains
function CkEmail_GetLinkedDomains(objHandle: HCkEmail): HCkStringArray; stdcall;

Parses an HTML email and returns the set of domain names that occur in hyperlinks within the HTML body.

Returns nil on failure

top
GetMbHeaderField
function CkEmail_GetMbHeaderField(objHandle: HCkEmail;
    fieldName: PWideChar;
    charset: PWideChar;
    outBytes: HCkByteData): wordbool; stdcall;

Returns a header field's data in a byte array. If the field was Q or B encoded, this is automatically decoded, and the raw bytes of the field are returned. Call GetHeaderField to retrieve the header field as a Unicode string.

The 1st header field is at index 0. (All Chilkat indexing is 0-based.)

Returns True for success, False for failure.

top
GetMbHtmlBody
function CkEmail_GetMbHtmlBody(objHandle: HCkEmail;
    charset: PWideChar;
    outData: HCkByteData): wordbool; stdcall;

Returns the HTML body converted to a specified charset. If no HTML body exists, the returned byte array is empty. The returned data will be such that not only is the character data converted (if necessary) to the convertToCharset, but the HTML is edited to add or modify the META tag that specifies the charset within the HTML.

Returns True for success, False for failure.

top
GetMbPlainTextBody
function CkEmail_GetMbPlainTextBody(objHandle: HCkEmail;
    charset: PWideChar;
    outData: HCkByteData): wordbool; stdcall;

Returns the plain-text body converted to a specified charset. The return value is a byte array containing multibyte character data.

Returns True for success, False for failure.

top
GetMime
function CkEmail_GetMime(objHandle: HCkEmail;
    outStrMime: HCkString): wordbool; stdcall;
function CkEmail__getMime(objHandle: HCkEmail): PWideChar; stdcall;

Return the email as MIME text containing the email header, body (or bodies), related items (if any), and all attachments

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetMimeBd
function CkEmail_GetMimeBd(objHandle: HCkEmail;
    bindat: HCkBinData): wordbool; stdcall;
Introduced in version 9.5.0.62

Return the email as binary MIME containing the email header, body (or bodies), related items (if any), and all attachments. The MIME is appended to the existing contents (if any) of bindat.

Returns True for success, False for failure.

top
GetMimeBinary
function CkEmail_GetMimeBinary(objHandle: HCkEmail;
    outBytes: HCkByteData): wordbool; stdcall;

Returns the full MIME of an email.

Returns True for success, False for failure.

top
GetMimeSb
function CkEmail_GetMimeSb(objHandle: HCkEmail;
    sb: HCkStringBuilder): wordbool; stdcall;
Introduced in version 9.5.0.62

Return the email as MIME text containing the email header, body (or bodies), related items (if any), and all attachments. The MIME is appended to the existing contents (if any) of sb.

Returns True for success, False for failure.

More Information and Examples
top
GetNthBinaryPartOfType
function CkEmail_GetNthBinaryPartOfType(objHandle: HCkEmail;
    index: Integer;
    contentType: PWideChar;
    inlineOnly: wordbool;
    excludeAttachments: wordbool;
    outBytes: HCkByteData): wordbool; stdcall;
Introduced in version 9.5.0.44

Returns the binary bytes of the Nth MIME sub-part having a specified content type (such as "application/pdf". Indexing begins at 0. Call GetNumPartsOfType to find out how many MIME sub-parts exist for any given content type. If inlineOnly is True, then only MIME sub-parts having a content-disposition of "inline" are included. If excludeAttachments is True, then MIME sub-parts having a content-disposition of "attachment" are excluded.

Note: If the email was downloaded as header-only, it will not contain all the parts of the full email. Also, if downloaded from IMAP excluding attachments, those parts that are the attachments will (of course) be missing.

Note: Beginning in v9.5.0.95, the contentType can be wildcarded. For example, it is possible to specify "text/*", or simply "*" to match any Content-Type.

Note: Only non-multipart MIME parts are matched.

Returns True for success, False for failure.

top
GetNthBinaryPartOfTypeBd
function CkEmail_GetNthBinaryPartOfTypeBd(objHandle: HCkEmail;
    index: Integer;
    contentType: PWideChar;
    inlineOnly: wordbool;
    excludeAttachments: wordbool;
    bd: HCkBinData): wordbool; stdcall;
Introduced in version 9.5.0.95

Loads bd with the binary bytes of the Nth MIME sub-part matching the contentType, which can be an exact Content-Type such as "application/pdf", or a wildcarded Content-Type such as "application/*", or "*/*". Indexing begins at 0. Call GetNumPartsOfType to find out how many MIME sub-parts exist for any given content type. If inlineOnly is True, then only MIME sub-parts having a content-disposition of "inline" are included. If excludeAttachments is True, then MIME sub-parts having a content-disposition of "attachment" are excluded.

Note: If the email was downloaded as header-only, it will not contain all the parts of the full email. Also, if downloaded from IMAP excluding attachments, those parts that are the attachments will (of course) be missing.

Note: Beginning in v9.5.0.95, the contentType can be wildcarded. For example, it is possible to specify "text/*", or simply "*" to match any Content-Type.

Note: Only non-multipart MIME parts are matched.

Returns True for success, False for failure.

More Information and Examples
top
GetNthContentType
function CkEmail_GetNthContentType(objHandle: HCkEmail;
    index: Integer;
    contentType: PWideChar;
    inlineOnly: wordbool;
    excludeAttachments: wordbool;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getNthContentType(objHandle: HCkEmail;
    index: Integer;
    contentType: PWideChar;
    inlineOnly: wordbool;
    excludeAttachments: wordbool): PWideChar; stdcall;
Introduced in version 9.5.0.95

Returns the Content-Type of the Nth MIME sub-part matching the specified contentType. The contentType can be a Content-Type such as "text/plain", or a wildcarded Content-Type such as "text/*", or even just "*" to match all Content-Types. If inlineOnly is True, then only MIME sub-parts having a content-disposition of "inline" are included. If excludeAttachments is True, then MIME sub-parts having a content-disposition of "attachment" are excluded.

Note: Only non-multipart content-types are matched.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top
GetNthTextPartOfType
function CkEmail_GetNthTextPartOfType(objHandle: HCkEmail;
    index: Integer;
    contentType: PWideChar;
    inlineOnly: wordbool;
    excludeAttachments: wordbool;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getNthTextPartOfType(objHandle: HCkEmail;
    index: Integer;
    contentType: PWideChar;
    inlineOnly: wordbool;
    excludeAttachments: wordbool): PWideChar; stdcall;
Introduced in version 9.5.0.44

Returns the text of the Nth MIME sub-part having a specified content type (such as "text/plain". Indexing begins at 0. Call GetNumPartsOfType to find out how many MIME sub-parts exist for any given content type. If inlineOnly is True, then only MIME sub-parts having a content-disposition of "inline" are included. If excludeAttachments is True, then MIME sub-parts having a content-disposition of "attachment" are excluded.

Note: If the email was downloaded as header-only, it will not contain all the parts of the full email. Also, if downloaded from IMAP excluding attachments, those parts that are the attachments will (of course) be missing.

Note: Beginning in v9.5.0.95, the contentType can be wildcarded. For example, it is possible to specify "text/*", or simply "*" to match any Content-Type.

Note: Only non-multipart MIME parts are matched.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top
GetNumPartsOfType
function CkEmail_GetNumPartsOfType(objHandle: HCkEmail;
    contentType: PWideChar;
    inlineOnly: wordbool;
    excludeAttachments: wordbool): Integer; stdcall;
Introduced in version 9.5.0.44

Returns the number of MIME sub-parts within the email having a specified content type (such as "text/plain"). If inlineOnly is True, then only MIME sub-parts having a content-disposition of "inline" are included. If excludeAttachments is True, then MIME sub-parts having a content-disposition of "attachment" are excluded.

Note: If the email was downloaded as header-only, it will not contain all the parts of the full email. Also, if downloaded from IMAP excluding attachments, those parts that are the attachments will (of course) be missing.

Note: Beginning in v9.5.0.95, the inlineOnly can be wildcarded. For example, it is possible to specify "text/*", or simply "*" to match any Content-Type.

Note: Only non-multipart MIME parts are matched (i.e. leaf-node MIME parts that contain a text or binary body).

More Information and Examples
top
GetPlainTextBody
function CkEmail_GetPlainTextBody(objHandle: HCkEmail;
    outStrBody: HCkString): wordbool; stdcall;
function CkEmail__getPlainTextBody(objHandle: HCkEmail): PWideChar; stdcall;

Returns the email body having the "text/plain" content type.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetRelatedAttr
function CkEmail_GetRelatedAttr(objHandle: HCkEmail;
    index: Integer;
    fieldName: PWideChar;
    attrName: PWideChar;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getRelatedAttr(objHandle: HCkEmail;
    index: Integer;
    fieldName: PWideChar;
    attrName: PWideChar): PWideChar; stdcall;
Introduced in version 9.5.0.41

Returns a header field attribute value from the header field of the Nth related item.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetRelatedContentID
function CkEmail_GetRelatedContentID(objHandle: HCkEmail;
    index: Integer;
    outStrContentID: HCkString): wordbool; stdcall;
function CkEmail__getRelatedContentID(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns the content ID of a related item contained with the email. Related items are typically images and style-sheets embedded within HTML emails.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetRelatedContentLocation
function CkEmail_GetRelatedContentLocation(objHandle: HCkEmail;
    index: Integer;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getRelatedContentLocation(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns the Content-Location of a related item contained with the email. Related items are typically images and style-sheets embedded within HTML emails.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetRelatedContentType
function CkEmail_GetRelatedContentType(objHandle: HCkEmail;
    index: Integer;
    outStrContentType: HCkString): wordbool; stdcall;
function CkEmail__getRelatedContentType(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns the content-type of the Nth related content item in an email message.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetRelatedData
function CkEmail_GetRelatedData(objHandle: HCkEmail;
    index: Integer;
    outBuffer: HCkByteData): wordbool; stdcall;

Returns the content of a related item contained with the email. Related items are typically images and style-sheets embedded within HTML emails.

Returns True for success, False for failure.

top
GetRelatedFilename
function CkEmail_GetRelatedFilename(objHandle: HCkEmail;
    index: Integer;
    outStrFilename: HCkString): wordbool; stdcall;
function CkEmail__getRelatedFilename(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns the filename of a related item contained with the email. Related items are typically images and style-sheets embedded within HTML emails.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetRelatedHeader
function CkEmail_GetRelatedHeader(objHandle: HCkEmail;
    index: Integer;
    fieldName: PWideChar;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getRelatedHeader(objHandle: HCkEmail;
    index: Integer;
    fieldName: PWideChar): PWideChar; stdcall;
Introduced in version 10.0.0

Returns the value of a header field (by name) of a related item.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetRelatedString
function CkEmail_GetRelatedString(objHandle: HCkEmail;
    index: Integer;
    charset: PWideChar;
    outStrData: HCkString): wordbool; stdcall;
function CkEmail__getRelatedString(objHandle: HCkEmail;
    index: Integer;
    charset: PWideChar): PWideChar; stdcall;

Returns the text with CR line-endings of a related item contained with the email. Related items are typically images and style-sheets embedded within HTML emails.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetRelatedStringCrLf
function CkEmail_GetRelatedStringCrLf(objHandle: HCkEmail;
    index: Integer;
    charset: PWideChar;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getRelatedStringCrLf(objHandle: HCkEmail;
    index: Integer;
    charset: PWideChar): PWideChar; stdcall;

Returns the text with CRLF line-endings of a related item contained with the email. Related items are typically images and style-sheets embedded within HTML emails.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetReplacePattern
function CkEmail_GetReplacePattern(objHandle: HCkEmail;
    index: Integer;
    outStrPattern: HCkString): wordbool; stdcall;
function CkEmail__getReplacePattern(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns a replacement pattern previously defined for mail-merge operations.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top
GetReplaceString
function CkEmail_GetReplaceString(objHandle: HCkEmail;
    index: Integer;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getReplaceString(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns a replacement string for a previously defined pattern/replacement string pair. (This is a mail-merge feature.)

Note: This method was found to not be working correctly and is fixed in Chilkat v9.5.0.91.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top
GetReplaceString2
function CkEmail_GetReplaceString2(objHandle: HCkEmail;
    pattern: PWideChar;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getReplaceString2(objHandle: HCkEmail;
    pattern: PWideChar): PWideChar; stdcall;

Returns a replacement string for a previously defined pattern/replacement string pair. (This is a mail-merge feature.)

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top
GetReport
function CkEmail_GetReport(objHandle: HCkEmail;
    index: Integer;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getReport(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

(See the NumReports property.) Returns the body content of the Nth report within a multipart/report email.

Multipart/report is a message type that contains data formatted for a mail server to read. It is split between a text/plain (or some other content/type easily readable) and a message/delivery-status, which contains the data formatted for the mail server to read.

It is defined in RFC 3462

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetSignedByCert
function CkEmail_GetSignedByCert(objHandle: HCkEmail): HCkCert; stdcall;

Return the certificate used to digitally sign this email.

Returns nil on failure

More Information and Examples
top
GetSignedByCertChain
function CkEmail_GetSignedByCertChain(objHandle: HCkEmail): HCkCertChain; stdcall;
Introduced in version 9.5.0.40

Return the full certificate chain of the certificate used to digitally sign this email.

Returns nil on failure

top
GetSigningCert
function CkEmail_GetSigningCert(objHandle: HCkEmail): HCkCert; stdcall;

Return the certificate that will be used to digitally sign this email. This is the cerficate that was previously set by calling the SetSigningCert method.

Returns nil on failure

top
GetTo
function CkEmail_GetTo(objHandle: HCkEmail;
    index: Integer;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getTo(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns a "to" recipient's full email address.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top
GetToAddr
function CkEmail_GetToAddr(objHandle: HCkEmail;
    index: Integer;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getToAddr(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns the Nth To address (only the address part, not the friendly-name part).

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetToName
function CkEmail_GetToName(objHandle: HCkEmail;
    index: Integer;
    outStr: HCkString): wordbool; stdcall;
function CkEmail__getToName(objHandle: HCkEmail;
    index: Integer): PWideChar; stdcall;

Returns the Nth To name (only the friendly-name part, not the address part).

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
GetXml
function CkEmail_GetXml(objHandle: HCkEmail;
    outStrXml: HCkString): wordbool; stdcall;
function CkEmail__getXml(objHandle: HCkEmail): PWideChar; stdcall;

Convert the email object to an XML document in memory

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
HasHeaderMatching
function CkEmail_HasHeaderMatching(objHandle: HCkEmail;
    fieldName: PWideChar;
    valuePattern: PWideChar;
    caseSensitive: wordbool): wordbool; stdcall;

Returns True if the email has a header field with the specified fieldName with a value matching valuePattern. Case sensitivity is controlled by caseSensitive. The valuePattern may include 0 or more asterisk (wildcard) characters which match 0 or more of any character.

top
HasHtmlBody
function CkEmail_HasHtmlBody(objHandle: HCkEmail): wordbool; stdcall;

Returns true if the email has an HTML body.

top
HasPlainTextBody
function CkEmail_HasPlainTextBody(objHandle: HCkEmail): wordbool; stdcall;

Returns true if the email has a plain-text body.

top
IsMultipartReport
function CkEmail_IsMultipartReport(objHandle: HCkEmail): wordbool; stdcall;

Returns true if the email is a multipart/report email.

top
LoadEml
function CkEmail_LoadEml(objHandle: HCkEmail;
    mimePath: PWideChar): wordbool; stdcall;

Loads a complete email from a .EML file. (EML files are simply RFC822 MIME text files.)

Note: This replaces the entire contents of the email object, including the To/CC recipients.

Returns True for success, False for failure.

top
LoadTaskResult
function CkEmail_LoadTaskResult(objHandle: HCkEmail;
    task: HCkTask): wordbool; stdcall;
Introduced in version 9.5.0.52

Loads the email object from a completed asynchronous task.

Returns True for success, False for failure.

More Information and Examples
top
LoadXml
function CkEmail_LoadXml(objHandle: HCkEmail;
    xmlPath: PWideChar): wordbool; stdcall;

Loads an email with the contents of an XML email file.

Note: This replaces the entire contents of the email object, including the To/CC recipients.

Returns True for success, False for failure.

top
LoadXmlString
function CkEmail_LoadXmlString(objHandle: HCkEmail;
    xmlStr: PWideChar): wordbool; stdcall;

Loads an email from an XML string (previously obtained by calling the GetXml method). The contents of the calling email object are erased and replaced with the email contained within the XML string.

Returns True for success, False for failure.

top
QEncodeBytes
function CkEmail_QEncodeBytes(objHandle: HCkEmail;
    inData: HCkByteData;
    charset: PWideChar;
    outEncodedStr: HCkString): wordbool; stdcall;
function CkEmail__qEncodeBytes(objHandle: HCkEmail;
    inData: HCkByteData;
    charset: PWideChar): PWideChar; stdcall;

Takes a byte array of multibyte (non-Unicode) data and returns a Unicode Q-Encoded string.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
QEncodeString
function CkEmail_QEncodeString(objHandle: HCkEmail;
    str: PWideChar;
    charset: PWideChar;
    outEncodedStr: HCkString): wordbool; stdcall;
function CkEmail__qEncodeString(objHandle: HCkEmail;
    str: PWideChar;
    charset: PWideChar): PWideChar; stdcall;

Takes a Unicode string, converts it to the charset specified in the 2nd parameter, Q-Encodes the converted multibyte data, and returns the encoded Unicode string.

Returns True for success, False for failure.

See the notes about PWideChar memory ownership and validity.

top
RemoveAttachedMessage
procedure CkEmail_RemoveAttachedMessage(objHandle: HCkEmail;
    idx: Integer) stdcall;

Removes the Nth message/rfc822 sub-part of the email. Indexing begins at 0.

top
RemoveAttachedMessages
procedure CkEmail_RemoveAttachedMessages(objHandle: HCkEmail) stdcall;

Removes all message/rfc822 sub-parts of the email object.

top
RemoveAttachmentPaths
procedure CkEmail_RemoveAttachmentPaths(objHandle: HCkEmail) stdcall;

Removes path information from all attachment filenames.

top
RemoveHeaderField
procedure CkEmail_RemoveHeaderField(objHandle: HCkEmail;
    fieldName: PWideChar) stdcall;

Removes by name all occurrences of a header field.

top
RemoveHtmlAlternative
procedure CkEmail_RemoveHtmlAlternative(objHandle: HCkEmail) stdcall;

Removes the HTML body from the email (if an HTML body exists).

top
RemovePlainTextAlternative
procedure CkEmail_RemovePlainTextAlternative(objHandle: HCkEmail) stdcall;

Removes the plain-text body from the email (if a plain-text body exists).

top
SaveAllAttachments
function CkEmail_SaveAllAttachments(objHandle: HCkEmail;
    dirPath: PWideChar): wordbool; stdcall;

Save all the attachments of an email to files in a directory specified by dirPath. The OverwriteExisting property controls whether existing files are allowed to be overwritten.

Note: Email attachment filenames can be renamed or modified prior to saving. The number of attachments is available in the NumAttachments property. An application can loop over the attachments to get the filename for each by calling GetAttachmentFilename(index). Each attachment's filename can be set by calling SetAttachmentFilename(index, newFilename).

Returns True for success, False for failure.

top
SaveAttachedFile
function CkEmail_SaveAttachedFile(objHandle: HCkEmail;
    index: Integer;
    dirPath: PWideChar): wordbool; stdcall;

Saves the Nth email attachment to the directory specified by dirPath. The 1st attachment is at index 0. The OverwriteExisting property controls whether existing files are allowed to be overwritten.

Returns True for success, False for failure.

top
SaveEml
function CkEmail_SaveEml(objHandle: HCkEmail;
    emlFilePath: PWideChar): wordbool; stdcall;

Convert this email object to EML and save it to a file.

Returns True for success, False for failure.

top
SaveRelatedItem
function CkEmail_SaveRelatedItem(objHandle: HCkEmail;
    index: Integer;
    dirPath: PWideChar): wordbool; stdcall;

Saves the Nth related item to the directory specified by dirPath. (The 1st related item is at index 0) Related content items are typically image or style-sheets embedded within an HTML email. The OverwriteExisting property controls whether existing files are allowed to be overwritten.

Returns True for success, False for failure.

top
SaveXml
function CkEmail_SaveXml(objHandle: HCkEmail;
    path: PWideChar): wordbool; stdcall;

Convert this email object to XML and save it to a file.

Returns True for success, False for failure.

top
SetAttachmentCharset
function CkEmail_SetAttachmentCharset(objHandle: HCkEmail;
    index: Integer;
    charset: PWideChar): wordbool; stdcall;

Sets the charset attribute of the content-type header field for a specified attachment. This can be used if the attachment is a text file that contains text in a non us-ascii charset such as Shift_JIS, iso-8859-2, big5, iso-8859-5, etc.

Returns True for success, False for failure.

top
SetAttachmentDisposition
function CkEmail_SetAttachmentDisposition(objHandle: HCkEmail;
    index: Integer;
    disposition: PWideChar): wordbool; stdcall;

Set's an attachment's disposition. The default disposition of an attachment is "attachment". This method is typically called to change the disposition to "inline". The 1st attachment is at index 0.

Returns True for success, False for failure.

top
SetAttachmentFilename
function CkEmail_SetAttachmentFilename(objHandle: HCkEmail;
    index: Integer;
    filename: PWideChar): wordbool; stdcall;

Renames a email attachment's filename. The 1st attachment is at index 0.

Returns True for success, False for failure.

More Information and Examples
top
SetBinaryBody
function CkEmail_SetBinaryBody(objHandle: HCkEmail;
    byteData: HCkByteData;
    contentType: PWideChar;
    disposition: PWideChar;
    filename: PWideChar): wordbool; stdcall;
Introduced in version 9.5.0.44

Sets the main body of the email to binary content of any type. The disposition can be an empty string, "inline", or "attachment". If a filename is specified, the disposition must be non-empty because the filename is an attribute of the content-disposition header field.

Returns True for success, False for failure.

top
SetDecryptCert
function CkEmail_SetDecryptCert(objHandle: HCkEmail;
    cert: HCkCert): wordbool; stdcall;
Introduced in version 9.5.0.57

Allows for a certificate to be explicity provided for decryption. When an email object is loaded via any method, such as LoadEml, SetFromMimeText, SetFromMimeBytes, etc., security layers (signatures and encryption) are automatically unwrapped. This method could be called prior to calling a method that loads the email.

Returns True for success, False for failure.

top
SetDecryptCert2
function CkEmail_SetDecryptCert2(objHandle: HCkEmail;
    cert: HCkCert;
    key: HCkPrivateKey): wordbool; stdcall;
Introduced in version 9.5.0.57

Allows for a certificate and private key to be explicity specified for decryption. When an email object is loaded via any method, such as LoadEml, SetFromMimeText, SetFromMimeBytes, etc., security layers (signatures and encryption) are automatically unwrapped. Decryption requires a private key. On Windows-based systems, the private key is often pre-installed and nothing need be done to provide it because Chilkat will automatically find it and use it. However, if not on a Windows system, or if the private key was not pre-installed, then it can be provided by this method, or via the AddPfxSourceFile / AddPfxSourceData methods.

Returns True for success, False for failure.

More Information and Examples
top
SetDt
function CkEmail_SetDt(objHandle: HCkEmail;
    dt: HCkDateTime): wordbool; stdcall;

Sets the "Date" header field of the email to have the value of the date/time object provided.

Returns True for success, False for failure.

top
SetEdifactBody
procedure CkEmail_SetEdifactBody(objHandle: HCkEmail;
    message: PWideChar;
    name: PWideChar;
    filename: PWideChar;
    charset: PWideChar) stdcall;
Introduced in version 9.5.0.28

Creates a typical email used to send EDIFACT messages. Does the following:

  1. Sets the email body to the EDIFACT message passed in message.
  2. Sets the Content-Transfer-Encoding to Base64.
  3. Set the Content-Type equal to "application/EDIFACT".
  4. Sets the Content-Type header's name attribute to name.
  5. Sets the Content-Disposition equal to "attachment".
  6. Sets the Content-Disposition's "filename" attribute equal to filename.
  7. The EDIFACT message is converted to the charset indicated by charset, and encoded using Base64 in the email body.
The email's subject, recipients, FROM address, and other headers are left unmodified.

top
SetEncryptCert
function CkEmail_SetEncryptCert(objHandle: HCkEmail;
    cert: HCkCert): wordbool; stdcall;

Set the encryption certificate to be used in encryption. Use the CreateCS, CertStore, and Cert classes to create a Cert object by either locating a certificate in a certificate store or loading one from a file.

Returns True for success, False for failure.

top
SetFromMimeBd
function CkEmail_SetFromMimeBd(objHandle: HCkEmail;
    bindat: HCkBinData): wordbool; stdcall;
Introduced in version 9.5.0.62

Loads an email with the MIME stored in a BinData object.

Note: This replaces the entire contents of the email object, including the To/CC recipients.

Returns True for success, False for failure.

top
SetFromMimeBytes
function CkEmail_SetFromMimeBytes(objHandle: HCkEmail;
    mimeBytes: HCkByteData): wordbool; stdcall;

Loads the email object with the mimeBytes. If the email object already contained an email, it is entirely replaced. The character encoding (such as "utf-8", "iso-8859-1", etc.) of the bytes is automatically inferred from the content. If for some reason it is not possible to determine the character encoding, the SetFromMimeBytes2 method may be called to explicitly specify the charset.

Returns True for success, False for failure.

top
SetFromMimeBytes2
function CkEmail_SetFromMimeBytes2(objHandle: HCkEmail;
    mimeBytes: HCkByteData;
    charset: PWideChar): wordbool; stdcall;

Loads the email object with the mimeBytes. If the email object already contained an email, it is entirely replaced.

The charset specifies the character encoding of the MIME bytes (such as "utf-8", "iso-8859-1", etc.).

Returns True for success, False for failure.

top
SetFromMimeSb
function CkEmail_SetFromMimeSb(objHandle: HCkEmail;
    sb: HCkStringBuilder): wordbool; stdcall;
Introduced in version 9.5.0.62

Loads an email with the MIME stored in a StringBuilder object.

Note: This replaces the entire contents of the email object, including the To/CC recipients.

Returns True for success, False for failure.

top
SetFromMimeText
function CkEmail_SetFromMimeText(objHandle: HCkEmail;
    mimeText: PWideChar): wordbool; stdcall;

Loads an email with the contents of a .eml (i.e. MIME) contained in a string.

Note: This replaces the entire contents of the email object, including the To/CC recipients.

Returns True for success, False for failure.

top
SetFromXmlText
function CkEmail_SetFromXmlText(objHandle: HCkEmail;
    xmlStr: PWideChar): wordbool; stdcall;

Loads an email from an XML string.

Note: This replaces the entire contents of the email object, including the To/CC recipients.

Returns True for success, False for failure.

top
SetHtmlBody
procedure CkEmail_SetHtmlBody(objHandle: HCkEmail;
    html: PWideChar) stdcall;

Sets the HTML body of an email.

More Information and Examples
top
SetMbHtmlBody
function CkEmail_SetMbHtmlBody(objHandle: HCkEmail;
    charset: PWideChar;
    inData: HCkByteData): wordbool; stdcall;

Sets the HTML email body from a byte array containing character data in the specified character set. This method also updates the email "content-type"header to properly reflect the content type of the body.

Returns True for success, False for failure.

top
SetMbPlainTextBody
function CkEmail_SetMbPlainTextBody(objHandle: HCkEmail;
    charset: PWideChar;
    inData: HCkByteData): wordbool; stdcall;

Sets the plain-text email body from a byte array containing character data in the specified character set. This method also updates the email "content-type"header to properly reflect the content type of the body.

Returns True for success, False for failure.

top
SetRelatedFilename
function CkEmail_SetRelatedFilename(objHandle: HCkEmail;
    index: Integer;
    path: PWideChar): wordbool; stdcall;

Sets the filename for a related item within the email.

Returns True for success, False for failure.

top
SetReplacePattern
function CkEmail_SetReplacePattern(objHandle: HCkEmail;
    pattern: PWideChar;
    replaceString: PWideChar): wordbool; stdcall;

Create a pattern/replacement-text pair for mail-merge. When the email is sent via the MailMan's SendEmail method, or any other mail-sending method, the patterns are replaced with the replacement strings during the sending process. To define multiple replacement patterns, simply call SetReplacePattern once per pattern/replacement string. (Note: The MailMan's RenderToMime method will also do pattern replacements. Methods such as SaveEml or GetMime do not replace patterns.)

Note: Replacement patterns may be placed in any header field, and in both HTML and plain-text email bodies.

Returns True for success, False for failure.

More Information and Examples
top
SetSigningCert
function CkEmail_SetSigningCert(objHandle: HCkEmail;
    cert: HCkCert): wordbool; stdcall;

Set the certificate to be used in creating a digital signature. Use the CreateCS, CertStore, and Cert classes to create a Cert object by either locating a certificate in a certificate store or loading one from a file.

Returns True for success, False for failure.

More Information and Examples
top
SetSigningCert2
function CkEmail_SetSigningCert2(objHandle: HCkEmail;
    cert: HCkCert;
    key: HCkPrivateKey): wordbool; stdcall;

Explicitly sets the certificate and private key to be used for sending digitally signed email. If the certificate's private key is already installed on the computer, then one may simply call SetSigningCert because the Chilkat component will automatically locate and use the corresponding private key (stored in the Windows Protected Store). In most cases, if the digital certificate is already installed w/ private key on the computer, it is not necessary to explicitly set the signing certificate at all. The Chilkat component will automatically locate and use the certificate containing the FROM email address (from the registry-based certificate store where it was installed).

Returns True for success, False for failure.

top
SetTextBody
procedure CkEmail_SetTextBody(objHandle: HCkEmail;
    bodyText: PWideChar;
    contentType: PWideChar) stdcall;

Sets the body of the email and also sets the Content-Type header field of the contentType. If the email is already multipart/alternative, an additional alternative with the indicated Content-Type will be added. If an alternative with the same Content-Type already exists, it is replaced.

More Information and Examples
top
UidlEquals
function CkEmail_UidlEquals(objHandle: HCkEmail;
    e: HCkEmail): wordbool; stdcall;

True if the caller email has a UIDL that equals the email passed in the argument.

top
UnpackHtml
function CkEmail_UnpackHtml(objHandle: HCkEmail;
    unpackDir: PWideChar;
    htmlFilename: PWideChar;
    partsSubdir: PWideChar): wordbool; stdcall;

Unpacks an HTML email into an HTML file and related files (images and style sheets). The links within the HTML are updated to point to the files unpacked and saved to disk.

The unpackDir is the absolute or relative directory path where the HTML file should be written. The partsSubdir is the subdirectory beneath unpackDir where images and style sheets should be written. If partsSubdir does not already exist, it is automatically created.

For example, if unpackDir = "C:/test", htmlFilename = "myEmail.html", and partsSubdir = "images", then C:/test/myEmail.html is created, and the related files are written into C:/test/images.

Note: The UnpackHtml method extracts images that are actually contained within the email itself. If the HTML contains an "IMG" tag that just links to an image on the web (but the image data is not contained locally within the email), then the image is not unpacked (because it would need to be downloaded from the web).

Returns True for success, False for failure.

More Information and Examples
top
UnSpamify
procedure CkEmail_UnSpamify(objHandle: HCkEmail) stdcall;

Unobfuscates emails by undoing what spammers do to obfuscate email. It removes comments from HTML bodies and unobfuscates hyperlinked URLs.

top
UnzipAttachments
function CkEmail_UnzipAttachments(objHandle: HCkEmail): wordbool; stdcall;

Unzips and replaces any Zip file attachments with the expanded contents. As an example, if an email contained a single Zip file containing 3 GIF image files as an attachment, then after calling this method the email would contain 3 GIF file attachments, and the Zip attachment would be gone.If an email contains multiple Zip file attachments, each Zip is expanded and replaced with the contents.

Returns True for success, False for failure.

top
UseCertVault
function CkEmail_UseCertVault(objHandle: HCkEmail;
    vault: HCkXmlCertVault): wordbool; stdcall;
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 True for success, False for failure.

top
ZipAttachments
function CkEmail_ZipAttachments(objHandle: HCkEmail;
    zipFilename: PWideChar): wordbool; stdcall;

Replaces all the attachments of an email with a single Zip file attachment having the filename specified.

Returns True for success, False for failure.

top