Sample code for 30+ languages & platforms
DataFlex

Set the Charset of an Attachment

See more Email Object Examples

Demonstrates the Chilkat Email.SetAttachmentCharset method, which sets the charset parameter of the Content-Type header field for the attachment at a given zero-based index. This example adds a text attachment and sets its charset to utf-8.

Background: For a text attachment, the charset parameter tells the receiving client which character encoding the bytes use, so accented or non-Latin text renders correctly. Setting it explicitly (typically utf-8) removes ambiguity when the attachment contains non-ASCII content — without it, a client may guess wrong and display garbled characters.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoEmail
    String sTemp1

    Move False To iSuccess

    //  Demonstrates the SetAttachmentCharset method, which sets the charset parameter of the
    //  Content-Type header field for the attachment at the given zero-based index.

    Get Create (RefClass(cComChilkatEmail)) To hoEmail
    If (Not(IsComObjectCreated(hoEmail))) Begin
        Send CreateComObject of hoEmail
    End
    Set ComSubject Of hoEmail To "Set attachment charset"

    Get ComAddStringAttachment Of hoEmail "notes.txt" "Some notes." To iSuccess

    //  Set the charset of the first attachment (index 0) to utf-8.
    Get ComSetAttachmentCharset Of hoEmail 0 "utf-8" To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoEmail To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    //  The attachment's Content-Type now includes charset="utf-8".
    Get ComGetMime Of hoEmail To sTemp1
    Showln sTemp1


End_Procedure