Sample code for 30+ languages & platforms
Go

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 Go Downloads

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

    ftp := chilkat.NewFtp2()

    ftp.SetHostname("www.my-ftp-server.com")
    ftp.SetUsername("mFtpLogin")
    ftp.SetPassword("myFtpPassword")

    // Connect to the FTP server.
    success = ftp.ConnectOnly()
    if success != true {
        fmt.Println(ftp.LastErrorText())
        ftp.DisposeFtp2()
        return
    }

    // Authenticate with the FTP server.
    success = ftp.LoginAfterConnectOnly()
    if success != true {
        fmt.Println(ftp.LastErrorText())
        ftp.DisposeFtp2()
        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 {
        fmt.Println(ftp.LastErrorText())
        ftp.DisposeFtp2()
        return
    }

    // Download...
    pdfData := chilkat.NewBinData()
    success = ftp.GetFileBd("fishing.pdf",pdfData)
    if success != true {
        fmt.Println(ftp.LastErrorText())
        ftp.DisposeFtp2()
        pdfData.DisposeBinData()
        return
    }

    ftp.Disconnect()

    // Create an email object, and add the PDF as an attachment.
    email := chilkat.NewEmail()
    email.SetSubject("Test with PDF attachment.")
    email.SetBody("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 {
        fmt.Println(email.LastErrorText())
        ftp.DisposeFtp2()
        pdfData.DisposeBinData()
        email.DisposeEmail()
        return
    }

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

    fmt.Println("Success.")

    ftp.DisposeFtp2()
    pdfData.DisposeBinData()
    email.DisposeEmail()