Sample code for 30+ languages & platforms
PowerBuilder

Convert a MIME Entity to multipart/mixed

See more MIME Examples

Demonstrates the Chilkat Mime.ConvertToMultipartMixed method, which wraps the current entity in a new outer multipart/mixed, making the original the first child. It takes no arguments.

Note: The file paths are relative to the application's current working directory. Absolute paths may also be used. Supply the paths appropriate to your own environment.

Background: This is how you turn an existing single-part message into one that can hold attachments — rather than rebuilding it, you wrap it, and its content becomes the first child of a new multipart/mixed. Message-level and custom headers are carried onto the new outer entity so the message identity is preserved. Afterward, AppendPartFromFile adds attachments beside the original body.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Mime

li_Success = 0

loo_Mime = create oleobject
li_rc = loo_Mime.ConnectToNewObject("Chilkat.Mime")
if li_rc < 0 then
    destroy loo_Mime
    MessageBox("Error","Connecting to COM object failed")
    return
end if
li_Success = loo_Mime.LoadMimeFile("qa_data/message.eml")
if li_Success = 0 then
    Write-Debug loo_Mime.LastErrorText
    destroy loo_Mime
    return
end if

//  Wrap the current entity in a new outer multipart/mixed entity.  The original entity becomes the
//  first child, which is what you do to add attachments to an existing single-part message.
li_Success = loo_Mime.ConvertToMultipartMixed()
if li_Success = 0 then
    Write-Debug loo_Mime.LastErrorText
    destroy loo_Mime
    return
end if

//  Now attachments can be appended alongside the original content.
li_Success = loo_Mime.AppendPartFromFile("qa_data/report.pdf")
if li_Success = 0 then
    Write-Debug loo_Mime.LastErrorText
    destroy loo_Mime
    return
end if

Write-Debug "Number of parts: " + string(loo_Mime.NumParts)


destroy loo_Mime