Sample code for 30+ languages & platforms
Lianja

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

Lianja
llSuccess = .F.

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

loFtp = createobject("CkFtp2")

loFtp.Hostname = "www.my-ftp-server.com"
loFtp.Username = "mFtpLogin"
loFtp.Password = "myFtpPassword"

// Connect to the FTP server.
llSuccess = loFtp.ConnectOnly()
if (llSuccess <> .T.) then
    ? loFtp.LastErrorText
    release loFtp
    return
endif

// Authenticate with the FTP server.
llSuccess = loFtp.LoginAfterConnectOnly()
if (llSuccess <> .T.) then
    ? loFtp.LastErrorText
    release loFtp
    return
endif

// Move to the remove directory where our file is located.
llSuccess = loFtp.ChangeRemoteDir("qa_data")
if (llSuccess = .T.) then
    llSuccess = loFtp.ChangeRemoteDir("pdf")
endif

if (llSuccess <> .T.) then
    ? loFtp.LastErrorText
    release loFtp
    return
endif

// Download...
loPdfData = createobject("CkBinData")
llSuccess = loFtp.GetFileBd("fishing.pdf",loPdfData)
if (llSuccess <> .T.) then
    ? loFtp.LastErrorText
    release loFtp
    release loPdfData
    return
endif

loFtp.Disconnect()

// Create an email object, and add the PDF as an attachment.
loEmail = createobject("CkEmail")
loEmail.Subject = "Test with PDF attachment."
loEmail.Body = "This is a plain-text body.."

// Add the PDF attachment.  (This method call requires Chilkat v9.5.0.63 or later)
llSuccess = loEmail.AddAttachmentBd("fishing.pdf",loPdfData,"application/pdf")
if (llSuccess <> .T.) then
    ? loEmail.LastErrorText
    release loFtp
    release loPdfData
    release loEmail
    return
endif

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

? "Success."


release loFtp
release loPdfData
release loEmail