Sample code for 30+ languages & platforms
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 C++ Downloads

C++
#include <CkFtp2.h>
#include <CkBinData.h>
#include <CkEmail.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.

    CkFtp2 ftp;

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

    //  Connect to the FTP server.
    success = ftp.ConnectOnly();
    if (success != true) {
        std::cout << ftp.lastErrorText() << "\r\n";
        return;
    }

    //  Authenticate with the FTP server.
    success = ftp.LoginAfterConnectOnly();
    if (success != true) {
        std::cout << ftp.lastErrorText() << "\r\n";
        return;
    }

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

    if (success != true) {
        std::cout << ftp.lastErrorText() << "\r\n";
        return;
    }

    //  Download...
    CkBinData pdfData;
    success = ftp.GetFileBd("fishing.pdf",pdfData);
    if (success != true) {
        std::cout << ftp.lastErrorText() << "\r\n";
        return;
    }

    ftp.Disconnect();

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

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

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

    std::cout << "Success." << "\r\n";
    }