Sample code for 30+ languages & platforms
DataFlex

Test if an Email Header Matches a Pattern

See more Email Object Examples

Demonstrates the Chilkat Email.HasHeaderMatching method, which returns true when the email contains a header field named by the first argument whose value matches the wildcard pattern in the second argument. The third argument selects case-sensitive matching. This example checks whether the Subject contains the word "invoice".

Background: The value pattern supports wildcards — * matches any run of characters — so *invoice* matches any subject containing "invoice" anywhere. This is a compact way to classify or filter messages by header content, for example routing billing mail or flagging automated notices, without manually fetching the header value and testing it yourself.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoEmail
    Boolean iMatch

    //  Demonstrates the HasHeaderMatching method, which returns true when the email contains a
    //  header field named by the first argument whose value matches the wildcard pattern in the second argument.  The third argument selects
    //  case-sensitive matching.

    Get Create (RefClass(cComChilkatEmail)) To hoEmail
    If (Not(IsComObjectCreated(hoEmail))) Begin
        Send CreateComObject of hoEmail
    End
    Set ComSubject Of hoEmail To "Monthly invoice #4432"
    Set ComFrom Of hoEmail To "billing@example.com"

    //  Check whether the Subject header value matches a wildcard pattern (case-insensitive).
    Get ComHasHeaderMatching Of hoEmail "Subject" "*invoice*" False To iMatch

    If (iMatch = True) Begin
        Showln "The Subject header contains 'invoice'."
    End
    Else Begin
        Showln "The Subject header does not contain 'invoice'."
    End



End_Procedure