DataFlex
DataFlex
Get a Header Attribute of an Attached Message
See more Email Object Examples
Demonstrates the Chilkat Email.GetAttachedMessageAttr method, which returns a header-field attribute value for the Nth attached (embedded) email. The first argument is the zero-based attached-message index, the second is the header field name, and the third is the attribute name. This example attaches an email and reads the filename attribute of its Content-Disposition header.
Background: MIME header fields can carry named attributes (parameters) after the main value — for example
Content-Disposition: attachment; filename="report.eml", where filename is an attribute. Rather than parsing the raw header yourself, this method extracts a single named attribute from a chosen header of a specific embedded message, which is convenient when a message forwards other emails as nested message/rfc822 parts.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Variant vInnerEmail
Handle hoInnerEmail
Handle hoEmail
String sFname
String sTemp1
Move False To iSuccess
// Demonstrates the GetAttachedMessageAttr method, which returns a header-field attribute
// value for the Nth attached (embedded) email. The first argument is the zero-based
// attached-message index, the second is the header field name, and the third is the attribute name.
// Build an inner email to attach.
Get Create (RefClass(cComChilkatEmail)) To hoInnerEmail
If (Not(IsComObjectCreated(hoInnerEmail))) Begin
Send CreateComObject of hoInnerEmail
End
Set ComSubject Of hoInnerEmail To "Embedded message"
Set ComFrom Of hoInnerEmail To "alice@example.com"
Get ComAddTo Of hoInnerEmail "Bob" "bob@example.com" To iSuccess
// Attach it to an outer email as a message/rfc822 part.
Get Create (RefClass(cComChilkatEmail)) To hoEmail
If (Not(IsComObjectCreated(hoEmail))) Begin
Send CreateComObject of hoEmail
End
Set ComSubject Of hoEmail To "Has an attached message"
Get pvComObject of hoInnerEmail to vInnerEmail
Get ComAttachEmail Of hoEmail vInnerEmail To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoEmail To sTemp1
Showln sTemp1
Procedure_Return
End
// Get the "filename" attribute of the "Content-Disposition" header of the first
// attached message (index 0).
Get ComGetAttachedMessageAttr Of hoEmail 0 "Content-Disposition" "filename" To sFname
Showln "Attached message filename attribute: " sFname
End_Procedure