Sample code for 30+ languages & platforms
PowerBuilder

Send HTML Email with Image to iPhone

Demonstrates how to compose an HTML email with an embedded image that will display correctly on an iPhone. This example produces an email that looks like this on the iPhone:

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Mailman
oleobject loo_Email
string ls_ContentIdStarfish
oleobject loo_SbHtml
integer li_NumReplacements

li_Success = 0

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

// The mailman object is used for sending and receiving email.
loo_Mailman = create oleobject
li_rc = loo_Mailman.ConnectToNewObject("Chilkat.MailMan")
if li_rc < 0 then
    destroy loo_Mailman
    MessageBox("Error","Connecting to COM object failed")
    return
end if

// Use your SMTP server hostname.  This example uses office365, but it could be any SMTP server..
loo_Mailman.SmtpHost = "outlook.office365.com"
loo_Mailman.SmtpPort = 587
loo_Mailman.StartTLS = 1

// Set the SMTP login/password
loo_Mailman.SmtpUsername = "OFFICE365-SMTP-LOGIN"
loo_Mailman.SmtpPassword = "OFFICE365-SMTP-PASSWORD"

// Create a new email object
loo_Email = create oleobject
li_rc = loo_Email.ConnectToNewObject("Chilkat.Email")

loo_Email.Subject = "Testing for Chilkat SMTP API..."
loo_Email.Body = "Testing for Chilkat SMTP API..."
loo_Email.From = "Chilkat Support <my-office365-user@mydomain.com>"
loo_Email.AddTo("Chilkat Support","support@chilkatsoft.com")

// For whatever reason, the iPhone's email program requires
// images in HTML to be referenced by Content-ID.  Therefore,
// we must add the image like this:
ls_ContentIdStarfish = loo_Email.AddRelatedFile("qa_data/jpg/starfish.jpg")
if loo_Email.LastMethodSuccess <> 1 then
    Write-Debug loo_Email.LastErrorText
    destroy loo_Mailman
    destroy loo_Email
    return
end if

// The src attribute for the image tag is set to the contentIdStarfish:
loo_SbHtml = create oleobject
li_rc = loo_SbHtml.ConnectToNewObject("Chilkat.StringBuilder")

loo_SbHtml.Append("<html><body><p>This is an HTML email with an embedded image.</p>")
loo_SbHtml.Append("<p><img src=~"cid:CONTENT_ID_STARFISH~" /></p></body></html>")
li_NumReplacements = loo_SbHtml.Replace("CONTENT_ID_STARFISH",ls_ContentIdStarfish)

loo_Email.SetHtmlBody(loo_SbHtml.GetAsString())

li_Success = loo_Mailman.SendEmail(loo_Email)
if li_Success <> 1 then
    Write-Debug loo_Mailman.LastErrorText
else
    Write-Debug "Mail Sent!"
end if



destroy loo_Mailman
destroy loo_Email
destroy loo_SbHtml