Child pages
  • cPanel API 2 Functions - Email::filterlist
Skip to end of metadata
Go to start of metadata

Description

This function lists mail filters. For more information about Exim filters, read Exim's documentation.


Warning:

We strongly recommend that you use UAPI instead of cPanel API 2. However, no equivalent UAPI function exists.

Important:

In cPanel & WHM version 76 and later, when you disable the MailReceive role, the system disables this function. For more information, read our How to Use Server Profiles documentation.

Examples 


 WHM API (JSON)
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


Note:

 For more information, read our Calls from the WHM API documentation.

 LiveAPI PHP Class
$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',
    ) 
);


Note:

For more information, read our Guide to the LiveAPI System.

 LiveAPI Perl Module
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',
    }
);


Note:

For more information, read our Guide to the LiveAPI System.

 cPanel Tag System (deprecated)


Warnings:

  • In cPanel & WHM version 11.30 and later, cPanel tags are deprecated. We strongly recommend that you only use the LiveAPI system to call the cPanel APIs. Examples are only present in order to help developers move from the old cPanel tag system to our LiveAPI.
  • cPanel API 2 calls that use cPanel tags vary in code syntax and in their output.
  • For more information, read our Deprecated cPanel Tag Usage documentation.

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


Notes:

  • You must URI-encode values.
  • username represents your account-level username.
  • You must run the --user=username command.
  • For more information and additional output options, read our Guide to cPanel API 2 documentation or run the cpapi2 --help command.
  • If you run CloudLinux™, you must use the full path of the cpapi2 command:

    /usr/local/cpanel/bin/cpapi2

 Output (JSON)
{
  "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"
  }
}


Note:

Use cPanel's API Shell interface (cPanel >> Home >> Advanced >> API Shell) to directly test cPanel API calls.

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.

Note:

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