Sample code for 30+ languages & platforms
Swift

Add Header Field to MIME Sub-Header in Email

See more Email Object Examples

Demonstrates how to add a header field to one of the attachment sub-headers in an email.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    let email = CkoEmail()!

    email.subject = "test"
    email.add(to: "Chilkat", emailAddress: "support@chilkatsoft.com")
    email.from = "Matt <matt@example.com>"
    email.body = "This is a simple plain-text body."

    success = email.addFileAttachment2(path: "qa_data/1.HPM", contentType: "application/x-hprimnet")
    if success == false {
        print("\(email.lastErrorText!)")
        return
    }

    // Add a "ContentDescription: HPM/3.0" in the attachment's sub-header.
    // The 1st attachment is at index 0.
    email.addAttachmentHeader(index: 0, fieldName: "Content-Description", fieldValue: "HPM/3.0")

    // Show the email MIME:
    print("\(email.getMime()!)")

    // This is the output:

    // MIME-Version: 1.0
    // Date: Wed, 16 Jan 2019 10:05:18 -0600
    // Message-ID: <93B88835586270B7BE5202F84E171F29C10BA935@CHILKATSLICE>
    // Content-Type: multipart/mixed; boundary="------------000502000000020502010608"
    // X-Priority: 3 (Normal)
    // Subject: test
    // To: Chilkat <support@chilkatsoft.com>
    // From: Matt <matt@example.com>
    // 
    // --------------000502000000020502010608
    // Content-Type: text/plain; charset=us-ascii; format=flowed
    // Content-Transfer-Encoding: 7bit
    // 
    // This is a simple plain-text body.
    // --------------000502000000020502010608
    // Content-Type: application/x-hprimnet; name="1.HPM"
    // Content-Transfer-Encoding: base64
    // Content-Disposition: attachment; filename="1.HPM"
    // Content-Description: HPM/3.0
    // 
    // FILE_DATA_IS_HERE...
    // 
    // --------------000502000000020502010608--

}