Sample code for 30+ languages & platforms
Android™

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 Android™ Downloads

Android™
// Important: Don't forget to include the call to System.loadLibrary
// as shown at the bottom of this code sample.
package com.test;

import android.app.Activity;
import com.chilkatsoft.*;

import android.widget.TextView;
import android.os.Bundle;

public class SimpleActivity extends Activity {

  private static final String TAG = "Chilkat";

  // Called when the activity is first created.
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //  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.

    CkEmail email = new CkEmail();
    email.put_Subject("Monthly invoice #4432");
    email.put_From("billing@example.com");

    //  Check whether the Subject header value matches a wildcard pattern (case-insensitive).
    boolean match = email.HasHeaderMatching("Subject","*invoice*",false);

    if (match == true) {
        Log.i(TAG, "The Subject header contains 'invoice'.");
        }
    else {
        Log.i(TAG, "The Subject header does not contain 'invoice'.");
        }


  }

  static {
      System.loadLibrary("chilkat");

      // Note: If the incorrect library name is passed to System.loadLibrary,
      // then you will see the following error message at application startup:
      //"The application <your-application-name> has stopped unexpectedly. Please try again."
  }
}