Sample code for 30+ languages & platforms
PHP

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

Chilkat2 PHP
<?php

use Chilkat2\BinData;
use Chilkat2\Email;
use Chilkat2\Http;
use Chilkat2\MailMan;

// 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.
$bdJpg = new BinData();
$http = new Http();
try {
    $http->QuickGetBd('https://www.chilkatsoft.com/images/starfish.jpg', $bdJpg);

    $mailman = new MailMan();

    // Use your SMTP server..
    $mailman->SmtpHost = 'smtp.yourserver.com';
    $mailman->SmtpPort = 587;
    $mailman->StartTLS = true;

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

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

    $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.
    $email->AddRelatedBd2($bdJpg, 'starfish.jpg');
} catch (\Chilkat2\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}

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

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

echo "Success.\n";