Sample code for 30+ languages & platforms
Go

Remove a Single Attached Message from an Email

See more Email Object Examples

Demonstrates the Chilkat Email.RemoveAttachedMessage method, which removes the Nth message/rfc822 sub-part (an attached email) from the message. Indexing begins at 0. This example attaches an email, removes it, and prints the attached-message count before and after.

Background: Attached messages (forwarded emails carried as message/rfc822 parts) are counted and indexed separately from ordinary file attachments and related items. RemoveAttachedMessage targets just one nested email by index — useful, for example, when trimming a bundled digest or stripping a forwarded original before re-sending.

Chilkat Go Downloads

Go
    success := false

    //  Demonstrates the RemoveAttachedMessage method, which removes the Nth message/rfc822
    //  sub-part (attached email) of the email.  The index is zero-based.

    //  Build an inner email and attach it to an outer email.
    innerEmail := chilkat.NewEmail()
    innerEmail.SetSubject("Embedded message")
    innerEmail.SetFrom("alice@example.com")

    email := chilkat.NewEmail()
    email.SetSubject("Has an attached message")
    success = email.AttachEmail(innerEmail)
    if success == false {
        fmt.Println(email.LastErrorText())
        innerEmail.DisposeEmail()
        email.DisposeEmail()
        return
    }

    fmt.Println("NumAttachedMessages before = ", email.NumAttachedMessages())

    //  Remove the first attached message (index 0).
    email.RemoveAttachedMessage(0)

    fmt.Println("NumAttachedMessages after = ", email.NumAttachedMessages())

    innerEmail.DisposeEmail()
    email.DisposeEmail()