Sample code for 30+ languages & platforms
Perl

Send HTML Email with Image Downloaded from URL

Demonstrates how to compose an HTML email with an embedded image where the image data is downloaded from a URL.

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

# First download the image we'll be adding to the HTML "img" tag.
my $bdJpg = Chilkat2::BinData->new;
my $http = Chilkat2::Http->new;
my $success = $http->QuickGetBd('https://www.chilkatsoft.com/images/starfish.jpg', $bdJpg);
if (!$success) {
    print $http->LastErrorText, "\n";
    exit;
}

my $mailman = Chilkat2::MailMan->new;

# Use your SMTP server..
$mailman->SmtpHost('smtp.yourserver.com');
$mailman->SmtpPort(587);
$mailman->StartTLS(1);

# Set the SMTP login/password
$mailman->SmtpUsername('my_login');
$mailman->SmtpPassword('my_password');

# Create an HTML email.
my $email = Chilkat2::Email->new;
$email->Subject('HTML Email with Image');
$email->From('Dave <somebody@mydomain.com>');
$email->AddTo('Chilkat', 'info@chilkatsoft.com');

my $html = '<html><body><p>This is an HTML email with an embedded image.</p><p><img src="starfish.jpg" /></p></body></html>';
$email->SetHtmlBody($html);

# Note: The "starfish.jpg" here must match the name in the "img" tag's "src" attribute in the HTML above.
$success = $email->AddRelatedBd2($bdJpg, 'starfish.jpg');
if (!$success) {
    print $email->LastErrorText, "\n";
    exit;
}

$email->SaveEml('qa_output/out.eml');

# success = mailman.SendEmail(email);
# if (success == ckfalse) {
#     println mailman.LastErrorText;
#     return;
# }
#
# ignore = mailman.CloseSmtpConnection();

print "Success.\n";