Sample code for 30+ languages & platforms
Classic ASP

Add a Related Item from a BinData Object

See more Email Object Examples

Demonstrates the Chilkat Email.AddRelatedBd method, which adds a related item (such as an inline image) using the contents of a BinData object, and returns the generated Content-ID. This example loads an image into a BinData, adds it, captures the Content-ID, and references it from the HTML body.

Background: This is the binary, Content-ID-based way to embed an inline resource — the right choice for images, whose bytes belong in a BinData rather than a string. Because Chilkat generates the Content-ID, the usual pattern is: add the item first, capture the returned ID, then build the matching <img src="cid:..."> reference from it (done here with a StringBuilder).

Chilkat Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0

'  Demonstrates the AddRelatedBd method, which adds a related item (such as an inline image)
'  using the contents of a BinData object, and returns the generated Content-ID.

set email = Server.CreateObject("Chilkat.Email")
email.Subject = "Related image from BinData"

'  Load the image data from a file into a BinData object.
set bdImage = Server.CreateObject("Chilkat.BinData")
success = bdImage.LoadFile("qa_data/images/logo.png")
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( bdImage.LastErrorText) & "</pre>"
    Response.End
End If

'  Add the image as a related item; capture its generated Content-ID.
cid = email.AddRelatedBd("logo.png",bdImage)
If (email.LastMethodSuccess = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( email.LastErrorText) & "</pre>"
    Response.End
End If

'  Reference the related item in the HTML body by its Content-ID.
set sbHtml = Server.CreateObject("Chilkat.StringBuilder")
success = sbHtml.Append("<html><body><img src=""cid:PLACEHOLDER_CID""/></body></html>")
numReplaced = sbHtml.Replace("PLACEHOLDER_CID",cid)
email.SetHtmlBody sbHtml.GetAsString()

Response.Write "<pre>" & Server.HTMLEncode( "NumRelatedItems = " & email.NumRelatedItems) & "</pre>"

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

%>
</body>
</html>