Sample code for 30+ languages & platforms
PowerBuilder

Count the Attached Messages in an Email

See more Email Object Examples

Demonstrates the read-only Chilkat Email.NumAttachedMessages property, which is the number of embedded emails represented by message/rfc822 MIME parts. These are counted separately from ordinary attachments and related items, and their indexes are zero-based. This example builds an inner email, attaches it to an outer email as a nested message, and prints the count.

Background: When you "forward as attachment," many mail clients embed the original message as a complete nested email rather than quoting its text. In MIME this appears as a message/rfc822 part — an entire email (its own headers and body) tucked inside the carrier message. Chilkat distinguishes three kinds of enclosed content: ordinary attachments (NumAttachments), inline related items (NumRelatedItems), and these nested messages (NumAttachedMessages). Use GetAttachedEmail to pull an embedded message into its own Email object.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_InnerEmail
oleobject loo_Email

li_Success = 0

//  Demonstrates the read-only Email.NumAttachedMessages property, which is the
//  number of embedded emails (message/rfc822 MIME parts) contained in the email.

//  Create an inner email that we'll attach as a complete nested message.
loo_InnerEmail = create oleobject
li_rc = loo_InnerEmail.ConnectToNewObject("Chilkat.Email")
if li_rc < 0 then
    destroy loo_InnerEmail
    MessageBox("Error","Connecting to COM object failed")
    return
end if
loo_InnerEmail.Subject = "I am an attached message"
loo_InnerEmail.Body = "This entire email is nested inside another email."
loo_InnerEmail.From = "alice@example.com"
loo_InnerEmail.AddTo("Bob","bob@example.com")

//  Create the outer email and attach the inner email directly as a
//  message/rfc822 part.  AttachEmail attaches a copy of the inner email.
loo_Email = create oleobject
li_rc = loo_Email.ConnectToNewObject("Chilkat.Email")

loo_Email.Subject = "Outer email with an attached message"
loo_Email.Body = "See the attached email."
li_Success = loo_Email.AttachEmail(loo_InnerEmail)

Write-Debug "NumAttachedMessages = " + string(loo_Email.NumAttachedMessages)



destroy loo_InnerEmail
destroy loo_Email