Sample code for 30+ languages & platforms
Xojo Plugin

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 Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

// 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.
Dim bdJpg As New Chilkat.BinData
Dim http As New Chilkat.Http
success = http.QuickGetBd("https://www.chilkatsoft.com/images/starfish.jpg",bdJpg)
If (success = False) Then
    System.DebugLog(http.LastErrorText)
    Return
End If

Dim mailman As New Chilkat.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.
Dim email As New Chilkat.Email
email.Subject = "HTML Email with Image"
email.From = "Dave <somebody@mydomain.com>"
success = email.AddTo("Chilkat","info@chilkatsoft.com")

Dim html As String
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 = False) Then
    System.DebugLog(email.LastErrorText)
    Return
End If

success = email.SaveEml("qa_output/out.eml")

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

System.DebugLog("Success.")