Description

This function lists mail filters.

 For more information about Exim filters, read Exim's documentation.

Examples 




https://hostname.example.com:2087/cpsess##########/json-api/cpanel?cpanel_jsonapi_user=user&cpanel_jsonapi_apiversion=2&cpanel_jsonapi_module=Email&cpanel_jsonapi_func=filterlist&account=user@example.com



$cpanel = new CPANEL(); // Connect to cPanel - only do this once.
 
// List filters for user@example.com.
$filter_list = $cpanel->api2(
    'Email', 'filterlist', 
    array(
        'account'      => 'user@example.com',
    ) 
);



my $cpliveapi = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.
 
# List filters for user@example.com.
my $filter_list = $cpliveapi->api2(
    'Email', 'filterlist',
    { 
        'account'      => 'user@example.com',
    }
);




cpapi2 --user=username Email filterlist account=user%40example.com



{
  "cpanelresult": {
    "apiversion": 2,
    "func": "filterlist",
    "data": [
      {
        "actions": [
          {
            "dest": "/dev/null",
            "action": "save"
          }
        ],
        "filtername": "coffee",
        "unescaped": "1",
        "rules": [
          {
            "match": "is",
            "part": "$header_from:",
            "opt": "or",
            "val": "user@example.com"
          }
        ],
        "enabled": 1
      },
      {
        "filtername": "myfilter",
        "actions": [
          {
            "dest": "filteredmsgs@example.com",
            "action": "deliver"
          }
        ],
        "unescaped": 1,
        "rules": [
          {
            "match": "contains",
            "part": "$message_body",
            "opt": null,
            "val": "test"
          }
        ],
        "enabled": 1
      }
    ],
    "event": {
      "result": 1
    },
    "module": "Email"
  }
}



Parameters

ParameterTypeDescriptionPossible valuesExample
accountstring

The cPanel account name or email address, to limit results to that account's user-level filters.

If you do not use this parameter, the function returns account-level filters.

  • The cPanel username.
  • A user-level filter's email address.
user

Returns

ReturnTypeDescriptionPossible valuesExample
actionsarray of hashesAn array of hashes of the filter's actions.

Each hash includes the dest and action returns.

 

dest

string

The destination to which the filter sends mail.

The function returns this value in the actions array.

  • A file path.
  • An application path.
  • A valid email address.
filteredmsgs@example.com

action

string

The filter's action.

The function returns this value in the actions array.

  • deliver — The filter sends mail to the dest address.
  • fail — The filter forces a delivery failure.
  • finish — The filter stops message processing.
  • save — The filter saves mail to the dest file.
  • pipe — The filter sends mail to the dest application.
deliver
filternamestringThe filter name.A string value.coffee
unescapedBooleanA legacy Boolean value.
  • 1
  • 0
1
rulesarray of hashesAn array of hashes of the filter's rules.Each hash includes the match, part, opt, and val returns. 

match

string

The filter's match type.

The function returns this value in the rules array.

  • is
  • matches
  • contains
  • does not contain
  • begins
  • does not begin
  • ends
  • does not end
  • does not match
  • is above
  • is not above
  • is below
  • is not below
contains

part

string

The queried email section.

The function returns this value in the rules array.

  • $header_from: — Matches against the From: section.
  • $header_subject: — Matches against the Subject: section.
  • $header_to: — Matches against the To: section.
  • $reply_address: — Matches against the Reply To: section.
  • $message_body — Matches against the message's body.
  • $message_headers — Matches against the message's headers.
  • foranyaddress $h_to:,$h_cc:,$h_bcc: — Matches against all message recipients.
  • not delivered — Matches if the message is not queued for delivery.
  • error_message — Matches if the incoming message bounced.
$message_body

opt

string

The connection between multiple conditions.

The function returns this value in the rules array.

  • and — Match both conditions.
  • or — Match either condition.
  • null — Only one condition exists.
and

val

string

The matched value.

The function returns this value in the rules array.

A string value.coconut
enabledBooleanWhether the filter is currently enabled.
  • 1 — Enabled.
  • 0 — Disabled.
1
reasonstring

A reason for failure.

This function only returns a reason value if it failed. 


A string that describes the error.

This is an error message.
resultBoolean

Whether the function succeeded.

  • 1 — The function succeeded.
  • 0 — The function failed.
1