Sample code for 30+ languages & platforms
PowerBuilder

Get the Content-Location of a Related Item

See more Email Object Examples

Demonstrates the Chilkat Email.GetRelatedContentLocation method, which returns the Content-Location of a related item (typically an image or style sheet embedded within an HTML email). The index is zero-based. This example loads an image from a file into a BinData object and adds it as a related item addressed by Content-Location using AddRelatedBd2, then reads it back.

Background: Content-Location is the alternative to Content-ID for linking HTML to its embedded resources. Instead of a cid: reference, the HTML keeps an ordinary-looking src="logo.png", and the matching part carries a Content-Location of logo.png. Since the image is binary, it is loaded into a BinData object and added with AddRelatedBd2. This approach is common when an existing web page is turned into an email, since the original relative URLs can stay unchanged.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Email
oleobject loo_BdImage
string ls_Loc

li_Success = 0

//  Demonstrates the GetRelatedContentLocation method, which returns the Content-Location of
//  a related item.  Related items are typically images and style sheets embedded within
//  HTML emails.  The index is zero-based.

loo_Email = create oleobject
li_rc = loo_Email.ConnectToNewObject("Chilkat.Email")
if li_rc < 0 then
    destroy loo_Email
    MessageBox("Error","Connecting to COM object failed")
    return
end if
loo_Email.Subject = "GetRelatedContentLocation example"

//  The HTML references the image by the same name used as the Content-Location.
loo_Email.SetHtmlBody("<html><body><img src=~"logo.png~"/></body></html>")

//  Load the image data from a file into a BinData object.
loo_BdImage = create oleobject
li_rc = loo_BdImage.ConnectToNewObject("Chilkat.BinData")

li_Success = loo_BdImage.LoadFile("qa_data/images/logo.png")
if li_Success = 0 then
    Write-Debug loo_BdImage.LastErrorText
    destroy loo_Email
    destroy loo_BdImage
    return
end if

//  Add the image as a related item addressed by Content-Location "logo.png".
li_Success = loo_Email.AddRelatedBd2(loo_BdImage,"logo.png")
if li_Success = 0 then
    Write-Debug loo_Email.LastErrorText
    destroy loo_Email
    destroy loo_BdImage
    return
end if

//  Read the Content-Location of the first related item (index 0).
ls_Loc = loo_Email.GetRelatedContentLocation(0)
Write-Debug "Related item 0 Content-Location: " + ls_Loc

//  Note: The path "qa_data/images/logo.png" is a relative local filesystem path,
//  relative to the current working directory of the running application.


destroy loo_Email
destroy loo_BdImage