/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (https://www.swig.org).
 * Version 4.3.0
 *
 * Do not make changes to this file unless you know what you are doing - modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package com.chilkatsoft;

public class CkEmail {
  private transient long swigCPtr;
  protected transient boolean swigCMemOwn;

  protected CkEmail(long cPtr, boolean cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = cPtr;
  }

  protected static long getCPtr(CkEmail obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  protected static long swigRelease(CkEmail obj) {
    long ptr = 0;
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new RuntimeException("Cannot release ownership as memory is not owned");
      ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.delete();
    }
    return ptr;
  }

  @SuppressWarnings({"deprecation", "removal"})
  protected void finalize() {
    delete();
  }

  public synchronized void delete() {
    if (swigCPtr != 0) {
      if (swigCMemOwn) {
        swigCMemOwn = false;
        chilkatJNI.delete_CkEmail(swigCPtr);
      }
      swigCPtr = 0;
    }
  }

  public CkEmail() {
    this(chilkatJNI.new_CkEmail(), true);
  }

  public void LastErrorXml(CkString str) {
    chilkatJNI.CkEmail_LastErrorXml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public void LastErrorHtml(CkString str) {
    chilkatJNI.CkEmail_LastErrorHtml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public void LastErrorText(CkString str) {
    chilkatJNI.CkEmail_LastErrorText(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public void get_Body(CkString str) {
    chilkatJNI.CkEmail_get_Body(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String body() {
    return chilkatJNI.CkEmail_body(swigCPtr, this);
  }

  public void put_Body(String newVal) {
    chilkatJNI.CkEmail_put_Body(swigCPtr, this, newVal);
  }

  public void get_BounceAddress(CkString str) {
    chilkatJNI.CkEmail_get_BounceAddress(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String bounceAddress() {
    return chilkatJNI.CkEmail_bounceAddress(swigCPtr, this);
  }

  public void put_BounceAddress(String newVal) {
    chilkatJNI.CkEmail_put_BounceAddress(swigCPtr, this, newVal);
  }

  public void get_Charset(CkString str) {
    chilkatJNI.CkEmail_get_Charset(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String charset() {
    return chilkatJNI.CkEmail_charset(swigCPtr, this);
  }

  public void put_Charset(String newVal) {
    chilkatJNI.CkEmail_put_Charset(swigCPtr, this, newVal);
  }

  public void get_DebugLogFilePath(CkString str) {
    chilkatJNI.CkEmail_get_DebugLogFilePath(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String debugLogFilePath() {
    return chilkatJNI.CkEmail_debugLogFilePath(swigCPtr, this);
  }

  public void put_DebugLogFilePath(String newVal) {
    chilkatJNI.CkEmail_put_DebugLogFilePath(swigCPtr, this, newVal);
  }

  public boolean get_Decrypted() {
    return chilkatJNI.CkEmail_get_Decrypted(swigCPtr, this);
  }

  public void get_EmailDateStr(CkString str) {
    chilkatJNI.CkEmail_get_EmailDateStr(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String emailDateStr() {
    return chilkatJNI.CkEmail_emailDateStr(swigCPtr, this);
  }

  public void put_EmailDateStr(String newVal) {
    chilkatJNI.CkEmail_put_EmailDateStr(swigCPtr, this, newVal);
  }

  public void get_EncryptedBy(CkString str) {
    chilkatJNI.CkEmail_get_EncryptedBy(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String encryptedBy() {
    return chilkatJNI.CkEmail_encryptedBy(swigCPtr, this);
  }

  public void get_FileDistList(CkString str) {
    chilkatJNI.CkEmail_get_FileDistList(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String fileDistList() {
    return chilkatJNI.CkEmail_fileDistList(swigCPtr, this);
  }

  public void put_FileDistList(String newVal) {
    chilkatJNI.CkEmail_put_FileDistList(swigCPtr, this, newVal);
  }

  public void get_From(CkString str) {
    chilkatJNI.CkEmail_get_From(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String ck_from() {
    return chilkatJNI.CkEmail_ck_from(swigCPtr, this);
  }

  public void put_From(String newVal) {
    chilkatJNI.CkEmail_put_From(swigCPtr, this, newVal);
  }

  public void get_FromAddress(CkString str) {
    chilkatJNI.CkEmail_get_FromAddress(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String fromAddress() {
    return chilkatJNI.CkEmail_fromAddress(swigCPtr, this);
  }

  public void put_FromAddress(String newVal) {
    chilkatJNI.CkEmail_put_FromAddress(swigCPtr, this, newVal);
  }

  public void get_FromName(CkString str) {
    chilkatJNI.CkEmail_get_FromName(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String fromName() {
    return chilkatJNI.CkEmail_fromName(swigCPtr, this);
  }

  public void put_FromName(String newVal) {
    chilkatJNI.CkEmail_put_FromName(swigCPtr, this, newVal);
  }

  public void get_Header(CkString str) {
    chilkatJNI.CkEmail_get_Header(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String header() {
    return chilkatJNI.CkEmail_header(swigCPtr, this);
  }

  public void get_Language(CkString str) {
    chilkatJNI.CkEmail_get_Language(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String language() {
    return chilkatJNI.CkEmail_language(swigCPtr, this);
  }

  public void get_LastErrorHtml(CkString str) {
    chilkatJNI.CkEmail_get_LastErrorHtml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastErrorHtml() {
    return chilkatJNI.CkEmail_lastErrorHtml(swigCPtr, this);
  }

  public void get_LastErrorText(CkString str) {
    chilkatJNI.CkEmail_get_LastErrorText(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastErrorText() {
    return chilkatJNI.CkEmail_lastErrorText(swigCPtr, this);
  }

  public void get_LastErrorXml(CkString str) {
    chilkatJNI.CkEmail_get_LastErrorXml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastErrorXml() {
    return chilkatJNI.CkEmail_lastErrorXml(swigCPtr, this);
  }

  public boolean get_LastMethodSuccess() {
    return chilkatJNI.CkEmail_get_LastMethodSuccess(swigCPtr, this);
  }

  public void put_LastMethodSuccess(boolean newVal) {
    chilkatJNI.CkEmail_put_LastMethodSuccess(swigCPtr, this, newVal);
  }

  public void get_LocalDateStr(CkString str) {
    chilkatJNI.CkEmail_get_LocalDateStr(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String localDateStr() {
    return chilkatJNI.CkEmail_localDateStr(swigCPtr, this);
  }

  public void put_LocalDateStr(String newVal) {
    chilkatJNI.CkEmail_put_LocalDateStr(swigCPtr, this, newVal);
  }

  public void get_Mailer(CkString str) {
    chilkatJNI.CkEmail_get_Mailer(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String mailer() {
    return chilkatJNI.CkEmail_mailer(swigCPtr, this);
  }

  public void put_Mailer(String newVal) {
    chilkatJNI.CkEmail_put_Mailer(swigCPtr, this, newVal);
  }

  public int get_NumAlternatives() {
    return chilkatJNI.CkEmail_get_NumAlternatives(swigCPtr, this);
  }

  public int get_NumAttachedMessages() {
    return chilkatJNI.CkEmail_get_NumAttachedMessages(swigCPtr, this);
  }

  public int get_NumAttachments() {
    return chilkatJNI.CkEmail_get_NumAttachments(swigCPtr, this);
  }

  public int get_NumBcc() {
    return chilkatJNI.CkEmail_get_NumBcc(swigCPtr, this);
  }

  public int get_NumCC() {
    return chilkatJNI.CkEmail_get_NumCC(swigCPtr, this);
  }

  public int get_NumDaysOld() {
    return chilkatJNI.CkEmail_get_NumDaysOld(swigCPtr, this);
  }

  public int get_NumDigests() {
    return chilkatJNI.CkEmail_get_NumDigests(swigCPtr, this);
  }

  public int get_NumHeaderFields() {
    return chilkatJNI.CkEmail_get_NumHeaderFields(swigCPtr, this);
  }

  public int get_NumRelatedItems() {
    return chilkatJNI.CkEmail_get_NumRelatedItems(swigCPtr, this);
  }

  public int get_NumReplacePatterns() {
    return chilkatJNI.CkEmail_get_NumReplacePatterns(swigCPtr, this);
  }

  public int get_NumReports() {
    return chilkatJNI.CkEmail_get_NumReports(swigCPtr, this);
  }

  public int get_NumTo() {
    return chilkatJNI.CkEmail_get_NumTo(swigCPtr, this);
  }

  public void get_OaepHash(CkString str) {
    chilkatJNI.CkEmail_get_OaepHash(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String oaepHash() {
    return chilkatJNI.CkEmail_oaepHash(swigCPtr, this);
  }

  public void put_OaepHash(String newVal) {
    chilkatJNI.CkEmail_put_OaepHash(swigCPtr, this, newVal);
  }

  public void get_OaepMgfHash(CkString str) {
    chilkatJNI.CkEmail_get_OaepMgfHash(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String oaepMgfHash() {
    return chilkatJNI.CkEmail_oaepMgfHash(swigCPtr, this);
  }

  public void put_OaepMgfHash(String newVal) {
    chilkatJNI.CkEmail_put_OaepMgfHash(swigCPtr, this, newVal);
  }

  public boolean get_OaepPadding() {
    return chilkatJNI.CkEmail_get_OaepPadding(swigCPtr, this);
  }

  public void put_OaepPadding(boolean newVal) {
    chilkatJNI.CkEmail_put_OaepPadding(swigCPtr, this, newVal);
  }

  public boolean get_OverwriteExisting() {
    return chilkatJNI.CkEmail_get_OverwriteExisting(swigCPtr, this);
  }

  public void put_OverwriteExisting(boolean newVal) {
    chilkatJNI.CkEmail_put_OverwriteExisting(swigCPtr, this, newVal);
  }

  public void get_Pkcs7CryptAlg(CkString str) {
    chilkatJNI.CkEmail_get_Pkcs7CryptAlg(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String pkcs7CryptAlg() {
    return chilkatJNI.CkEmail_pkcs7CryptAlg(swigCPtr, this);
  }

  public void put_Pkcs7CryptAlg(String newVal) {
    chilkatJNI.CkEmail_put_Pkcs7CryptAlg(swigCPtr, this, newVal);
  }

  public int get_Pkcs7KeyLength() {
    return chilkatJNI.CkEmail_get_Pkcs7KeyLength(swigCPtr, this);
  }

  public void put_Pkcs7KeyLength(int newVal) {
    chilkatJNI.CkEmail_put_Pkcs7KeyLength(swigCPtr, this, newVal);
  }

  public void get_PreferredCharset(CkString str) {
    chilkatJNI.CkEmail_get_PreferredCharset(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String preferredCharset() {
    return chilkatJNI.CkEmail_preferredCharset(swigCPtr, this);
  }

  public void put_PreferredCharset(String newVal) {
    chilkatJNI.CkEmail_put_PreferredCharset(swigCPtr, this, newVal);
  }

  public boolean get_PrependHeaders() {
    return chilkatJNI.CkEmail_get_PrependHeaders(swigCPtr, this);
  }

  public void put_PrependHeaders(boolean newVal) {
    chilkatJNI.CkEmail_put_PrependHeaders(swigCPtr, this, newVal);
  }

  public boolean get_ReceivedEncrypted() {
    return chilkatJNI.CkEmail_get_ReceivedEncrypted(swigCPtr, this);
  }

  public boolean get_ReceivedSigned() {
    return chilkatJNI.CkEmail_get_ReceivedSigned(swigCPtr, this);
  }

  public void get_ReplyTo(CkString str) {
    chilkatJNI.CkEmail_get_ReplyTo(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String replyTo() {
    return chilkatJNI.CkEmail_replyTo(swigCPtr, this);
  }

  public void put_ReplyTo(String newVal) {
    chilkatJNI.CkEmail_put_ReplyTo(swigCPtr, this, newVal);
  }

  public boolean get_ReturnReceipt() {
    return chilkatJNI.CkEmail_get_ReturnReceipt(swigCPtr, this);
  }

  public void put_ReturnReceipt(boolean newVal) {
    chilkatJNI.CkEmail_put_ReturnReceipt(swigCPtr, this, newVal);
  }

  public boolean get_SendEncrypted() {
    return chilkatJNI.CkEmail_get_SendEncrypted(swigCPtr, this);
  }

  public void put_SendEncrypted(boolean newVal) {
    chilkatJNI.CkEmail_put_SendEncrypted(swigCPtr, this, newVal);
  }

  public boolean get_SendSigned() {
    return chilkatJNI.CkEmail_get_SendSigned(swigCPtr, this);
  }

  public void put_SendSigned(boolean newVal) {
    chilkatJNI.CkEmail_put_SendSigned(swigCPtr, this, newVal);
  }

  public boolean get_SignaturesValid() {
    return chilkatJNI.CkEmail_get_SignaturesValid(swigCPtr, this);
  }

  public void get_SignedBy(CkString str) {
    chilkatJNI.CkEmail_get_SignedBy(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String signedBy() {
    return chilkatJNI.CkEmail_signedBy(swigCPtr, this);
  }

  public void get_SigningAlg(CkString str) {
    chilkatJNI.CkEmail_get_SigningAlg(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String signingAlg() {
    return chilkatJNI.CkEmail_signingAlg(swigCPtr, this);
  }

  public void put_SigningAlg(String newVal) {
    chilkatJNI.CkEmail_put_SigningAlg(swigCPtr, this, newVal);
  }

  public void get_SigningHashAlg(CkString str) {
    chilkatJNI.CkEmail_get_SigningHashAlg(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String signingHashAlg() {
    return chilkatJNI.CkEmail_signingHashAlg(swigCPtr, this);
  }

  public void put_SigningHashAlg(String newVal) {
    chilkatJNI.CkEmail_put_SigningHashAlg(swigCPtr, this, newVal);
  }

  public int get_Size() {
    return chilkatJNI.CkEmail_get_Size(swigCPtr, this);
  }

  public void get_Subject(CkString str) {
    chilkatJNI.CkEmail_get_Subject(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String subject() {
    return chilkatJNI.CkEmail_subject(swigCPtr, this);
  }

  public void put_Subject(String newVal) {
    chilkatJNI.CkEmail_put_Subject(swigCPtr, this, newVal);
  }

  public void get_Uidl(CkString str) {
    chilkatJNI.CkEmail_get_Uidl(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String uidl() {
    return chilkatJNI.CkEmail_uidl(swigCPtr, this);
  }

  public void get_UncommonOptions(CkString str) {
    chilkatJNI.CkEmail_get_UncommonOptions(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String uncommonOptions() {
    return chilkatJNI.CkEmail_uncommonOptions(swigCPtr, this);
  }

  public void put_UncommonOptions(String newVal) {
    chilkatJNI.CkEmail_put_UncommonOptions(swigCPtr, this, newVal);
  }

  public boolean get_UnpackUseRelPaths() {
    return chilkatJNI.CkEmail_get_UnpackUseRelPaths(swigCPtr, this);
  }

  public void put_UnpackUseRelPaths(boolean newVal) {
    chilkatJNI.CkEmail_put_UnpackUseRelPaths(swigCPtr, this, newVal);
  }

  public boolean get_VerboseLogging() {
    return chilkatJNI.CkEmail_get_VerboseLogging(swigCPtr, this);
  }

  public void put_VerboseLogging(boolean newVal) {
    chilkatJNI.CkEmail_put_VerboseLogging(swigCPtr, this, newVal);
  }

  public void get_Version(CkString str) {
    chilkatJNI.CkEmail_get_Version(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String version() {
    return chilkatJNI.CkEmail_version(swigCPtr, this);
  }

  public boolean AddAttachmentBd(String filename, CkBinData binData, String contentType) {
    return chilkatJNI.CkEmail_AddAttachmentBd(swigCPtr, this, filename, CkBinData.getCPtr(binData), binData, contentType);
  }

  public void AddAttachmentHeader(int index, String fieldName, String fieldValue) {
    chilkatJNI.CkEmail_AddAttachmentHeader(swigCPtr, this, index, fieldName, fieldValue);
  }

  public boolean AddBcc(String friendlyName, String emailAddress) {
    return chilkatJNI.CkEmail_AddBcc(swigCPtr, this, friendlyName, emailAddress);
  }

  public boolean AddCC(String friendlyName, String emailAddress) {
    return chilkatJNI.CkEmail_AddCC(swigCPtr, this, friendlyName, emailAddress);
  }

  public boolean AddDataAttachment(String fileName, CkByteData content) {
    return chilkatJNI.CkEmail_AddDataAttachment(swigCPtr, this, fileName, CkByteData.getCPtr(content), content);
  }

  public boolean AddDataAttachment2(String fileName, CkByteData content, String contentType) {
    return chilkatJNI.CkEmail_AddDataAttachment2(swigCPtr, this, fileName, CkByteData.getCPtr(content), content, contentType);
  }

  public boolean AddEncryptCert(CkCert cert) {
    return chilkatJNI.CkEmail_AddEncryptCert(swigCPtr, this, CkCert.getCPtr(cert), cert);
  }

  public boolean AddFileAttachment(String path, CkString outStrContentType) {
    return chilkatJNI.CkEmail_AddFileAttachment(swigCPtr, this, path, CkString.getCPtr(outStrContentType), outStrContentType);
  }

  public String addFileAttachment(String path) {
    return chilkatJNI.CkEmail_addFileAttachment(swigCPtr, this, path);
  }

  public boolean AddFileAttachment2(String path, String contentType) {
    return chilkatJNI.CkEmail_AddFileAttachment2(swigCPtr, this, path, contentType);
  }

  public void AddHeaderField(String fieldName, String fieldValue) {
    chilkatJNI.CkEmail_AddHeaderField(swigCPtr, this, fieldName, fieldValue);
  }

  public void AddHeaderField2(String fieldName, String fieldValue) {
    chilkatJNI.CkEmail_AddHeaderField2(swigCPtr, this, fieldName, fieldValue);
  }

  public boolean AddHtmlAlternativeBody(String body) {
    return chilkatJNI.CkEmail_AddHtmlAlternativeBody(swigCPtr, this, body);
  }

  public boolean AddiCalendarAlternativeBody(String icalContent, String methodName) {
    return chilkatJNI.CkEmail_AddiCalendarAlternativeBody(swigCPtr, this, icalContent, methodName);
  }

  public boolean AddMultipleBcc(String commaSeparatedAddresses) {
    return chilkatJNI.CkEmail_AddMultipleBcc(swigCPtr, this, commaSeparatedAddresses);
  }

  public boolean AddMultipleCC(String commaSeparatedAddresses) {
    return chilkatJNI.CkEmail_AddMultipleCC(swigCPtr, this, commaSeparatedAddresses);
  }

  public boolean AddMultipleTo(String commaSeparatedAddresses) {
    return chilkatJNI.CkEmail_AddMultipleTo(swigCPtr, this, commaSeparatedAddresses);
  }

  public boolean AddPfxSourceBd(CkBinData bd, String password) {
    return chilkatJNI.CkEmail_AddPfxSourceBd(swigCPtr, this, CkBinData.getCPtr(bd), bd, password);
  }

  public boolean AddPfxSourceData(CkByteData pfxBytes, String pfxPassword) {
    return chilkatJNI.CkEmail_AddPfxSourceData(swigCPtr, this, CkByteData.getCPtr(pfxBytes), pfxBytes, pfxPassword);
  }

  public boolean AddPfxSourceFile(String pfxFilePath, String pfxPassword) {
    return chilkatJNI.CkEmail_AddPfxSourceFile(swigCPtr, this, pfxFilePath, pfxPassword);
  }

  public boolean AddPlainTextAlternativeBody(String body) {
    return chilkatJNI.CkEmail_AddPlainTextAlternativeBody(swigCPtr, this, body);
  }

  public boolean AddRelatedBd(String filename, CkBinData binData, CkString outStr) {
    return chilkatJNI.CkEmail_AddRelatedBd(swigCPtr, this, filename, CkBinData.getCPtr(binData), binData, CkString.getCPtr(outStr), outStr);
  }

  public String addRelatedBd(String filename, CkBinData binData) {
    return chilkatJNI.CkEmail_addRelatedBd(swigCPtr, this, filename, CkBinData.getCPtr(binData), binData);
  }

  public boolean AddRelatedBd2(CkBinData binData, String fileNameInHtml) {
    return chilkatJNI.CkEmail_AddRelatedBd2(swigCPtr, this, CkBinData.getCPtr(binData), binData, fileNameInHtml);
  }

  public boolean AddRelatedData(String fileName, CkByteData inData, CkString outStr) {
    return chilkatJNI.CkEmail_AddRelatedData(swigCPtr, this, fileName, CkByteData.getCPtr(inData), inData, CkString.getCPtr(outStr), outStr);
  }

  public String addRelatedData(String fileName, CkByteData inData) {
    return chilkatJNI.CkEmail_addRelatedData(swigCPtr, this, fileName, CkByteData.getCPtr(inData), inData);
  }

  public void AddRelatedData2(CkByteData inData, String fileNameInHtml) {
    chilkatJNI.CkEmail_AddRelatedData2(swigCPtr, this, CkByteData.getCPtr(inData), inData, fileNameInHtml);
  }

  public boolean AddRelatedFile(String path, CkString outStrContentID) {
    return chilkatJNI.CkEmail_AddRelatedFile(swigCPtr, this, path, CkString.getCPtr(outStrContentID), outStrContentID);
  }

  public String addRelatedFile(String path) {
    return chilkatJNI.CkEmail_addRelatedFile(swigCPtr, this, path);
  }

  public boolean AddRelatedFile2(String filenameOnDisk, String filenameInHtml) {
    return chilkatJNI.CkEmail_AddRelatedFile2(swigCPtr, this, filenameOnDisk, filenameInHtml);
  }

  public void AddRelatedHeader(int index, String fieldName, String fieldValue) {
    chilkatJNI.CkEmail_AddRelatedHeader(swigCPtr, this, index, fieldName, fieldValue);
  }

  public boolean AddRelatedString(String nameInHtml, String str, String charset, CkString outCid) {
    return chilkatJNI.CkEmail_AddRelatedString(swigCPtr, this, nameInHtml, str, charset, CkString.getCPtr(outCid), outCid);
  }

  public String addRelatedString(String nameInHtml, String str, String charset) {
    return chilkatJNI.CkEmail_addRelatedString(swigCPtr, this, nameInHtml, str, charset);
  }

  public void AddRelatedString2(String fileNameInHtml, String content, String charset) {
    chilkatJNI.CkEmail_AddRelatedString2(swigCPtr, this, fileNameInHtml, content, charset);
  }

  public boolean AddStringAttachment(String path, String content) {
    return chilkatJNI.CkEmail_AddStringAttachment(swigCPtr, this, path, content);
  }

  public boolean AddStringAttachment2(String path, String content, String charset) {
    return chilkatJNI.CkEmail_AddStringAttachment2(swigCPtr, this, path, content, charset);
  }

  public boolean AddTo(String friendlyName, String emailAddress) {
    return chilkatJNI.CkEmail_AddTo(swigCPtr, this, friendlyName, emailAddress);
  }

  public boolean AesDecrypt(String password) {
    return chilkatJNI.CkEmail_AesDecrypt(swigCPtr, this, password);
  }

  public boolean AesEncrypt(String password) {
    return chilkatJNI.CkEmail_AesEncrypt(swigCPtr, this, password);
  }

  public void AppendToBody(String str) {
    chilkatJNI.CkEmail_AppendToBody(swigCPtr, this, str);
  }

  public boolean ApplyFixups(String fixups) {
    return chilkatJNI.CkEmail_ApplyFixups(swigCPtr, this, fixups);
  }

  public boolean AspUnpack(String prefix, String saveDir, String urlPath, boolean cleanFiles) {
    return chilkatJNI.CkEmail_AspUnpack(swigCPtr, this, prefix, saveDir, urlPath, cleanFiles);
  }

  public boolean AspUnpack2(String prefix, String saveDir, String urlPath, boolean cleanFiles, CkByteData outHtml) {
    return chilkatJNI.CkEmail_AspUnpack2(swigCPtr, this, prefix, saveDir, urlPath, cleanFiles, CkByteData.getCPtr(outHtml), outHtml);
  }

  public boolean AttachEmail(CkEmail email) {
    return chilkatJNI.CkEmail_AttachEmail(swigCPtr, this, CkEmail.getCPtr(email), email);
  }

  public boolean AttachMessage(CkByteData mimeBytes) {
    return chilkatJNI.CkEmail_AttachMessage(swigCPtr, this, CkByteData.getCPtr(mimeBytes), mimeBytes);
  }

  public boolean BEncodeBytes(CkByteData inData, String charset, CkString outEncodedStr) {
    return chilkatJNI.CkEmail_BEncodeBytes(swigCPtr, this, CkByteData.getCPtr(inData), inData, charset, CkString.getCPtr(outEncodedStr), outEncodedStr);
  }

  public String bEncodeBytes(CkByteData inData, String charset) {
    return chilkatJNI.CkEmail_bEncodeBytes(swigCPtr, this, CkByteData.getCPtr(inData), inData, charset);
  }

  public boolean BEncodeString(String str, String charset, CkString outEncodedStr) {
    return chilkatJNI.CkEmail_BEncodeString(swigCPtr, this, str, charset, CkString.getCPtr(outEncodedStr), outEncodedStr);
  }

  public String bEncodeString(String str, String charset) {
    return chilkatJNI.CkEmail_bEncodeString(swigCPtr, this, str, charset);
  }

  public void Clear() {
    chilkatJNI.CkEmail_Clear(swigCPtr, this);
  }

  public void ClearBcc() {
    chilkatJNI.CkEmail_ClearBcc(swigCPtr, this);
  }

  public void ClearCC() {
    chilkatJNI.CkEmail_ClearCC(swigCPtr, this);
  }

  public void ClearEncryptCerts() {
    chilkatJNI.CkEmail_ClearEncryptCerts(swigCPtr, this);
  }

  public void ClearTo() {
    chilkatJNI.CkEmail_ClearTo(swigCPtr, this);
  }

  public CkEmail Clone() {
    long cPtr = chilkatJNI.CkEmail_Clone(swigCPtr, this);
    return (cPtr == 0) ? null : new CkEmail(cPtr, true);
  }

  public boolean ComputeGlobalKey2(String encoding, boolean bFold, CkString outStr) {
    return chilkatJNI.CkEmail_ComputeGlobalKey2(swigCPtr, this, encoding, bFold, CkString.getCPtr(outStr), outStr);
  }

  public String computeGlobalKey2(String encoding, boolean bFold) {
    return chilkatJNI.CkEmail_computeGlobalKey2(swigCPtr, this, encoding, bFold);
  }

  public boolean ConvertInlineImages() {
    return chilkatJNI.CkEmail_ConvertInlineImages(swigCPtr, this);
  }

  public CkEmail CreateDsn(String humanReadableMessage, String xmlStatusFields, boolean bHeaderOnly) {
    long cPtr = chilkatJNI.CkEmail_CreateDsn(swigCPtr, this, humanReadableMessage, xmlStatusFields, bHeaderOnly);
    return (cPtr == 0) ? null : new CkEmail(cPtr, true);
  }

  public CkEmail CreateForward() {
    long cPtr = chilkatJNI.CkEmail_CreateForward(swigCPtr, this);
    return (cPtr == 0) ? null : new CkEmail(cPtr, true);
  }

  public CkEmail CreateMdn(String humanReadableMessage, String xmlStatusFields, boolean bHeaderOnly) {
    long cPtr = chilkatJNI.CkEmail_CreateMdn(swigCPtr, this, humanReadableMessage, xmlStatusFields, bHeaderOnly);
    return (cPtr == 0) ? null : new CkEmail(cPtr, true);
  }

  public CkEmail CreateReply() {
    long cPtr = chilkatJNI.CkEmail_CreateReply(swigCPtr, this);
    return (cPtr == 0) ? null : new CkEmail(cPtr, true);
  }

  public boolean CreateTempMht(String inFilename, CkString outPath) {
    return chilkatJNI.CkEmail_CreateTempMht(swigCPtr, this, inFilename, CkString.getCPtr(outPath), outPath);
  }

  public String createTempMht(String inFilename) {
    return chilkatJNI.CkEmail_createTempMht(swigCPtr, this, inFilename);
  }

  public void DropAttachments() {
    chilkatJNI.CkEmail_DropAttachments(swigCPtr, this);
  }

  public void DropRelatedItem(int index) {
    chilkatJNI.CkEmail_DropRelatedItem(swigCPtr, this, index);
  }

  public void DropRelatedItems() {
    chilkatJNI.CkEmail_DropRelatedItems(swigCPtr, this);
  }

  public boolean DropSingleAttachment(int index) {
    return chilkatJNI.CkEmail_DropSingleAttachment(swigCPtr, this, index);
  }

  public CkCert FindIssuer(CkCert cert) {
    long cPtr = chilkatJNI.CkEmail_FindIssuer(swigCPtr, this, CkCert.getCPtr(cert), cert);
    return (cPtr == 0) ? null : new CkCert(cPtr, true);
  }

  public boolean GenerateFilename(CkString outStrFilename) {
    return chilkatJNI.CkEmail_GenerateFilename(swigCPtr, this, CkString.getCPtr(outStrFilename), outStrFilename);
  }

  public String generateFilename() {
    return chilkatJNI.CkEmail_generateFilename(swigCPtr, this);
  }

  public boolean GetAlternativeBody(int index, CkString outStrBody) {
    return chilkatJNI.CkEmail_GetAlternativeBody(swigCPtr, this, index, CkString.getCPtr(outStrBody), outStrBody);
  }

  public String getAlternativeBody(int index) {
    return chilkatJNI.CkEmail_getAlternativeBody(swigCPtr, this, index);
  }

  public String alternativeBody(int index) {
    return chilkatJNI.CkEmail_alternativeBody(swigCPtr, this, index);
  }

  public boolean GetAlternativeBodyBd(int index, CkBinData binData) {
    return chilkatJNI.CkEmail_GetAlternativeBodyBd(swigCPtr, this, index, CkBinData.getCPtr(binData), binData);
  }

  public boolean GetAlternativeBodyByContentType(String contentType, CkString outStr) {
    return chilkatJNI.CkEmail_GetAlternativeBodyByContentType(swigCPtr, this, contentType, CkString.getCPtr(outStr), outStr);
  }

  public String getAlternativeBodyByContentType(String contentType) {
    return chilkatJNI.CkEmail_getAlternativeBodyByContentType(swigCPtr, this, contentType);
  }

  public String alternativeBodyByContentType(String contentType) {
    return chilkatJNI.CkEmail_alternativeBodyByContentType(swigCPtr, this, contentType);
  }

  public boolean GetAlternativeContentType(int index, CkString outStrContentType) {
    return chilkatJNI.CkEmail_GetAlternativeContentType(swigCPtr, this, index, CkString.getCPtr(outStrContentType), outStrContentType);
  }

  public String getAlternativeContentType(int index) {
    return chilkatJNI.CkEmail_getAlternativeContentType(swigCPtr, this, index);
  }

  public String alternativeContentType(int index) {
    return chilkatJNI.CkEmail_alternativeContentType(swigCPtr, this, index);
  }

  public boolean GetAltHeaderField(int index, String fieldName, CkString outStr) {
    return chilkatJNI.CkEmail_GetAltHeaderField(swigCPtr, this, index, fieldName, CkString.getCPtr(outStr), outStr);
  }

  public String getAltHeaderField(int index, String fieldName) {
    return chilkatJNI.CkEmail_getAltHeaderField(swigCPtr, this, index, fieldName);
  }

  public String altHeaderField(int index, String fieldName) {
    return chilkatJNI.CkEmail_altHeaderField(swigCPtr, this, index, fieldName);
  }

  public boolean GetAttachedEmail(int index, CkEmail email) {
    return chilkatJNI.CkEmail_GetAttachedEmail(swigCPtr, this, index, CkEmail.getCPtr(email), email);
  }

  public CkEmail GetAttachedMessage(int index) {
    long cPtr = chilkatJNI.CkEmail_GetAttachedMessage(swigCPtr, this, index);
    return (cPtr == 0) ? null : new CkEmail(cPtr, true);
  }

  public boolean GetAttachedMessageAttr(int index, String fieldName, String attrName, CkString outStr) {
    return chilkatJNI.CkEmail_GetAttachedMessageAttr(swigCPtr, this, index, fieldName, attrName, CkString.getCPtr(outStr), outStr);
  }

  public String getAttachedMessageAttr(int index, String fieldName, String attrName) {
    return chilkatJNI.CkEmail_getAttachedMessageAttr(swigCPtr, this, index, fieldName, attrName);
  }

  public String attachedMessageAttr(int index, String fieldName, String attrName) {
    return chilkatJNI.CkEmail_attachedMessageAttr(swigCPtr, this, index, fieldName, attrName);
  }

  public boolean GetAttachedMessageFilename(int index, CkString outStr) {
    return chilkatJNI.CkEmail_GetAttachedMessageFilename(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getAttachedMessageFilename(int index) {
    return chilkatJNI.CkEmail_getAttachedMessageFilename(swigCPtr, this, index);
  }

  public String attachedMessageFilename(int index) {
    return chilkatJNI.CkEmail_attachedMessageFilename(swigCPtr, this, index);
  }

  public boolean GetAttachmentAttr(int index, String fieldName, String attrName, CkString outStr) {
    return chilkatJNI.CkEmail_GetAttachmentAttr(swigCPtr, this, index, fieldName, attrName, CkString.getCPtr(outStr), outStr);
  }

  public String getAttachmentAttr(int index, String fieldName, String attrName) {
    return chilkatJNI.CkEmail_getAttachmentAttr(swigCPtr, this, index, fieldName, attrName);
  }

  public String attachmentAttr(int index, String fieldName, String attrName) {
    return chilkatJNI.CkEmail_attachmentAttr(swigCPtr, this, index, fieldName, attrName);
  }

  public boolean GetAttachmentBd(int index, CkBinData binData) {
    return chilkatJNI.CkEmail_GetAttachmentBd(swigCPtr, this, index, CkBinData.getCPtr(binData), binData);
  }

  public boolean GetAttachmentContentID(int index, CkString outStrContentID) {
    return chilkatJNI.CkEmail_GetAttachmentContentID(swigCPtr, this, index, CkString.getCPtr(outStrContentID), outStrContentID);
  }

  public String getAttachmentContentID(int index) {
    return chilkatJNI.CkEmail_getAttachmentContentID(swigCPtr, this, index);
  }

  public String attachmentContentID(int index) {
    return chilkatJNI.CkEmail_attachmentContentID(swigCPtr, this, index);
  }

  public boolean GetAttachmentContentType(int index, CkString outStrContentType) {
    return chilkatJNI.CkEmail_GetAttachmentContentType(swigCPtr, this, index, CkString.getCPtr(outStrContentType), outStrContentType);
  }

  public String getAttachmentContentType(int index) {
    return chilkatJNI.CkEmail_getAttachmentContentType(swigCPtr, this, index);
  }

  public String attachmentContentType(int index) {
    return chilkatJNI.CkEmail_attachmentContentType(swigCPtr, this, index);
  }

  public boolean GetAttachmentData(int index, CkByteData outData) {
    return chilkatJNI.CkEmail_GetAttachmentData(swigCPtr, this, index, CkByteData.getCPtr(outData), outData);
  }

  public boolean GetAttachmentFilename(int index, CkString outStrFilename) {
    return chilkatJNI.CkEmail_GetAttachmentFilename(swigCPtr, this, index, CkString.getCPtr(outStrFilename), outStrFilename);
  }

  public String getAttachmentFilename(int index) {
    return chilkatJNI.CkEmail_getAttachmentFilename(swigCPtr, this, index);
  }

  public String attachmentFilename(int index) {
    return chilkatJNI.CkEmail_attachmentFilename(swigCPtr, this, index);
  }

  public boolean GetAttachmentHeader(int attachIndex, String fieldName, CkString outFieldValue) {
    return chilkatJNI.CkEmail_GetAttachmentHeader(swigCPtr, this, attachIndex, fieldName, CkString.getCPtr(outFieldValue), outFieldValue);
  }

  public String getAttachmentHeader(int attachIndex, String fieldName) {
    return chilkatJNI.CkEmail_getAttachmentHeader(swigCPtr, this, attachIndex, fieldName);
  }

  public String attachmentHeader(int attachIndex, String fieldName) {
    return chilkatJNI.CkEmail_attachmentHeader(swigCPtr, this, attachIndex, fieldName);
  }

  public int GetAttachmentSize(int index) {
    return chilkatJNI.CkEmail_GetAttachmentSize(swigCPtr, this, index);
  }

  public boolean GetAttachmentString(int index, String charset, CkString outStr) {
    return chilkatJNI.CkEmail_GetAttachmentString(swigCPtr, this, index, charset, CkString.getCPtr(outStr), outStr);
  }

  public String getAttachmentString(int index, String charset) {
    return chilkatJNI.CkEmail_getAttachmentString(swigCPtr, this, index, charset);
  }

  public String attachmentString(int index, String charset) {
    return chilkatJNI.CkEmail_attachmentString(swigCPtr, this, index, charset);
  }

  public boolean GetAttachmentStringCrLf(int index, String charset, CkString outStrData) {
    return chilkatJNI.CkEmail_GetAttachmentStringCrLf(swigCPtr, this, index, charset, CkString.getCPtr(outStrData), outStrData);
  }

  public String getAttachmentStringCrLf(int index, String charset) {
    return chilkatJNI.CkEmail_getAttachmentStringCrLf(swigCPtr, this, index, charset);
  }

  public String attachmentStringCrLf(int index, String charset) {
    return chilkatJNI.CkEmail_attachmentStringCrLf(swigCPtr, this, index, charset);
  }

  public boolean GetBcc(int index, CkString outStr) {
    return chilkatJNI.CkEmail_GetBcc(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getBcc(int index) {
    return chilkatJNI.CkEmail_getBcc(swigCPtr, this, index);
  }

  public String bcc(int index) {
    return chilkatJNI.CkEmail_bcc(swigCPtr, this, index);
  }

  public boolean GetBccAddr(int index, CkString outStr) {
    return chilkatJNI.CkEmail_GetBccAddr(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getBccAddr(int index) {
    return chilkatJNI.CkEmail_getBccAddr(swigCPtr, this, index);
  }

  public String bccAddr(int index) {
    return chilkatJNI.CkEmail_bccAddr(swigCPtr, this, index);
  }

  public boolean GetBccName(int index, CkString outStr) {
    return chilkatJNI.CkEmail_GetBccName(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getBccName(int index) {
    return chilkatJNI.CkEmail_getBccName(swigCPtr, this, index);
  }

  public String bccName(int index) {
    return chilkatJNI.CkEmail_bccName(swigCPtr, this, index);
  }

  public boolean GetCC(int index, CkString outStr) {
    return chilkatJNI.CkEmail_GetCC(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getCC(int index) {
    return chilkatJNI.CkEmail_getCC(swigCPtr, this, index);
  }

  public String cC(int index) {
    return chilkatJNI.CkEmail_cC(swigCPtr, this, index);
  }

  public boolean GetCcAddr(int index, CkString outStr) {
    return chilkatJNI.CkEmail_GetCcAddr(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getCcAddr(int index) {
    return chilkatJNI.CkEmail_getCcAddr(swigCPtr, this, index);
  }

  public String ccAddr(int index) {
    return chilkatJNI.CkEmail_ccAddr(swigCPtr, this, index);
  }

  public boolean GetCcName(int index, CkString outStr) {
    return chilkatJNI.CkEmail_GetCcName(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getCcName(int index) {
    return chilkatJNI.CkEmail_getCcName(swigCPtr, this, index);
  }

  public String ccName(int index) {
    return chilkatJNI.CkEmail_ccName(swigCPtr, this, index);
  }

  public boolean GetDeliveryStatusInfo(String fieldName, CkString outFieldValue) {
    return chilkatJNI.CkEmail_GetDeliveryStatusInfo(swigCPtr, this, fieldName, CkString.getCPtr(outFieldValue), outFieldValue);
  }

  public String getDeliveryStatusInfo(String fieldName) {
    return chilkatJNI.CkEmail_getDeliveryStatusInfo(swigCPtr, this, fieldName);
  }

  public String deliveryStatusInfo(String fieldName) {
    return chilkatJNI.CkEmail_deliveryStatusInfo(swigCPtr, this, fieldName);
  }

  public CkEmail GetDigest(int index) {
    long cPtr = chilkatJNI.CkEmail_GetDigest(swigCPtr, this, index);
    return (cPtr == 0) ? null : new CkEmail(cPtr, true);
  }

  public boolean GetDigestEmail(int index, CkEmail email) {
    return chilkatJNI.CkEmail_GetDigestEmail(swigCPtr, this, index, CkEmail.getCPtr(email), email);
  }

  public CkStringArray GetDsnFinalRecipients() {
    long cPtr = chilkatJNI.CkEmail_GetDsnFinalRecipients(swigCPtr, this);
    return (cPtr == 0) ? null : new CkStringArray(cPtr, true);
  }

  public boolean GetDsnInfo(CkJsonObject json) {
    return chilkatJNI.CkEmail_GetDsnInfo(swigCPtr, this, CkJsonObject.getCPtr(json), json);
  }

  public CkDateTime GetDt() {
    long cPtr = chilkatJNI.CkEmail_GetDt(swigCPtr, this);
    return (cPtr == 0) ? null : new CkDateTime(cPtr, true);
  }

  public CkCert GetEncryptCert() {
    long cPtr = chilkatJNI.CkEmail_GetEncryptCert(swigCPtr, this);
    return (cPtr == 0) ? null : new CkCert(cPtr, true);
  }

  public CkCert GetEncryptedByCert() {
    long cPtr = chilkatJNI.CkEmail_GetEncryptedByCert(swigCPtr, this);
    return (cPtr == 0) ? null : new CkCert(cPtr, true);
  }

  public boolean GetFileContent(String path, CkByteData outData) {
    return chilkatJNI.CkEmail_GetFileContent(swigCPtr, this, path, CkByteData.getCPtr(outData), outData);
  }

  public boolean GetHeaderField(String fieldName, CkString outStrFieldData) {
    return chilkatJNI.CkEmail_GetHeaderField(swigCPtr, this, fieldName, CkString.getCPtr(outStrFieldData), outStrFieldData);
  }

  public String getHeaderField(String fieldName) {
    return chilkatJNI.CkEmail_getHeaderField(swigCPtr, this, fieldName);
  }

  public String headerField(String fieldName) {
    return chilkatJNI.CkEmail_headerField(swigCPtr, this, fieldName);
  }

  public boolean GetHeaderFieldName(int index, CkString outStrFieldName) {
    return chilkatJNI.CkEmail_GetHeaderFieldName(swigCPtr, this, index, CkString.getCPtr(outStrFieldName), outStrFieldName);
  }

  public String getHeaderFieldName(int index) {
    return chilkatJNI.CkEmail_getHeaderFieldName(swigCPtr, this, index);
  }

  public String headerFieldName(int index) {
    return chilkatJNI.CkEmail_headerFieldName(swigCPtr, this, index);
  }

  public boolean GetHeaderFieldValue(int index, CkString outStrFieldValue) {
    return chilkatJNI.CkEmail_GetHeaderFieldValue(swigCPtr, this, index, CkString.getCPtr(outStrFieldValue), outStrFieldValue);
  }

  public String getHeaderFieldValue(int index) {
    return chilkatJNI.CkEmail_getHeaderFieldValue(swigCPtr, this, index);
  }

  public String headerFieldValue(int index) {
    return chilkatJNI.CkEmail_headerFieldValue(swigCPtr, this, index);
  }

  public boolean GetHtmlBody(CkString outStrBody) {
    return chilkatJNI.CkEmail_GetHtmlBody(swigCPtr, this, CkString.getCPtr(outStrBody), outStrBody);
  }

  public String getHtmlBody() {
    return chilkatJNI.CkEmail_getHtmlBody(swigCPtr, this);
  }

  public String htmlBody() {
    return chilkatJNI.CkEmail_htmlBody(swigCPtr, this);
  }

  public boolean GetHtmlBodySb(boolean inlineImageData, CkStringBuilder sb) {
    return chilkatJNI.CkEmail_GetHtmlBodySb(swigCPtr, this, inlineImageData, CkStringBuilder.getCPtr(sb), sb);
  }

  public long GetImapUid() {
    return chilkatJNI.CkEmail_GetImapUid(swigCPtr, this);
  }

  public CkStringArray GetLinkedDomains() {
    long cPtr = chilkatJNI.CkEmail_GetLinkedDomains(swigCPtr, this);
    return (cPtr == 0) ? null : new CkStringArray(cPtr, true);
  }

  public boolean GetMime(CkString outStrMime) {
    return chilkatJNI.CkEmail_GetMime(swigCPtr, this, CkString.getCPtr(outStrMime), outStrMime);
  }

  public String getMime() {
    return chilkatJNI.CkEmail_getMime(swigCPtr, this);
  }

  public String mime() {
    return chilkatJNI.CkEmail_mime(swigCPtr, this);
  }

  public boolean GetMimeBd(CkBinData bindat) {
    return chilkatJNI.CkEmail_GetMimeBd(swigCPtr, this, CkBinData.getCPtr(bindat), bindat);
  }

  public boolean GetMimeBinary(CkByteData outBytes) {
    return chilkatJNI.CkEmail_GetMimeBinary(swigCPtr, this, CkByteData.getCPtr(outBytes), outBytes);
  }

  public boolean GetMimeSb(CkStringBuilder sb) {
    return chilkatJNI.CkEmail_GetMimeSb(swigCPtr, this, CkStringBuilder.getCPtr(sb), sb);
  }

  public boolean GetNthBinaryPartOfType(int index, String contentType, boolean inlineOnly, boolean excludeAttachments, CkByteData outBytes) {
    return chilkatJNI.CkEmail_GetNthBinaryPartOfType(swigCPtr, this, index, contentType, inlineOnly, excludeAttachments, CkByteData.getCPtr(outBytes), outBytes);
  }

  public boolean GetNthBinaryPartOfTypeBd(int index, String contentType, boolean inlineOnly, boolean excludeAttachments, CkBinData bd) {
    return chilkatJNI.CkEmail_GetNthBinaryPartOfTypeBd(swigCPtr, this, index, contentType, inlineOnly, excludeAttachments, CkBinData.getCPtr(bd), bd);
  }

  public boolean GetNthContentType(int index, String contentType, boolean inlineOnly, boolean excludeAttachments, CkString outStr) {
    return chilkatJNI.CkEmail_GetNthContentType(swigCPtr, this, index, contentType, inlineOnly, excludeAttachments, CkString.getCPtr(outStr), outStr);
  }

  public String getNthContentType(int index, String contentType, boolean inlineOnly, boolean excludeAttachments) {
    return chilkatJNI.CkEmail_getNthContentType(swigCPtr, this, index, contentType, inlineOnly, excludeAttachments);
  }

  public String nthContentType(int index, String contentType, boolean inlineOnly, boolean excludeAttachments) {
    return chilkatJNI.CkEmail_nthContentType(swigCPtr, this, index, contentType, inlineOnly, excludeAttachments);
  }

  public boolean GetNthTextPartOfType(int index, String contentType, boolean inlineOnly, boolean excludeAttachments, CkString outStr) {
    return chilkatJNI.CkEmail_GetNthTextPartOfType(swigCPtr, this, index, contentType, inlineOnly, excludeAttachments, CkString.getCPtr(outStr), outStr);
  }

  public String getNthTextPartOfType(int index, String contentType, boolean inlineOnly, boolean excludeAttachments) {
    return chilkatJNI.CkEmail_getNthTextPartOfType(swigCPtr, this, index, contentType, inlineOnly, excludeAttachments);
  }

  public String nthTextPartOfType(int index, String contentType, boolean inlineOnly, boolean excludeAttachments) {
    return chilkatJNI.CkEmail_nthTextPartOfType(swigCPtr, this, index, contentType, inlineOnly, excludeAttachments);
  }

  public int GetNumPartsOfType(String contentType, boolean inlineOnly, boolean excludeAttachments) {
    return chilkatJNI.CkEmail_GetNumPartsOfType(swigCPtr, this, contentType, inlineOnly, excludeAttachments);
  }

  public boolean GetPlainTextBody(CkString outStrBody) {
    return chilkatJNI.CkEmail_GetPlainTextBody(swigCPtr, this, CkString.getCPtr(outStrBody), outStrBody);
  }

  public String getPlainTextBody() {
    return chilkatJNI.CkEmail_getPlainTextBody(swigCPtr, this);
  }

  public String plainTextBody() {
    return chilkatJNI.CkEmail_plainTextBody(swigCPtr, this);
  }

  public boolean GetRelatedAttr(int index, String fieldName, String attrName, CkString outStr) {
    return chilkatJNI.CkEmail_GetRelatedAttr(swigCPtr, this, index, fieldName, attrName, CkString.getCPtr(outStr), outStr);
  }

  public String getRelatedAttr(int index, String fieldName, String attrName) {
    return chilkatJNI.CkEmail_getRelatedAttr(swigCPtr, this, index, fieldName, attrName);
  }

  public String relatedAttr(int index, String fieldName, String attrName) {
    return chilkatJNI.CkEmail_relatedAttr(swigCPtr, this, index, fieldName, attrName);
  }

  public boolean GetRelatedContentID(int index, CkString outStrContentID) {
    return chilkatJNI.CkEmail_GetRelatedContentID(swigCPtr, this, index, CkString.getCPtr(outStrContentID), outStrContentID);
  }

  public String getRelatedContentID(int index) {
    return chilkatJNI.CkEmail_getRelatedContentID(swigCPtr, this, index);
  }

  public String relatedContentID(int index) {
    return chilkatJNI.CkEmail_relatedContentID(swigCPtr, this, index);
  }

  public boolean GetRelatedContentLocation(int index, CkString outStr) {
    return chilkatJNI.CkEmail_GetRelatedContentLocation(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getRelatedContentLocation(int index) {
    return chilkatJNI.CkEmail_getRelatedContentLocation(swigCPtr, this, index);
  }

  public String relatedContentLocation(int index) {
    return chilkatJNI.CkEmail_relatedContentLocation(swigCPtr, this, index);
  }

  public boolean GetRelatedContentType(int index, CkString outStrContentType) {
    return chilkatJNI.CkEmail_GetRelatedContentType(swigCPtr, this, index, CkString.getCPtr(outStrContentType), outStrContentType);
  }

  public String getRelatedContentType(int index) {
    return chilkatJNI.CkEmail_getRelatedContentType(swigCPtr, this, index);
  }

  public String relatedContentType(int index) {
    return chilkatJNI.CkEmail_relatedContentType(swigCPtr, this, index);
  }

  public boolean GetRelatedData(int index, CkByteData outBuffer) {
    return chilkatJNI.CkEmail_GetRelatedData(swigCPtr, this, index, CkByteData.getCPtr(outBuffer), outBuffer);
  }

  public boolean GetRelatedFilename(int index, CkString outStrFilename) {
    return chilkatJNI.CkEmail_GetRelatedFilename(swigCPtr, this, index, CkString.getCPtr(outStrFilename), outStrFilename);
  }

  public String getRelatedFilename(int index) {
    return chilkatJNI.CkEmail_getRelatedFilename(swigCPtr, this, index);
  }

  public String relatedFilename(int index) {
    return chilkatJNI.CkEmail_relatedFilename(swigCPtr, this, index);
  }

  public boolean GetRelatedHeader(int index, String fieldName, CkString outStr) {
    return chilkatJNI.CkEmail_GetRelatedHeader(swigCPtr, this, index, fieldName, CkString.getCPtr(outStr), outStr);
  }

  public String getRelatedHeader(int index, String fieldName) {
    return chilkatJNI.CkEmail_getRelatedHeader(swigCPtr, this, index, fieldName);
  }

  public String relatedHeader(int index, String fieldName) {
    return chilkatJNI.CkEmail_relatedHeader(swigCPtr, this, index, fieldName);
  }

  public boolean GetRelatedString(int index, String charset, CkString outStrData) {
    return chilkatJNI.CkEmail_GetRelatedString(swigCPtr, this, index, charset, CkString.getCPtr(outStrData), outStrData);
  }

  public String getRelatedString(int index, String charset) {
    return chilkatJNI.CkEmail_getRelatedString(swigCPtr, this, index, charset);
  }

  public String relatedString(int index, String charset) {
    return chilkatJNI.CkEmail_relatedString(swigCPtr, this, index, charset);
  }

  public boolean GetRelatedStringCrLf(int index, String charset, CkString outStr) {
    return chilkatJNI.CkEmail_GetRelatedStringCrLf(swigCPtr, this, index, charset, CkString.getCPtr(outStr), outStr);
  }

  public String getRelatedStringCrLf(int index, String charset) {
    return chilkatJNI.CkEmail_getRelatedStringCrLf(swigCPtr, this, index, charset);
  }

  public String relatedStringCrLf(int index, String charset) {
    return chilkatJNI.CkEmail_relatedStringCrLf(swigCPtr, this, index, charset);
  }

  public boolean GetReplacePattern(int index, CkString outStrPattern) {
    return chilkatJNI.CkEmail_GetReplacePattern(swigCPtr, this, index, CkString.getCPtr(outStrPattern), outStrPattern);
  }

  public String getReplacePattern(int index) {
    return chilkatJNI.CkEmail_getReplacePattern(swigCPtr, this, index);
  }

  public String replacePattern(int index) {
    return chilkatJNI.CkEmail_replacePattern(swigCPtr, this, index);
  }

  public boolean GetReplaceString(int index, CkString outStr) {
    return chilkatJNI.CkEmail_GetReplaceString(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getReplaceString(int index) {
    return chilkatJNI.CkEmail_getReplaceString(swigCPtr, this, index);
  }

  public String replaceString(int index) {
    return chilkatJNI.CkEmail_replaceString(swigCPtr, this, index);
  }

  public boolean GetReplaceString2(String pattern, CkString outStr) {
    return chilkatJNI.CkEmail_GetReplaceString2(swigCPtr, this, pattern, CkString.getCPtr(outStr), outStr);
  }

  public String getReplaceString2(String pattern) {
    return chilkatJNI.CkEmail_getReplaceString2(swigCPtr, this, pattern);
  }

  public String replaceString2(String pattern) {
    return chilkatJNI.CkEmail_replaceString2(swigCPtr, this, pattern);
  }

  public boolean GetReport(int index, CkString outStr) {
    return chilkatJNI.CkEmail_GetReport(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getReport(int index) {
    return chilkatJNI.CkEmail_getReport(swigCPtr, this, index);
  }

  public String report(int index) {
    return chilkatJNI.CkEmail_report(swigCPtr, this, index);
  }

  public CkCert GetSignedByCert() {
    long cPtr = chilkatJNI.CkEmail_GetSignedByCert(swigCPtr, this);
    return (cPtr == 0) ? null : new CkCert(cPtr, true);
  }

  public CkCertChain GetSignedByCertChain() {
    long cPtr = chilkatJNI.CkEmail_GetSignedByCertChain(swigCPtr, this);
    return (cPtr == 0) ? null : new CkCertChain(cPtr, true);
  }

  public CkCert GetSigningCert() {
    long cPtr = chilkatJNI.CkEmail_GetSigningCert(swigCPtr, this);
    return (cPtr == 0) ? null : new CkCert(cPtr, true);
  }

  public boolean GetTo(int index, CkString outStr) {
    return chilkatJNI.CkEmail_GetTo(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getTo(int index) {
    return chilkatJNI.CkEmail_getTo(swigCPtr, this, index);
  }

  public String to(int index) {
    return chilkatJNI.CkEmail_to(swigCPtr, this, index);
  }

  public boolean GetToAddr(int index, CkString outStr) {
    return chilkatJNI.CkEmail_GetToAddr(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getToAddr(int index) {
    return chilkatJNI.CkEmail_getToAddr(swigCPtr, this, index);
  }

  public String toAddr(int index) {
    return chilkatJNI.CkEmail_toAddr(swigCPtr, this, index);
  }

  public boolean GetToName(int index, CkString outStr) {
    return chilkatJNI.CkEmail_GetToName(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getToName(int index) {
    return chilkatJNI.CkEmail_getToName(swigCPtr, this, index);
  }

  public String toName(int index) {
    return chilkatJNI.CkEmail_toName(swigCPtr, this, index);
  }

  public boolean GetXml(CkString outStrXml) {
    return chilkatJNI.CkEmail_GetXml(swigCPtr, this, CkString.getCPtr(outStrXml), outStrXml);
  }

  public String getXml() {
    return chilkatJNI.CkEmail_getXml(swigCPtr, this);
  }

  public String xml() {
    return chilkatJNI.CkEmail_xml(swigCPtr, this);
  }

  public boolean HasHeaderMatching(String fieldName, String valuePattern, boolean caseSensitive) {
    return chilkatJNI.CkEmail_HasHeaderMatching(swigCPtr, this, fieldName, valuePattern, caseSensitive);
  }

  public boolean HasHtmlBody() {
    return chilkatJNI.CkEmail_HasHtmlBody(swigCPtr, this);
  }

  public boolean HasPlainTextBody() {
    return chilkatJNI.CkEmail_HasPlainTextBody(swigCPtr, this);
  }

  public boolean IsMultipartReport() {
    return chilkatJNI.CkEmail_IsMultipartReport(swigCPtr, this);
  }

  public boolean LastDecryptCert(CkCert cert) {
    return chilkatJNI.CkEmail_LastDecryptCert(swigCPtr, this, CkCert.getCPtr(cert), cert);
  }

  public boolean LastSignerCert(int index, CkCert cert) {
    return chilkatJNI.CkEmail_LastSignerCert(swigCPtr, this, index, CkCert.getCPtr(cert), cert);
  }

  public boolean LinkedDomains(CkStringTable domains) {
    return chilkatJNI.CkEmail_LinkedDomains(swigCPtr, this, CkStringTable.getCPtr(domains), domains);
  }

  public boolean LoadEml(String mimePath) {
    return chilkatJNI.CkEmail_LoadEml(swigCPtr, this, mimePath);
  }

  public boolean LoadTaskResult(CkTask task) {
    return chilkatJNI.CkEmail_LoadTaskResult(swigCPtr, this, CkTask.getCPtr(task), task);
  }

  public boolean LoadXml(String xmlPath) {
    return chilkatJNI.CkEmail_LoadXml(swigCPtr, this, xmlPath);
  }

  public boolean LoadXmlString(String xmlStr) {
    return chilkatJNI.CkEmail_LoadXmlString(swigCPtr, this, xmlStr);
  }

  public boolean MakeCopy(CkEmail destEmail) {
    return chilkatJNI.CkEmail_MakeCopy(swigCPtr, this, CkEmail.getCPtr(destEmail), destEmail);
  }

  public boolean QEncodeBytes(CkByteData inData, String charset, CkString outEncodedStr) {
    return chilkatJNI.CkEmail_QEncodeBytes(swigCPtr, this, CkByteData.getCPtr(inData), inData, charset, CkString.getCPtr(outEncodedStr), outEncodedStr);
  }

  public String qEncodeBytes(CkByteData inData, String charset) {
    return chilkatJNI.CkEmail_qEncodeBytes(swigCPtr, this, CkByteData.getCPtr(inData), inData, charset);
  }

  public boolean QEncodeString(String str, String charset, CkString outEncodedStr) {
    return chilkatJNI.CkEmail_QEncodeString(swigCPtr, this, str, charset, CkString.getCPtr(outEncodedStr), outEncodedStr);
  }

  public String qEncodeString(String str, String charset) {
    return chilkatJNI.CkEmail_qEncodeString(swigCPtr, this, str, charset);
  }

  public void RemoveAttachedMessage(int idx) {
    chilkatJNI.CkEmail_RemoveAttachedMessage(swigCPtr, this, idx);
  }

  public void RemoveAttachedMessages() {
    chilkatJNI.CkEmail_RemoveAttachedMessages(swigCPtr, this);
  }

  public void RemoveAttachmentPaths() {
    chilkatJNI.CkEmail_RemoveAttachmentPaths(swigCPtr, this);
  }

  public void RemoveHeaderField(String fieldName) {
    chilkatJNI.CkEmail_RemoveHeaderField(swigCPtr, this, fieldName);
  }

  public void RemoveHtmlAlternative() {
    chilkatJNI.CkEmail_RemoveHtmlAlternative(swigCPtr, this);
  }

  public void RemovePlainTextAlternative() {
    chilkatJNI.CkEmail_RemovePlainTextAlternative(swigCPtr, this);
  }

  public boolean SaveAllAttachments(String dirPath) {
    return chilkatJNI.CkEmail_SaveAllAttachments(swigCPtr, this, dirPath);
  }

  public boolean SaveAttachedFile(int index, String dirPath) {
    return chilkatJNI.CkEmail_SaveAttachedFile(swigCPtr, this, index, dirPath);
  }

  public boolean SaveEml(String emlFilePath) {
    return chilkatJNI.CkEmail_SaveEml(swigCPtr, this, emlFilePath);
  }

  public boolean SaveRelatedItem(int index, String dirPath) {
    return chilkatJNI.CkEmail_SaveRelatedItem(swigCPtr, this, index, dirPath);
  }

  public boolean SaveXml(String path) {
    return chilkatJNI.CkEmail_SaveXml(swigCPtr, this, path);
  }

  public boolean SetAttachmentCharset(int index, String charset) {
    return chilkatJNI.CkEmail_SetAttachmentCharset(swigCPtr, this, index, charset);
  }

  public boolean SetAttachmentDisposition(int index, String disposition) {
    return chilkatJNI.CkEmail_SetAttachmentDisposition(swigCPtr, this, index, disposition);
  }

  public boolean SetAttachmentFilename(int index, String filename) {
    return chilkatJNI.CkEmail_SetAttachmentFilename(swigCPtr, this, index, filename);
  }

  public boolean SetBinaryBody(CkByteData byteData, String contentType, String disposition, String filename) {
    return chilkatJNI.CkEmail_SetBinaryBody(swigCPtr, this, CkByteData.getCPtr(byteData), byteData, contentType, disposition, filename);
  }

  public boolean SetBodyBd(CkBinData bd, String contentType, String disposition, String filename) {
    return chilkatJNI.CkEmail_SetBodyBd(swigCPtr, this, CkBinData.getCPtr(bd), bd, contentType, disposition, filename);
  }

  public boolean SetDecryptCert(CkCert cert) {
    return chilkatJNI.CkEmail_SetDecryptCert(swigCPtr, this, CkCert.getCPtr(cert), cert);
  }

  public boolean SetDecryptCert2(CkCert cert, CkPrivateKey key) {
    return chilkatJNI.CkEmail_SetDecryptCert2(swigCPtr, this, CkCert.getCPtr(cert), cert, CkPrivateKey.getCPtr(key), key);
  }

  public boolean SetDt(CkDateTime dt) {
    return chilkatJNI.CkEmail_SetDt(swigCPtr, this, CkDateTime.getCPtr(dt), dt);
  }

  public void SetEdifactBody(String message, String name, String filename, String charset) {
    chilkatJNI.CkEmail_SetEdifactBody(swigCPtr, this, message, name, filename, charset);
  }

  public boolean SetEncryptCert(CkCert cert) {
    return chilkatJNI.CkEmail_SetEncryptCert(swigCPtr, this, CkCert.getCPtr(cert), cert);
  }

  public boolean SetFromMimeBd(CkBinData bindat) {
    return chilkatJNI.CkEmail_SetFromMimeBd(swigCPtr, this, CkBinData.getCPtr(bindat), bindat);
  }

  public boolean SetFromMimeBytes(CkByteData mimeBytes) {
    return chilkatJNI.CkEmail_SetFromMimeBytes(swigCPtr, this, CkByteData.getCPtr(mimeBytes), mimeBytes);
  }

  public boolean SetFromMimeBytes2(CkByteData mimeBytes, String charset) {
    return chilkatJNI.CkEmail_SetFromMimeBytes2(swigCPtr, this, CkByteData.getCPtr(mimeBytes), mimeBytes, charset);
  }

  public boolean SetFromMimeSb(CkStringBuilder sb) {
    return chilkatJNI.CkEmail_SetFromMimeSb(swigCPtr, this, CkStringBuilder.getCPtr(sb), sb);
  }

  public boolean SetFromMimeText(String mimeText) {
    return chilkatJNI.CkEmail_SetFromMimeText(swigCPtr, this, mimeText);
  }

  public boolean SetFromXmlText(String xmlStr) {
    return chilkatJNI.CkEmail_SetFromXmlText(swigCPtr, this, xmlStr);
  }

  public void SetHtmlBody(String html) {
    chilkatJNI.CkEmail_SetHtmlBody(swigCPtr, this, html);
  }

  public boolean SetMbHtmlBody(String charset, CkByteData inData) {
    return chilkatJNI.CkEmail_SetMbHtmlBody(swigCPtr, this, charset, CkByteData.getCPtr(inData), inData);
  }

  public boolean SetMbPlainTextBody(String charset, CkByteData inData) {
    return chilkatJNI.CkEmail_SetMbPlainTextBody(swigCPtr, this, charset, CkByteData.getCPtr(inData), inData);
  }

  public boolean SetRelatedFilename(int index, String path) {
    return chilkatJNI.CkEmail_SetRelatedFilename(swigCPtr, this, index, path);
  }

  public boolean SetReplacePattern(String pattern, String replaceString) {
    return chilkatJNI.CkEmail_SetReplacePattern(swigCPtr, this, pattern, replaceString);
  }

  public boolean SetSigningCert(CkCert cert) {
    return chilkatJNI.CkEmail_SetSigningCert(swigCPtr, this, CkCert.getCPtr(cert), cert);
  }

  public boolean SetSigningCert2(CkCert cert, CkPrivateKey key) {
    return chilkatJNI.CkEmail_SetSigningCert2(swigCPtr, this, CkCert.getCPtr(cert), cert, CkPrivateKey.getCPtr(key), key);
  }

  public void SetTextBody(String bodyText, String contentType) {
    chilkatJNI.CkEmail_SetTextBody(swigCPtr, this, bodyText, contentType);
  }

  public boolean ToDsn(String explanation, String statusFields, boolean headerOnly, CkEmail dsnEmail) {
    return chilkatJNI.CkEmail_ToDsn(swigCPtr, this, explanation, statusFields, headerOnly, CkEmail.getCPtr(dsnEmail), dsnEmail);
  }

  public boolean ToForward(CkEmail forward) {
    return chilkatJNI.CkEmail_ToForward(swigCPtr, this, CkEmail.getCPtr(forward), forward);
  }

  public boolean ToMdn(String message, String statusFields, boolean headerOnly, CkEmail mdn) {
    return chilkatJNI.CkEmail_ToMdn(swigCPtr, this, message, statusFields, headerOnly, CkEmail.getCPtr(mdn), mdn);
  }

  public boolean ToReply(CkEmail reply) {
    return chilkatJNI.CkEmail_ToReply(swigCPtr, this, CkEmail.getCPtr(reply), reply);
  }

  public boolean UidlEquals(CkEmail e) {
    return chilkatJNI.CkEmail_UidlEquals(swigCPtr, this, CkEmail.getCPtr(e), e);
  }

  public boolean UnpackHtml(String unpackDir, String htmlFilename, String partsSubdir) {
    return chilkatJNI.CkEmail_UnpackHtml(swigCPtr, this, unpackDir, htmlFilename, partsSubdir);
  }

  public void UnSpamify() {
    chilkatJNI.CkEmail_UnSpamify(swigCPtr, this);
  }

  public boolean UnzipAttachments() {
    return chilkatJNI.CkEmail_UnzipAttachments(swigCPtr, this);
  }

  public boolean UseCertVault(CkXmlCertVault vault) {
    return chilkatJNI.CkEmail_UseCertVault(swigCPtr, this, CkXmlCertVault.getCPtr(vault), vault);
  }

  public boolean ZipAttachments(String zipFilename) {
    return chilkatJNI.CkEmail_ZipAttachments(swigCPtr, this, zipFilename);
  }

}
