Sample code for 30+ languages & platforms
PureBasic

Check if a MIME Part is Plain Text

See more MIME Examples

Demonstrates the Chilkat Mime.IsPlainText method, which returns whether the Content-Type is exactly text/plain. It takes no arguments and applies to the current part.

Note: The file path is relative to the application's current working directory. Absolute paths may also be used. Supply the path to your own file.

Background: Inside a multipart/alternative, this is how you pick out the plain-text rendering — the fallback to show when HTML cannot be displayed, or the version to index for search. It is the specific counterpart to IsHtml.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkMime.pb"

Procedure ChilkatExample()

    success.i = 0

    ;  Demonstrates the Mime.IsPlainText method, which returns whether the Content-Type is text/plain.  It takes no arguments and applies to the current
    ;  part.  This example iterates the parts of a multipart message and reports which ones match.

    mime.i = CkMime::ckCreate()
    If mime.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkMime::ckLoadMimeFile(mime,"qa_data/multipart_message.eml")
    If success = 0
        Debug CkMime::ckLastErrorText(mime)
        CkMime::ckDispose(mime)
        ProcedureReturn
    EndIf

    n.i = CkMime::ckNumParts(mime)
    part.i = CkMime::ckCreate()
    If part.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    i.i
    For i = 0 To n - 1
        success = CkMime::ckPartAt(mime,i,part)
        If success = 0
            Debug CkMime::ckLastErrorText(mime)
            CkMime::ckDispose(mime)
            CkMime::ckDispose(part)
            ProcedureReturn
        EndIf

        If CkMime::ckIsPlainText(part)
            Debug "Part " + Str(i) + " (" + CkMime::ckContentType(part) + ") is plain text."
        EndIf

    Next


    CkMime::ckDispose(mime)
    CkMime::ckDispose(part)


    ProcedureReturn
EndProcedure