Sample code for 30+ languages & platforms
Perl Requires Chilkat v9.5.0.63+

Add Email Attachment from FTP

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

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

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

my $ftp = Chilkat2::Ftp2->new;

$ftp->Hostname('www.my-ftp-server.com');
$ftp->Username('mFtpLogin');
$ftp->Password('myFtpPassword');

# Connect to the FTP server.
my $success = $ftp->ConnectOnly();
if (!$success) {
    print $ftp->LastErrorText, "\n";
    exit;
}

# Authenticate with the FTP server.
$success = $ftp->LoginAfterConnectOnly();
if (!$success) {
    print $ftp->LastErrorText, "\n";
    exit;
}

# Move to the remove directory where our file is located.
$success = $ftp->ChangeRemoteDir('qa_data');
if ($success) {
    $success = $ftp->ChangeRemoteDir('pdf');
}

if (!$success) {
    print $ftp->LastErrorText, "\n";
    exit;
}

# Download...
my $pdfData = Chilkat2::BinData->new;
$success = $ftp->GetFileBd('fishing.pdf', $pdfData);
if (!$success) {
    print $ftp->LastErrorText, "\n";
    exit;
}

$ftp->Disconnect();

# Create an email object, and add the PDF as an attachment.
my $email = Chilkat2::Email->new;
$email->Subject('Test with PDF attachment.');
$email->Body('This is a plain-text body..');

# Add the PDF attachment.
$success = $email->AddAttachmentBd('fishing.pdf', $pdfData, 'application/pdf');
if (!$success) {
    print $email->LastErrorText, "\n";
    exit;
}

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

print "Success.\n";