Sample code for 30+ languages & platforms
Unicode C++

Add Email Attachment from FTP

Downloads (into memory) a file from an FTP server and adds it as an attachment to an email.

Note: This example requires Chilkat v9.5.0.63 or later.

Chilkat Unicode C++ Downloads

Unicode C++
#include <CkFtp2W.h>
#include <CkBinDataW.h>
#include <CkEmailW.h>

void ChilkatSample(void)
    {
    bool success = false;

    //  Note: This example requires Chilkat v9.5.0.63 or later.

    //  This example assumes Chilkat Ftp2 to have been previously unlocked.
    //  See Unlock Ftp2 for sample code.

    CkFtp2W ftp;

    ftp.put_Hostname(L"www.my-ftp-server.com");
    ftp.put_Username(L"mFtpLogin");
    ftp.put_Password(L"myFtpPassword");

    //  Connect to the FTP server.
    success = ftp.ConnectOnly();
    if (success != true) {
        wprintf(L"%s\n",ftp.lastErrorText());
        return;
    }

    //  Authenticate with the FTP server.
    success = ftp.LoginAfterConnectOnly();
    if (success != true) {
        wprintf(L"%s\n",ftp.lastErrorText());
        return;
    }

    //  Move to the remove directory where our file is located.
    success = ftp.ChangeRemoteDir(L"qa_data");
    if (success == true) {
        success = ftp.ChangeRemoteDir(L"pdf");
    }

    if (success != true) {
        wprintf(L"%s\n",ftp.lastErrorText());
        return;
    }

    //  Download...
    CkBinDataW pdfData;
    success = ftp.GetFileBd(L"fishing.pdf",pdfData);
    if (success != true) {
        wprintf(L"%s\n",ftp.lastErrorText());
        return;
    }

    ftp.Disconnect();

    //  Create an email object, and add the PDF as an attachment.
    CkEmailW email;
    email.put_Subject(L"Test with PDF attachment.");
    email.put_Body(L"This is a plain-text body..");

    //  Add the PDF attachment.  (This method call requires Chilkat v9.5.0.63 or later)
    success = email.AddAttachmentBd(L"fishing.pdf",pdfData,L"application/pdf");
    if (success != true) {
        wprintf(L"%s\n",email.lastErrorText());
        return;
    }

    //  Save the email and examine with a text editor to see the PDF attachment is present..
    email.SaveEml(L"qa_output/out.eml");

    wprintf(L"Success.\n");
    }