PowerBuilder
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
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