Sample code for 30+ languages & platforms
Ruby

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

Ruby
require 'chilkat'

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.
bdJpg = Chilkat::CkBinData.new()
http = Chilkat::CkHttp.new()
success = http.QuickGetBd("https://www.chilkatsoft.com/images/starfish.jpg",bdJpg)
if (success == false)
    print http.lastErrorText() + "\n";
    exit
end

mailman = Chilkat::CkMailMan.new()

# Use your SMTP server..
mailman.put_SmtpHost("smtp.yourserver.com")
mailman.put_SmtpPort(587)
mailman.put_StartTLS(true)

# Set the SMTP login/password
mailman.put_SmtpUsername("my_login")
mailman.put_SmtpPassword("my_password")

# Create an HTML email.
email = Chilkat::CkEmail.new()
email.put_Subject("HTML Email with Image")
email.put_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.
success = email.AddRelatedBd2(bdJpg,"starfish.jpg")
if (success == false)
    print email.lastErrorText() + "\n";
    exit
end

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

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

print "Success." + "\n";