Sample code for 30+ languages & platforms
Lianja

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

Lianja
llSuccess = .F.

// 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.
loBdJpg = createobject("CkBinData")
loHttp = createobject("CkHttp")
llSuccess = loHttp.QuickGetBd("https://www.chilkatsoft.com/images/starfish.jpg",loBdJpg)
if (llSuccess = .F.) then
    ? loHttp.LastErrorText
    release loBdJpg
    release loHttp
    return
endif

loMailman = createobject("CkMailMan")

// Use your SMTP server..
loMailman.SmtpHost = "smtp.yourserver.com"
loMailman.SmtpPort = 587
loMailman.StartTLS = .T.

// Set the SMTP login/password
loMailman.SmtpUsername = "my_login"
loMailman.SmtpPassword = "my_password"

// Create an HTML email.
loEmail = createobject("CkEmail")
loEmail.Subject = "HTML Email with Image"
loEmail.From = "Dave <somebody@mydomain.com>"
loEmail.AddTo("Chilkat","info@chilkatsoft.com")

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

// Note: The "starfish.jpg" here must match the name in the "img" tag's "src" attribute in the HTML above.
llSuccess = loEmail.AddRelatedBd2(loBdJpg,"starfish.jpg")
if (llSuccess = .F.) then
    ? loEmail.LastErrorText
    release loBdJpg
    release loHttp
    release loMailman
    release loEmail
    return
endif

loEmail.SaveEml("qa_output/out.eml")

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

? "Success."


release loBdJpg
release loHttp
release loMailman
release loEmail